/* ─────────────────────────────────────────────────────────────
   Chai N°5 — Page "Soirée Halloween" (CMS soiree-halloween)
   Thème de nuit posé sur le gabarit de la cave (la-cave.css, chargé avant).
   ───────────────────────────────────────────────────────────── */

.cave-page--halloween {
  --hw-night: #15111A;
  --hw-night-2: #1E1724;
  --hw-night-3: #2A2131;
  --hw-dusk: #3A2547;
  --hw-fog: #E9DFEE;
  --hw-pumpkin: #E8812F;
  --hw-pumpkin-deep: #B85A1B;
  --hw-glow: #F6C453;
  --hw-bone: #F1E7D3;
  --hw-mist: rgba(241, 231, 211, .74);
  --hw-line: rgba(241, 231, 211, .14);

  /* Tokens du site redéfinis pour cette page */
  --color-text: var(--hw-bone);
  --color-text-muted: var(--hw-mist);
  --color-border: var(--hw-line);
  --color-accent: var(--hw-glow);

  /* Palette des dessins (halloween-dessins.tpl) */
  --d-pumpkin: #E8812F;
  --d-pumpkin-dark: #B85A1B;
  --d-pumpkin-light: #F3A34E;
  --d-stem: #4E6B3A;
  --d-flame: #F6C453;
  --d-candle: #F1E7D3;
  --d-candle-dark: #D9CBB0;
  --d-bat: #120D16;
  --d-moon: #F3E7C4;
  --d-moon-dark: #DCCB9A;
  --d-web: rgba(241, 231, 211, .38);
  --d-stone: #8E8796;
  --d-stone-dark: #5C5566;
  --d-moss: #6B7F5E;
  --d-bone: #F1E7D3;
  --d-marrow: #A5502E;
  --d-blood: #A3182A;
  --d-bun-black: #2B2626;
  --d-cabbage: #6E2A5E;
  --d-cabbage-light: #A0518F;
  --d-pork: #9B5A34;
  --d-pork-dark: #6E3B1F;
  --d-dish: #E6DCCB;
  --d-dish-light: #F6F0E4;
  --d-steam: #9C8FA8;
  --d-plate-in: #EDE5D6;
  --d-choco: #4A2A1C;
  --d-guitar: #C77B3A;
  --d-guitar-dark: #7A4421;
  --d-note: #3B2D46;
  --d-hat: #3B2A4D;
  --d-hat-dark: #241A30;
  --d-night: #15111A;
  --d-slate: #34303A;
  --d-slate-edge: #211E25;
  --d-kraken: #B5576F;
  --d-kraken-light: #E7A4B4;
  --d-terracotta: #B4613A;
  --d-terracotta-dark: #8A4426;
  --d-moss-light: #A9C08F;

  background: var(--hw-night);
  color: var(--hw-bone);
}

/* custom.css fixe la couleur des paragraphes */
.cave-page--halloween p { color: var(--hw-mist); }

/* ── Boutons ── */
.cave-page--halloween .cave-btn--light {
  background: var(--hw-pumpkin);
  color: var(--hw-night);
}

.cave-page--halloween .cave-btn--light:hover {
  background: var(--hw-glow);
  color: var(--hw-night);
}

/* ── En-tête : ciel de nuit dessiné, pas de photo ── */
.hw-hero {
  min-height: 0;
  background:
    radial-gradient(circle at 78% 22%, rgba(243, 231, 196, .18) 0%, transparent 38%),
    linear-gradient(180deg, #2E2140 0%, #1C1424 62%, var(--hw-night) 100%);
}

.hw-hero__sky {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .7;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 18%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1px 1px at 28% 8%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 44% 26%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1px 1px at 58% 12%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 66% 40%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1px 1px at 90% 10%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 8% 52%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1px 1px at 36% 46%, var(--hw-bone) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 96% 48%, var(--hw-bone) 50%, transparent 51%);
  animation: hw-twinkle 5s ease-in-out infinite alternate;
}

.hw-hero__inner {
  display: grid;
  gap: var(--space-lg);
  align-items: center;
  padding-top: var(--space-2xl);
}

.hw-hero .cave-hero__eyebrow { color: var(--hw-pumpkin); }

.hw-hero .cave-hero__title em { color: var(--hw-pumpkin); }

.hw-hero__art svg {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  margin: 0 auto;
}

