/* ==============================
   ZRTST — STYLES CONSOLIDÉS
   Build horodaté : 2025-09-04 21:45
   ============================== */

/* ---------- Variables par défaut (globales) ---------- */
:root{
  /* Dimensions */
  --header: 72px;
  --max: 1200px;
  --g: 16px;

  /* Couleurs de base */
  --bg-color: #141416;       /* fond “site” */
  --ink: #F3EBDD;            /* texte principal clair */
  --ink-dark: #1D1A16;       /* texte sombre sur boutons clairs */
  --muted: #C9B99A;          /* texte secondaire */
  --gold: #C8A44D;           /* doré thème */
  --h2-color: var(--ink);    /* titre h2 par défaut */

  /* Effets */
  --bg-noise-strength: .06;

  /* Logos / titres image (si utilisés) */
  --title-logo-max-w: 560px;
  --title-logo-max-h: 150px;
}

/* ---------- Variables ---------- */
 
*{box-sizing:border-box}
html,body{height:100%}
html{ background:#0e0e10 }

body{
  margin:0; color:var(--ink); line-height:1.6; padding-top:var(--header);
  font-family:Lato, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  background: var(--bg-color);
  background-image:
    radial-gradient(200px 200px at 20% 10%, rgba(255,255,255, calc(var(--bg-noise-strength) + .01)), transparent 65%),
    radial-gradient(180px 180px at 80% 90%, rgba(255,255,255, var(--bg-noise-strength)), transparent 65%),
    radial-gradient(ellipse at 10% 0%, rgba(255,255,255, .02), transparent 50%),
    radial-gradient(ellipse at 90% 100%, rgba(255,255,255, .02), transparent 50%);
  background-blend-mode: soft-light;
}

h1,h2,h3{font-family:"Playfair Display", serif; line-height:1.2; margin:0 0 .5em}
h1{font-size:clamp(50px,8vw,104px)}
h2{font-size:clamp(28px,3vw,40px); color:var(--h2-color)}
h3{font-size:clamp(22px,2.2vw,28px)}
p{margin:.6em 0 1em; color:var(--muted)}
a{color:inherit; text-decoration:none}
.container{max-width:var(--max); margin:0 auto; padding:0 20px}

/* ---------- Header & Brand ---------- */
.site-header{
  position:fixed; inset:0 0 auto 0; height:var(--header); z-index:1000;
  background:rgba(15,15,16,.8); backdrop-filter:saturate(120%) blur(6px);
  border-bottom:1px solid rgba(201,168,106,.25);
}
.header-inner{height:100%; display:flex; align-items:center; justify-content:space-between}
.brand{
  position:relative; display:inline-flex; align-items:center; gap:10px; font-weight:900;
  font-family:"Playfair Display", serif; letter-spacing:.5px; color:var(--ink);
  isolation:isolate;
}
.brand-text{ position:relative; transition: filter .3s ease, transform .2s ease; text-shadow: 0 2px 12px rgba(0,0,0,.35) }
.brand-img{ display:none; height:42px; width:auto; filter: drop-shadow(0 6px 18px rgba(0,0,0,.35)) }

/* Hover “dorure + balayage” */
.brand::after{
  content:""; position:absolute; left:-8%; top:50%; transform:translateY(-50%) skewX(-18deg);
  width:0; height:140%; z-index:-1;
  background: linear-gradient(90deg, transparent 0%, rgba(255,215,160,.35) 40%, rgba(255,255,255,.9) 50%, rgba(255,215,160,.35) 60%, transparent 100%);
  opacity:0; transition: width .55s ease, opacity .4s ease; filter: blur(4px);
}
.brand:hover .brand-text{ filter: drop-shadow(0 0 12px rgba(201,168,106,.55)); transform: translateY(-1px) }
.brand:hover::after{ width:140%; opacity:1 }

/* Nav + indicateur actif */
.main-nav a{margin-left:20px; position:relative}
.main-nav a.active::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%) rotate(45deg);
  bottom:-10px; width:8px; height:8px; background:var(--gold); border-radius:2px; box-shadow:0 0 8px rgba(201,168,106,.6);
}
.spotlight{
  position:relative; background: linear-gradient(90deg, transparent, currentColor, transparent) 0 100%/0% 1px no-repeat;
  transition: background-size .45s ease, color .25s ease, text-shadow .25s ease;
}
.spotlight:hover{ color:var(--gold); text-shadow:0 0 10px rgba(201,168,106,.45); background-size:100% 1px }

