/* ========== EXPOSANTS ========== */
/* Univers pastilles */
.ge-univers{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; }
.ge-tag{ display:inline-flex; align-items:center; gap:.7rem; padding:.8rem 1.4rem; border-radius:999px; font-size:1.25rem; font-weight:600;
  background:rgba(255,255,255,.04); border:1px solid var(--g-stroke-2); transition:transform .2s, border-color .2s, box-shadow .2s; }
.ge-tag:hover{ transform:translateY(-3px); border-color:var(--c); box-shadow:0 0 20px color-mix(in oklab,var(--c) 30%,transparent); }
.ge-dot{ width:14px; height:14px; border-radius:50%; background:var(--c); box-shadow:0 0 12px var(--c); }

/* Familles */
.ge-familles{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:1.5rem; }
.ge-famille{ text-align:center; position:relative; overflow:hidden; transition:transform .25s, border-color .25s;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01)) !important; }
.ge-famille:hover{ transform:translateY(-5px); border-color:var(--c) !important; box-shadow:0 16px 40px color-mix(in oklab,var(--c) 22%,transparent); }
.ge-famille::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--c); transform:scaleX(0); transition:transform .3s; }
.ge-famille:hover::before{ transform:scaleX(1); }
.ge-ic{ display:inline-flex; width:66px; height:66px; align-items:center; justify-content:center; border-radius:18px; margin-bottom:1rem;
  color:var(--c); background:color-mix(in oklab,var(--c) 15%,transparent); border:1px solid color-mix(in oklab,var(--c) 35%,transparent);
  box-shadow:0 0 24px color-mix(in oklab,var(--c) 28%,transparent); }
.ge-ic svg{ width:34px; height:34px; }
.ge-famille h3{ color:var(--c); font-size:1.4rem; margin:0; }

/* Présence 3 jours */
.ge-jours{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:1.5rem; }
.ge-jour{ position:relative; padding-left:2rem !important; }
.ge-jour-bar{ position:absolute; left:0; top:0; width:5px; height:100%; background:var(--c); border-radius:0 3px 3px 0; box-shadow:0 0 14px var(--c); }
.ge-jour h3{ color:var(--c); font-size:1.5rem; margin:0 0 .6rem; } .ge-jour p{ font-size:1.2rem; color:var(--g-muted); }

/* Fiches */
.ge-fiches{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:1.5rem; }
.ge-fiche{ position:relative; }
.ge-fiche-cat{ display:inline-block; padding:.35rem 1rem; border-radius:999px; font-size:1rem; font-weight:700; color:#0B0D0E; background:var(--c); margin-bottom:1rem; }
.ge-fiche-photo{ aspect-ratio:16/10; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:1rem;
  background:radial-gradient(circle at 50% 40%, color-mix(in oklab,var(--c) 14%,transparent), rgba(255,255,255,.02)); border:1px dashed var(--g-stroke); }
.ge-fiche-photo span{ font-size:2.4rem; color:var(--c); opacity:.5; }
.ge-fiche h3{ font-size:1.5rem; margin:0 0 .2rem; color:var(--g-titre,#F2EFE9); }
.ge-fiche-act{ color:var(--c); font-weight:600; font-size:1.15rem; }
.ge-fiche p{ font-size:1.15rem; color:var(--g-muted); margin:.6rem 0; }
.ge-fiche-meta{ padding-top:.8rem; border-top:1px solid var(--g-stroke-2); font-size:1.05rem; color:var(--g-text); }

@media (max-width:980px){ .ge-familles{ grid-template-columns:repeat(2,1fr); } .ge-jours,.ge-fiches{ grid-template-columns:1fr; } }

/* Soulignement coloré sous les familles (maquette) */
.ge-famille{ padding-bottom:2.2rem !important; }
.ge-underline{ display:block; width:40px; height:3px; background:var(--c); border-radius:2px; margin:.8rem auto 0; box-shadow:0 0 12px var(--c); }
.ge-ic svg{ width:38px; height:38px; }
.ge-ic{ background:transparent !important; border:0 !important; box-shadow:none !important; width:auto; height:64px; margin-bottom:.8rem; }
.ge-famille h3{ font-size:1.5rem; }

/* Soulignement coloré sous les familles (maquette) */
.ge-famille{ padding-bottom:2.2rem !important; }
.ge-underline{ display:block; width:40px; height:3px; background:var(--c); border-radius:2px; margin:.8rem auto 0; box-shadow:0 0 12px var(--c); }
.ge-ic svg{ width:38px; height:38px; }
.ge-ic{ background:transparent !important; border:0 !important; box-shadow:none !important; width:auto; height:64px; margin-bottom:.8rem; }
.ge-famille h3{ font-size:1.5rem; }

/* Icône calendrier dans les cartes "3 jours" (maquette) */
.ge-jour-ic{ display:inline-flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:12px;
  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 18px color-mix(in oklab,var(--c) 25%,transparent); margin-bottom:.9rem; }
.ge-jour-ic svg{ width:26px; height:26px; }
.ge-jour h3{ display:block; }

/* ===== ICÔNES FAMILLES — grandes et centrées (conforme maquette) ===== */
.ge-famille{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  padding:2.6rem 1.4rem 2.4rem !important; min-height:230px; }
.ge-ic{ display:flex !important; align-items:center; justify-content:center; width:auto; height:auto; margin:0 0 1.2rem !important; }
.ge-ic svg{ width:72px !important; height:72px !important; stroke-width:1.5 !important; }
.ge-famille h3{ font-size:1.6rem; margin:0; }
.ge-underline{ margin:.9rem auto 0; }

/* ===== INTRO 2 COLONNES (intro gauche + univers droite) ===== */
.ge-top{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,60px); align-items:center; }
.ge-univers-panel{ padding:2rem !important; }
.ge-univers-title{ font-size:1.7rem; margin:0 0 1.4rem; color:var(--g-titre,#F2EFE9); }
.ge-univers-panel .ge-univers{ display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; margin-top:0; }
.ge-univers-panel .ge-tag{ font-size:1.1rem; padding:.7rem 1rem; justify-content:flex-start; }
@media (max-width:1024px){ .ge-top{ grid-template-columns:1fr; } .ge-univers-panel .ge-univers{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ge-univers-panel .ge-univers{ grid-template-columns:1fr; } }

/* ===== CARTES 3 JOURS — icône à gauche, texte à droite (maquette) ===== */
.ge-jour{ display:flex; align-items:flex-start; gap:1.3rem; padding-left:2rem !important; }
.ge-jour-ic{ flex:none; width:64px !important; height:64px !important; margin-bottom:0 !important; }
.ge-jour-ic svg{ width:38px !important; height:38px !important; }
.ge-jour-txt{ flex:1; }
.ge-jour-txt h3{ color:var(--c); font-size:1.5rem; margin:0 0 .5rem; }
.ge-jour-txt p{ font-size:1.2rem; color:var(--g-muted); margin:0; }
@media (max-width:560px){ .ge-jour{ flex-direction:column; } }