/* Visuel de la soirée (photo) : bannière sur toute la largeur de la page, au-dessus du texte */
.hw-hero__banner {
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.hw-hero__banner img {
  display: block;
  width: 100%;
  height: auto;
}

/* Flammes des bougies qui vacillent */
.cave-page--halloween svg path[style*="--d-flame"] {
  transform-box: fill-box;
  transform-origin: 50% 100%;
  animation: hw-flicker 2.6s ease-in-out infinite;
}

.hw-countdown {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 1.05rem;
  color: var(--hw-glow);
}

/* ── Bandeau, sommaire, sections ── */
.cave-page--halloween .cave-marquee { background: var(--d-blood); }

.cave-page--halloween .cave-marquee i { background: var(--hw-pumpkin); }

.cave-page--halloween .cave-nav {
  background: rgba(21, 17, 26, .9);
  border-bottom-color: var(--hw-line);
}

.cave-page--halloween .cave-nav a { color: var(--hw-bone); }

.cave-page--halloween .cave-nav a:hover { color: var(--hw-pumpkin); }

.cave-page--halloween .cave-nav a.is-active {
  background: var(--hw-pumpkin);
  color: var(--hw-night);
}

.cave-page--halloween .cave-section { background: var(--hw-night); }

.cave-page--halloween .cave-section--warm { background: var(--hw-night-2); }

.cave-page--halloween .cave-section--dark {
  background:
    radial-gradient(circle at 20% 50%, rgba(232, 129, 47, .12) 0%, transparent 45%),
    #0E0B11;
}

.cave-page--halloween .cave-label { color: var(--hw-pumpkin); }

.cave-page--halloween .cave-label--light { color: var(--hw-glow); }

.cave-page--halloween .cave-title,
.cave-page--halloween .cave-statement { color: var(--hw-bone); }

.cave-page--halloween .cave-stats dt { color: var(--hw-pumpkin); }

/* ── Cartes ── */
.cave-page--halloween .cave-card { background: var(--hw-night-3); }

.cave-page--halloween .cave-card__art {
  --d-web: rgba(59, 45, 70, .4);
  background: var(--hw-fog);
}

.cave-page--halloween .cave-card__title { color: var(--hw-bone); }

.cave-page--halloween .cave-card__num { color: var(--hw-pumpkin); }

.cave-page--halloween .hw-card--night { background: linear-gradient(140deg, var(--hw-dusk) 0%, var(--hw-night-2) 100%); }

.cave-page--halloween .cave-card--wine { background: linear-gradient(140deg, var(--d-blood) 0%, #4A0E18 100%); }

.cave-page--halloween .cave-card--wine .cave-card__art { background: var(--hw-fog); }

.cave-page--halloween .cave-card--gold { background: var(--hw-pumpkin); }

.cave-page--halloween .cave-card--gold .cave-card__title,
.cave-page--halloween .cave-card--gold p,
.cave-page--halloween .cave-card--gold .hw-menu strong { color: var(--hw-night); }

.cave-page--halloween .cave-card--gold .cave-card__num { color: var(--d-blood); }

.cave-page--halloween .cave-card--gold .hw-menu span { color: rgba(21, 17, 26, .72); }

.cave-page--halloween .cave-card--gold .hw-menu li { border-color: rgba(21, 17, 26, .18); }

.cave-page--halloween .cave-card--gold .cave-card__art { background: rgba(255, 255, 255, .5); }

/* La carte, façon menu */
.hw-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hw-menu li {
  display: grid;
  gap: 2px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--hw-line);
}

.hw-menu li:last-child { border-bottom: 0; }

.hw-menu strong {
  font-family: var(--font-heading);
  font-size: 1.08rem;
  font-weight: 400;
  color: #fff;
}

.hw-menu span {
  font-size: .88rem;
  color: var(--hw-mist);
}

.hw-drinks {
  margin-top: var(--space-md);
  padding: var(--space-lg);
  border: 1px solid var(--hw-line);
  border-radius: var(--cave-radius);
}

.hw-drinks p {
  max-width: 70ch;
  margin: 0;
  font-size: 1.02rem;
}

/* ── Concert ── */
.hw-concert__art {
  padding: var(--space-lg) var(--space-lg) 0;
  border-radius: var(--cave-radius);
  background: radial-gradient(circle at 50% 35%, #5A4470 0%, var(--hw-dusk) 45%, var(--hw-night-2) 100%);
  --d-note: var(--hw-bone);
  --d-line: var(--hw-bone);
  --d-shadow: rgba(0, 0, 0, .3);
}

.hw-concert__art svg {
  display: block;
  width: 100%;
  max-width: 460px;
  height: auto;
  margin: 0 auto;
}

/* ── Réservation ── */
.cave-page--halloween .cave-infos__hours { background: var(--hw-night-3); }

.hw-rules {
  display: grid;
  gap: var(--space-md);
  list-style: none;
  margin: 0;
  padding: 0;
}

.hw-rules li {
  position: relative;
  display: grid;
  gap: 4px;
  padding-left: 30px;
  color: var(--hw-mist);
  line-height: 1.55;
}

.hw-rules li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50% 50% 50% 0;
  background: var(--hw-pumpkin);
  transform: rotate(-45deg);
}

.hw-rules strong {
  font-family: var(--font-heading);
  font-size: 1.08rem;
  font-weight: 400;
  color: #fff;
}

.cave-page--halloween .cave-address { background: var(--hw-night-3); }

.cave-page--halloween .cave-address strong { color: var(--hw-bone); }

.cave-page--halloween .cave-address a { color: var(--hw-pumpkin); }

@keyframes hw-flicker {
  0%, 100% { transform: scale(1, 1); }
  30% { transform: scale(.92, 1.08); }
  55% { transform: scale(1.06, .94); }
  80% { transform: scale(.96, 1.04); }
}

@keyframes hw-twinkle {
  from { opacity: .45; }
  to { opacity: .85; }
}

@media (prefers-reduced-motion: reduce) {
  .hw-hero__sky,
  .cave-page--halloween svg path[style*="--d-flame"] { animation: none; }
}

@media (min-width: 768px) {
  .hw-hero__inner {
    grid-template-columns: 1fr;
    padding-top: var(--space-xl);
  }

  .hw-hero__art svg { max-width: 520px; }

  .hw-drinks {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-xl);
    align-items: center;
    padding: var(--space-lg) var(--space-xl);
  }

  .hw-drinks .cave-label { margin: 0; }
}