/* ---------- Boutons ---------- */
.btn{display:inline-block; padding:.7em 1.1em; border:1px solid transparent; border-radius:999px; font-weight:700; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease }
.btn-outline{border-color:var(--gold); color:var(--ink)}
.btn-outline:hover{background:rgba(201,168,106,.1); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.35)}
.btn-gold{background:var(--gold); color:var(--ink-dark)}
.btn-gold:hover{filter:brightness(1.05); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.35)}
.btn-ghost{border-color:rgba(255,255,255,.35); color:var(--ink)}
.btn-ghost:hover{background:rgba(255,255,255,.08); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.35)}

/* ---------- HERO ---------- */
.hero-wrap{ position: relative; height: calc(100vh - var(--header)); margin:0; padding:0; z-index:1; }
.hero-fixed{
  position: fixed; left:0; right:0; top:var(--header);
  height: calc(100vh - var(--header)); z-index:0; pointer-events:none;
}
.slideshow{ position:absolute; inset:0 }
.slideshow img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform:scale(1.08);
  transition:opacity 1400ms ease, transform 9000ms ease;
  filter:contrast(1.06) saturate(1.06) brightness(.96);
}
.slideshow img.is-active{ opacity:1; transform:scale(1) }
.hero-fixed::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(110% 80% at 50% 20%, transparent 0 55%, rgba(0,0,0,.45) 70%, rgba(0,0,0,.72) 100%),
             linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 40%);
}
html.after-hero .hero-fixed{ opacity:0; transition: opacity .3s ease }

/* Contenu overlay */
.hero-content{
  position: relative; height: 100%;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  padding: 8vh 6vw 6vh; text-align:center; z-index:2;
}
.hero-content .eyebrow{ letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:.2em }

/* Titre 3D */
.title-3d{
  font-size:clamp(58px,7.6vw,112px);
  letter-spacing:.02em;
  text-shadow:
    0 1px 0 rgba(0,0,0,.25),
    0 8px 18px rgba(0,0,0,.45),
    0 0 24px rgba(201,168,106,.25);
}
.title-extrude{
  background: linear-gradient(180deg, #fff, #f0e9db 55%, #c9a86a 56%, #a78452 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,.35));
}
.title-emph{ position:relative }
.title-emph::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  bottom:-10px; width:42%; height:2px; border-radius:2px;
  background: radial-gradient(14px 6px at 0 50%, rgba(255,220,160,.9), transparent 70%),
              linear-gradient(90deg, transparent, rgba(255,220,160,.8), transparent);
  box-shadow:0 0 18px rgba(201,168,106,.55);
  opacity:.9;
}

/* Option logo image à la place du H1 */
.title-logo{ display:none; max-width:var(--title-logo-max-w); max-height:var(--title-logo-max-h); width:100%; height:auto; filter: drop-shadow(0 10px 28px rgba(0,0,0,.45)) }
body.use-title-image .title-3d{ display:none }
body.use-title-image .title-logo{ display:inline-block }

.hero-content .lead{ max-width:820px; margin:6px auto 18px }
.hero-cta .btn{ margin:0 8px }

/* Cartes verre (hero) */
.hero-content .hero-cards{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom: clamp(24px, 10vh, 96px);
  display:flex; gap:16px; flex-wrap:wrap; justify-content:center; padding:0 20px; z-index:3;
}
.glass-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:240px; padding:.9em 1.05em;
  border:1px solid rgba(201,168,106,.8); border-radius:12px;
  background: rgba(20,20,24,.75);
  background-image: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  box-shadow:0 18px 46px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
  color:var(--ink); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, filter .2s ease; cursor:pointer;
}
@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))){
  .glass-card{ -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px) }
}
.glass-card:hover{
  transform:translateY(-3px) scale(1.01);
  box-shadow:0 26px 62px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08);
  border-color:#e8c888; filter:saturate(1.08);
}

