/* ========== PROGRAMME ========== */
.gp-intro{ padding-bottom:0 !important; }
.gp-day{ padding:clamp(24px,3vw,44px) 0 !important; }
.gp-day-title{ color:var(--c) !important; text-transform:uppercase; font-size:clamp(1.6rem,2.4vw,2.1rem) !important; margin-bottom:1.4rem !important; }

/* Timeline */
.gp-timeline{ position:relative; }
.gp-row{ display:grid; grid-template-columns:120px 28px 1fr; align-items:center; gap:1rem;
  padding:1.1rem 1.3rem; border:1px solid var(--g-stroke-2); border-radius:var(--g-radius);
  background:linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  margin-bottom:.7rem; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.gp-row:hover{ transform:translateX(4px); border-color:color-mix(in oklab,var(--c) 40%,transparent);
  box-shadow:-6px 0 24px color-mix(in oklab,var(--c) 25%,transparent); }
.gp-time{ font-weight:800; font-size:1.5rem; color:var(--c); }
.gp-dot{ width:16px; height:16px; border-radius:50%; background:var(--c); box-shadow:0 0 16px var(--c); justify-self:center; }
.gp-body{ display:flex; flex-direction:column; gap:.2rem; }
.gp-body strong{ font-size:1.4rem; color:var(--g-titre,#F2EFE9); }
.gp-detail{ color:var(--g-muted); font-weight:500; }
.gp-place{ color:var(--g-muted); font-size:1.15rem; }

/* Espaces continus */
.gp-continu-card{ display:flex; gap:1.5rem; align-items:flex-start;
  background:linear-gradient(160deg, rgba(43,157,103,.10), rgba(255,255,255,.01)) !important;
  border:1px solid color-mix(in oklab,var(--g-vert) 30%,transparent) !important; }
.gp-ic{ flex:none; width:64px; height:64px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:16px; color:var(--g-vert); background:rgba(43,157,103,.15); box-shadow:0 0 24px rgba(43,157,103,.35); }
.gp-ic svg{ width:34px; height:34px; }
.gp-continu-card h3{ color:var(--g-vert); font-size:1.6rem; margin:0 0 .5rem; }
.gp-continu-card p{ font-size:1.25rem; }

@media (max-width:720px){
  .gp-row{ grid-template-columns:80px 20px 1fr; gap:.6rem; padding:.9rem 1rem; }
  .gp-time{ font-size:1.2rem; } .gp-body strong{ font-size:1.2rem; }
  .gp-continu-card{ flex-direction:column; }
}

/* ===== LIGNES PROGRAMME — INTERACTIF FUTURISTE ===== */
.gp-row{ position:relative; overflow:hidden; transform-style:preserve-3d; }
.gp-row::before{ content:""; position:absolute; width:260px; height:260px; 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) 22%,transparent), transparent 70%);
  opacity:0; transition:opacity .3s; z-index:0; }
.gp-row:hover::before{ opacity:1; }
.gp-row > *{ position:relative; z-index:1; }
.gp-row:hover .gp-dot{ transform:scale(1.4); box-shadow:0 0 24px var(--c); }
.gp-dot{ transition:transform .3s, box-shadow .3s; }
.gp-row::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:0; z-index:2;
  background:var(--c); box-shadow:0 0 14px var(--c); transition:width .35s ease; }
.gp-row:hover::after{ width:4px; }
