/* ========== LÉKÒL GAYAR (pixel maquette) ========== */
/* Titres h2 avec barre verticale verte à gauche */
.gl-h2{ position:relative; padding-left:1.1rem; }
.gl-h2::before{ content:""; position:absolute; left:0; top:.12em; bottom:.12em; width:5px; border-radius:3px; background:var(--g-vert); box-shadow:0 0 12px rgba(43,157,103,.5); }
.gl-h2::after{ display:none !important; }

.gl-intro-grid,.gl-two{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,4vw,56px); align-items:start; }
.gl-two{ grid-template-columns:1fr 1fr; }

/* Encadré repères : icône + chiffre + libellé par ligne */
.gl-keys ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.gl-keys li{ display:flex; align-items:center; gap:1.1rem; padding:1.1rem 0; border-bottom:1px solid var(--g-stroke-2); }
.gl-keys li:last-child{ border:0; }
.gl-key-ic{ flex:none; width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; color:var(--c); }
.gl-key-ic svg{ width:34px; height:34px; }
.gl-keys strong{ font-size:2rem; color:var(--g-titre,#F2EFE9); }
.gl-keys em{ font-style:normal; color:var(--g-muted); font-size:1.15rem; }
.gl-key-place{ font-size:1.5rem !important; }

/* Publics */
.gl-publics{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:1.4rem; }
.gl-public{ display:flex; gap:1.4rem; align-items:flex-start; }
.gl-ic{ flex:none; width:64px; height:64px; display:inline-flex; align-items:center; justify-content:center; border-radius:16px; color:var(--c);
  background:color-mix(in oklab,var(--c) 14%,transparent); border:1px solid color-mix(in oklab,var(--c) 30%,transparent); box-shadow:0 0 20px color-mix(in oklab,var(--c) 25%,transparent); }
.gl-ic svg{ width:34px; height:34px; }
.gl-num{ display:block; font-size:2.6rem; color:var(--g-titre,#F2EFE9); font-weight:800; line-height:1; }
.gl-num span{ font-size:1.3rem; color:var(--g-muted); font-weight:400; }
.gl-public h3{ color:var(--c); font-size:1.4rem; margin:.4rem 0 .6rem; }
.gl-public p{ font-size:1.2rem; color:var(--g-muted); }

/* Ateliers */
.gl-ateliers{ display:grid; grid-template-columns:repeat(8,1fr); gap:16px; margin-top:1.4rem; }
.gl-atelier{ display:flex; flex-direction:column; align-items:center; gap:.6rem; padding:1.2rem .6rem; border:1px solid var(--g-stroke-2); border-radius:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01)); transition:transform .2s, border-color .2s; }
.gl-atelier:hover{ transform:translateY(-4px); border-color:var(--c); box-shadow:0 0 20px color-mix(in oklab,var(--c) 25%,transparent); }
.gl-atelier-ic{ color:var(--c); } .gl-atelier-ic svg{ width:36px; height:36px; }
.gl-atelier-lb{ font-size:1.1rem; text-align:center; }
.gl-mt{ margin-top:1.4rem; }

/* Parcours avec pointillés */
.gl-parcours{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:0 12px; margin-top:1.4rem; }
.gl-step{ text-align:center; } 
.gl-step-num{ display:inline-flex; width:46px; height:46px; align-items:center; justify-content:center; border-radius:50%; background:var(--c); color:#0B0D0E; font-weight:800; font-size:1.4rem; box-shadow:0 0 20px var(--c); margin-bottom:.8rem; }
.gl-step h3{ color:var(--c); font-size:1.3rem; margin:0 0 .5rem; text-transform:uppercase; } .gl-step p{ font-size:1.1rem; color:var(--g-muted); }
.gl-step-link{ width:100%; min-width:30px; height:2px; background:repeating-linear-gradient(90deg,var(--g-stroke) 0 6px,transparent 6px 12px); align-self:center; }

/* Alliance + cadre */
.gl-alliance-ic{ display:inline-flex; color:var(--g-turq-2); margin-top:1rem; } .gl-alliance-ic svg{ width:80px; height:80px; }
.gl-cadre{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.gl-cadre li{ display:flex; gap:1rem; align-items:center; padding:1.1rem 0 1.1rem 1.1rem; border-bottom:1px solid var(--g-stroke-2); position:relative; font-size:1.2rem; }
.gl-cadre li::before{ content:""; position:absolute; left:0; top:.9rem; bottom:.9rem; width:4px; border-radius:2px; background:var(--c); }
.gl-cadre li:last-child{ border:0; }
.gl-cadre-ic{ flex:none; color:var(--c); } .gl-cadre-ic svg{ width:30px; height:30px; }

/* Bloc final */
.gl-closing-card{ display:flex; gap:1.6rem; align-items:center; --c:var(--g-turq-2);
  background:linear-gradient(160deg,color-mix(in oklab,var(--g-turq-2) 12%,transparent),rgba(255,255,255,.01)) !important; border:1px solid color-mix(in oklab,var(--g-turq-2) 30%,transparent) !important; }
.gl-closing-card .gl-ic{ width:80px; height:80px; } .gl-closing-card .gl-ic svg{ width:44px; height:44px; }
.gl-closing-card h3{ color:var(--g-turq-2); font-size:1.7rem; margin:0 0 .5rem; text-transform:uppercase; } .gl-closing-card p{ font-size:1.25rem; }

@media (max-width:980px){ .gl-intro-grid,.gl-two,.gl-publics{ grid-template-columns:1fr; } .gl-ateliers{ grid-template-columns:repeat(4,1fr); } .gl-parcours{ grid-template-columns:1fr; gap:1rem; } .gl-step-link{ display:none; } }
@media (max-width:560px){ .gl-ateliers{ grid-template-columns:repeat(2,1fr); } .gl-public,.gl-closing-card{ flex-direction:column; } }

/* ===== HALO INTERACTIF — blocs Lékòl ===== */
.gl-atelier, .gl-public, .gl-step, .gl-cadre li{ position:relative; overflow:hidden; }
.gl-atelier::after, .gl-public::after, .gl-step::after{ content:""; position:absolute; width:220px; height:220px; border-radius:50%; pointer-events:none;
  left:var(--mx,50%); top:var(--my,50%); transform:translate(-50%,-50%);
  background:radial-gradient(circle, color-mix(in oklab,var(--c) 20%,transparent), transparent 70%);
  opacity:0; transition:opacity .3s; z-index:0; }
.gl-atelier:hover::after, .gl-public:hover::after, .gl-step:hover::after{ opacity:1; }
.gl-atelier > *, .gl-public > *, .gl-step > *{ position:relative; z-index:1; }

/* Ateliers : icône qui s'illumine au survol */
.gl-atelier:hover .gl-atelier-ic{ transform:scale(1.15); filter:drop-shadow(0 0 10px var(--c)); }
.gl-atelier-ic{ transition:transform .3s, filter .3s; }

/* Étapes parcours : pastille numéro qui pulse au survol */
.gl-step:hover .gl-step-num{ transform:scale(1.12); box-shadow:0 0 28px var(--c); }
.gl-step-num{ transition:transform .3s, box-shadow .3s; }

/* Cadre académique : ligne qui s'illumine au survol */
.gl-cadre li{ transition:background .25s, transform .25s; }
.gl-cadre li:hover{ background:color-mix(in oklab,var(--c) 6%,transparent); transform:translateX(4px); }
.gl-cadre li:hover .gl-cadre-ic{ filter:drop-shadow(0 0 8px var(--c)); }
.gl-cadre-ic{ transition:filter .3s; }

/* Publics : icône encadrée qui s'illumine */
.gl-public:hover .gl-ic{ box-shadow:0 0 30px color-mix(in oklab,var(--c) 40%,transparent); }
.gl-ic{ transition:box-shadow .3s; }