/* Décor + cue */
.hero-content .divider.deco{ margin-top:16px; color:var(--gold); opacity:.9; position:relative; z-index:4 }
.scroll-cue{
  position:absolute; left:50%; bottom:18px; transform:translateX(-50%);
  font-size:.85rem; color:var(--muted); opacity:.9; display:grid; place-items:center; gap:6px; pointer-events:none; z-index:4;
}
.scroll-cue::before{ content:""; width:18px; height:26px; border:1px solid rgba(255,255,255,.65); border-radius:12px; position:relative }
.scroll-cue::after{ content:""; width:2px; height:6px; background:#fff; border-radius:2px; position:absolute; margin-top:6px; animation: cuewheel 1.8s ease infinite }
@keyframes cuewheel{ 0%{ transform: translateY(0) } 50%{ transform: translateY(6px) } 100%{ transform: translateY(0) } }

.hero-spacer{ height: 56vh } /* overlap contrôlé */

/* ---------- Sections & séparateurs ---------- */
.section{padding:86px 0; position:relative; z-index:1; background: var(--bg-color)}
.theme-a{
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 70%),
    var(--bg-color);
}
.theme-b{
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 70%),
    var(--bg-color);
}
.theme-none{ background: none }

.section-sep{display:grid; place-items:center; color:var(--gold); opacity:.9}
.section-sep svg{width:min(600px,80vw); height:18px}
.section::before{ z-index:5 }

/* ---------- Vidéo à la une ---------- */
.video-card { max-width: 720px; margin: 0 auto; display:block }
.video-thumb{ position:relative; border-radius:12px; overflow:hidden }
.video-thumb img{ width:100%; height:auto; max-height:400px; object-fit:cover; display:block }
.play-btn{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%;
  border:2px solid rgba(255,255,255,.75);
  display:grid; place-items:center; box-shadow:0 10px 26px rgba(0,0,0,.35)
}
.play-btn::before{ content:""; border-style:solid; border-width:10px 0 10px 16px; border-color:transparent transparent transparent #fff; margin-left:4px }
.video-info{ text-align:center; padding-top:10px }
.video-embed{
  max-width: 960px; margin: 18px auto 0; aspect-ratio: 16/9;
  border:1px solid rgba(201,168,106,.28); border-radius:12px; overflow: hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.35); position:relative; display:none
}
.video-embed iframe, .video-embed video{ width:100%; height:100%; display:block }
.video-close{
  position:absolute; right:10px; top:10px; width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,255,255,.6); background:rgba(0,0,0,.4); color:#fff; font-size:22px; line-height:32px;
  display:inline-grid; place-items:center; cursor:pointer;
}
#video-section.is-playing .video-card{ display:none }
#video-section.is-playing .video-embed{ display:block }

/* ---------- Dates (grille + look carte) ---------- */
.dates-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--g) }
@media (max-width:1024px){ .dates-grid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:640px){ .dates-grid{ grid-template-columns:1fr } }

.section-dates{
  background: rgba(20,20,24,.75);
  background-image: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border: 1px solid rgba(201,168,106,.20);
  border-radius: 12px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding: 40px 20px; margin: 40px auto; max-width: var(--max);
}

.date-card{
  background:#141416; border:1px solid rgba(201,168,106,.18);
  border-radius:12px; display:flex; align-items:stretch; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; min-height:150px;
}
.date-card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(0,0,0,.35); border-color:rgba(201,168,106,.28) }
.date-meta{
  width:92px; padding:12px 0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:rgba(201,168,106,.10); border-right:1px solid rgba(201,168,106,.20);
}
.date-meta .day{ font-size:42px; line-height:1; font-weight:900 }
.date-meta .mo{ font-size:12px; letter-spacing:.24em; margin-top:2px }
.date-body{ padding:14px 16px; display:flex; flex-direction:column; gap:8px; flex:1 1 auto }
.date-body h3{ margin:0 0 4px }
.date-body p{ margin:0 0 10px; color:var(--muted) }
.date-body .btn{ margin-top:auto; align-self:flex-start }

/* ---------- News/cards ---------- */
.grid{display:grid; gap:var(--g)}
.grid-news{grid-template-columns:repeat(3, 1fr)}
.card{ background:#141416; border:1px solid rgba(201,168,106,.18); border-radius:12px; overflow:hidden; transition:transform .35s ease, box-shadow .35s ease }
.card-media{aspect-ratio:3/2; overflow:hidden}
.card-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease}
.card-body{padding:16px 16px 18px}
.card-cta{display:inline-block; margin-top:6px; color:var(--gold)}
.card:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.35)}
.card:hover .card-media img{transform:scale(1.05)}

/* ---------- Shows ---------- */
.section-shows{
  background:linear-gradient(to bottom, transparent, rgba(239,231,217,.04) 100%), var(--bg-color)
}
.grid-posters{grid-template-columns:repeat(4, 1fr)}
.poster{ position:relative; display:block; border-radius:10px; overflow:hidden; border:1px solid rgba(201,168,106,.18); transition:transform .25s ease, box-shadow .25s ease, filter .25s ease }
.poster img{display:block; width:100%; aspect-ratio:2/3; object-fit:cover; transition:transform .45s ease}
.poster-title{ position:absolute; left:12px; bottom:12px; padding:.35em .6em; background:rgba(0,0,0,.5); border:1px solid rgba(201,168,106,.35); border-radius:6px; font-weight:700; backdrop-filter:blur(4px) }
.poster:hover{transform:translateY(-3px) scale(1.01); box-shadow:0 12px 30px rgba(0,0,0,.4); filter:saturate(1.05)}
.poster:hover img{transform:scale(1.04)}

/* ---------- Discographie ---------- */
.disco-filters { margin-bottom: 20px }
.disco-filters button { background: none; border: 1px solid var(--gold); color: var(--gold); padding: 6px 12px; margin-right: 6px; cursor: pointer; transition: background .3s, color .3s }
.disco-filters button.active, .disco-filters button:hover { background: var(--gold); color: var(--ink) }
.disco-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px }
.disco-item{
  position:relative; background:#141416; border-radius:10px; overflow:hidden; text-align:center;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.disco-item img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block }
.disco-item::after{ content:""; position:absolute; inset:0; border:1px solid rgba(201,168,106,.35); border-radius:10px; pointer-events:none }
.disco-item span{ display:block; padding:10px 10px 12px; font-size:.92rem; color:var(--ink);
  background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.0)) }
.disco-item:hover{ transform: translateY(-3px) scale(1.01); box-shadow: 0 16px 36px rgba(0,0,0,.40); filter: saturate(1.04) }

/* ---------- BIO premium ---------- */
.bio-card{
  display:grid; grid-template-columns: 1fr 1.2fr; gap: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(201,168,106,.22); border-radius:14px; padding:24px; align-items:center;
}
.bio-media img{
  width:100%; height:auto; max-width: 520px; max-height: 420px; object-fit: cover;
  border-radius:12px; display:block; margin: 0 auto; border:1px solid rgba(201,168,106,.22);
}
.bio-text .intro{ color:#d9d2c3 }
.bio-highlights{ display:flex; gap:18px; padding:10px 0 8px; list-style:none; margin:0 }
.bio-highlights li{ background: rgba(0,0,0,.25); border:1px solid rgba(201,168,106,.22); padding:10px 14px; border-radius:999px }
.bio-highlights strong{ color:#ffe2a8 }
.bio-cta{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap }
@media (max-width: 980px){
  .bio-card{ grid-template-columns:1fr }
  .bio-media img{ max-width: 520px; max-height: 360px }
}

/* ---------- Club ---------- */
.section-club{ text-align:center; padding:90px 0; background: none }
.section-club .container.narrow{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(201,168,106,.18);
  border-radius: 12px; padding: 28px 24px; display: inline-block; backdrop-filter: blur(6px);
}

/* ---------- Footer ---------- */
.site-footer{ background:#0b0b0c; border-top:1px solid rgba(201,168,106,.2); color:var(--muted) }
.footer-top{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1.2fr; gap:28px; padding:42px 0; align-items:start; max-width:var(--max); margin:0 auto }
.footer-brand{ font-family:"Playfair Display", serif; font-weight:900; color:var(--ink) }
.ft-tagline{ margin:.4em 0 0; color:var(--muted) }
.ft-col h4{ font-family:"Playfair Display", serif; letter-spacing:.04em; margin:0 0 .4em; color:var(--ink) }
.ft-col a{ display:block; margin:.25em 0; color:var(--muted) }
.ft-col a:hover{ color:var(--gold) }
.signup-foot{ display:flex; gap:8px; margin-top:8px }
.signup-foot input{ min-width:220px; padding:.7em 1em; border-radius:999px; border:1px solid rgba(255,255,255,.25); background:#fff }
.socials{ display:flex; gap:10px; margin-top:10px }
.socials .soc{ display:inline-flex; width:36px; height:36px; border-radius:999px; align-items:center; justify-content:center; border:1px solid rgba(201,168,106,.28); color:var(--muted) }
.socials .soc:hover{ color:var(--gold); border-color:var(--gold) }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:16px 0; border-top:1px solid rgba(201,168,106,.18); max-width:var(--max); margin:0 auto }
.footer-bottom .right a{ color:var(--muted) }
.footer-bottom .right a:hover{ color:var(--gold) }
.footer-bottom .right span{ margin:0 8px; opacity:.6 }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .6s ease }
.is-visible{ opacity:1; transform:none }

/* ---------- Form inputs ---------- */
.input, input[type="text"], input[type="email"], textarea{
  width:100%; padding:.8em 1em; border-radius:8px;
  border:1px solid rgba(201,168,106,.24); background:#0f0f10; color:var(--ink);
}

/* ---------- Modes de page (SCOPÉS) ---------- */

/* PAGES INTERNES SOLIDES */
body.page-solid .site-header{
  background: rgba(16,16,18,.95);
  border-bottom:1px solid rgba(201,168,106,.25);
  backdrop-filter:saturate(120%) blur(6px);
}
body.page-solid .site-footer{
  background:#0b0b0c;
  border-top:1px solid rgba(201,168,106,.2);
}
body.page-solid .page-content{ padding-top:0 }
body.page-solid .section{
  background:#141416;
  border:1px solid rgba(201,168,106,.18);
  border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  margin:40px auto;
  padding:40px 20px;
  max-width:var(--max);
}
body.page-solid .section::before{ z-index:5 }
body.page-solid .section h1,
body.page-solid .section h2,
body.page-solid .section h3,
body.page-solid .section p,
body.page-solid .section a{ color:var(--ink) }
body.page-solid .section p{ color:#d9d2c3 }

/* ACCUEIL “GLASS” (index uniquement) */
body.home .section:not(.section-club){
  background: rgba(20,20,24,.75);
  background-image: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border: 1px solid rgba(201,168,106,.20);
  border-radius: 12px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 46px rgba(0,0,0,.35);
  padding: 60px 30px;
  margin: 50px auto;
  max-width: var(--max);
}
body.home .section::before{ z-index:5 }
body.home .section h1,
body.home .section h2,
body.home .section h3,
body.home .section p,
body.home .section a { color: var(--ink) }
body.home .section p { color: #e7dfcf }

/* ---- Contact form layout (solide & lisible) ---- */
.form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.form-field{ display:flex; flex-direction:column }
.form-field-full{ grid-column: 1 / -1 }
.form-label{
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 6px;
  letter-spacing: .02em;
}
.input, input.input, textarea.input{
  width:100%;
  padding:.85em 1em;
  border-radius:10px;
  border:1px solid rgba(201,168,106,.28);
  background:#101114;
  color:var(--ink);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.input:focus{
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,168,106,.15);
}
.input::placeholder{ color: rgba(255,255,255,.45) }
.form-actions{ margin-top: 8px }

/* Sur mobile : une seule colonne */
@media (max-width: 720px){
  .form-grid{ grid-template-columns: 1fr }
}
/* ------- SHOW PAGE (scopé) ------- */
.show-page .show-hero .show-head{
  display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px
}
.show-page .show-hero .show-meta{ color:var(--muted); margin:.2em 0 0 }
.show-page .show-hero .show-cta .btn{ margin-left:8px }

.show-page .show-video .video-card{ max-width: 1040px }
.show-page .show-video .video-thumb img{ max-height: 520px }
.show-page .show-video .video-embed{ max-width: 1040px }

/* mini cartes actus sous le hero */
.show-page .show-actus{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; align-items:center
}
.show-page .show-actus .glass-card{ min-width:220px }
.show-page .show-actus-more{ margin-left:auto }

/* Galerie */
.gallery-grid{
  display:grid; gap:12px; grid-template-columns:repeat(3,1fr)
}
.gallery-grid .gitem{ display:block; border-radius:10px; overflow:hidden; border:1px solid rgba(201,168,106,.18) }
.gallery-grid img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s ease }
.gallery-grid .gitem:hover img{ transform: scale(1.04) }
@media (max-width:900px){ .gallery-grid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:560px){ .gallery-grid{ grid-template-columns:1fr } }

/* Lightbox */
.lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,.8);
  display:none; align-items:center; justify-content:center; z-index:2000
}
.lightbox.open{ display:flex }
.lightbox-img{ max-width:90vw; max-height:84vh; border-radius:10px; border:1px solid rgba(201,168,106,.35); box-shadow:0 20px 60px rgba(0,0,0,.6) }
.lightbox-close{
  position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.6); background:rgba(0,0,0,.35); color:#fff; font-size:22px
}

/* ---------- Carousel générique (hors .modern) ---------- */
.carousel:not(.modern){
  position:relative; display:flex; align-items:center; gap:10px;
}
.carousel:not(.modern) .c-track{
  overflow:hidden; scroll-behavior:smooth; display:flex; gap:20px; width:100%;
}
.carousel:not(.modern) .c-item{
  min-width: calc(100% - 80px); /* laisse de la place aux flèches */
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(201,168,106,.2); border-radius:12px; padding:22px;
}
.carousel:not(.modern) .c-item blockquote{ font-size:1.25rem; margin:0 0 6px; color:#eee }
.carousel:not(.modern) .c-item figcaption{ color:var(--muted) }
.carousel:not(.modern) .c-btn{
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(201,168,106,.35);
  background:rgba(0,0,0,.35); color:var(--ink); font-size:22px; display:grid; place-items:center;
}
.carousel:not(.modern) .c-btn:hover{ border-color:var(--gold); color:var(--gold) }

/* CTA billets centré */
.show-cta-tickets .btn{ margin-top:8px }

/* ---------- Lien d'évitement (accessibilité) ---------- */
.skip-link {
  position: absolute;
  left: -999px;  /* caché hors écran */
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.skip-link:focus {
  left: 12px;
  top: 12px;
  width: auto;
  height: auto;
  background: var(--gold);
  color: var(--ink-dark);
  padding: .5em 1em;
  border-radius: 6px;
  z-index: 2000;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}

/*-----------------------*/

/* ====== Témoignages (#quotes) — override durci & isolé ====== */
#quotes .carousel.modern{
  display: block !important;       /* sort du flex global */
  position: relative !important;
  overflow: hidden !important;
  padding: 10px 0 !important;
}

#quotes .carousel.modern .c-track{
  display: flex !important;
  gap: 0 !important;
  width: auto !important;          /* la piste se dimensionne */
  will-change: transform !important;
  transition: transform .9s cubic-bezier(.2,.8,.2,1) !important;
}

#quotes .carousel.modern .c-item{
  flex: 0 0 100% !important;       /* 1 slide = 100% de la piste */
  max-width: 100% !important;
  min-width: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 20px 12px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Boutons superposés (ne prennent pas de place) */
#quotes .carousel.modern .c-btn{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  width: 42px !important; height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(201,168,106,.35) !important;
  background: rgba(0,0,0,.35) !important;
  display: grid !important; place-items: center !important;
}
#quotes .carousel.modern .c-btn.prev{ left: 6px !important; }
#quotes .carousel.modern .c-btn.next{ right: 6px !important; }
#quotes .carousel.modern .c-btn:hover{
  border-color: var(--gold) !important; color: var(--gold) !important;
}