/* LP Calendriers de l'Avent : versions datées (src/schedule.py) halloween, blackmonth. Préfixe avp-.
   Chargée seulement par ces versions (pages.py, "variants") : la version normale ne la charge pas.
   Halloween : couleurs de la LP Halloween (nuit #130C1C, orange #FF7A1A ; orange foncé #C2410C sur fond clair,
   contraste AA). Black Month : noir #0b0b0c, or #f3dca8, rouge du site rgb(220 38 38). */

.avp-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ---------- Halloween : ouverture = bannière calendriers du site ---------- */
.avp-hw { position: relative; background: #130C1C; color: #FBF1E9; }
.avp-hw-banner { display: block; background: #130C1C; }
.avp-hw-banner img { display: block; width: 100%; height: auto; }
.avp-hw-bar { border-top: 1px solid rgba(255,122,26,.35); background: linear-gradient(90deg, #1B1229 0%, #130C1C 70%); }
.avp-hw-bar-in { display: flex; flex-direction: column; gap: 12px; padding: 18px 0; }
.avp-hw-when { font-size: 15px; line-height: 22px; color: rgba(251,241,233,.9); }
.avp-hw-when b { color: #FF7A1A; font-weight: 700; }
.avp-hw-cd { font-size: 14px; line-height: 20px; color: rgba(251,241,233,.8); }
.avp-hw-cd strong { color: #FBF1E9; font-variant-numeric: tabular-nums; }
.avp-hw-cd .av-dot { background: #FF7A1A; box-shadow: 0 0 0 4px rgba(255,122,26,.22); }
.avp-hw-link { align-self: flex-start; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 6px;
  border: 2px dashed #FF7A1A; color: #FBF1E9; font-size: 15px; line-height: 20px; font-weight: 700; }
.avp-hw-link:hover { background: #FF7A1A; color: #130C1C; border-style: solid; }
.avp-hw .av-strip { background: rgba(0,0,0,.35); }
.avp-hw .av-strip li::before { border-color: #FF7A1A; }

/* ---------- Black Month : ouverture noire ---------- */
.av-hero.avp-bm { background: radial-gradient(110% 90% at 78% 40%, #7f1d1d 0%, #3b0a07 38%, #140404 70%, #0b0b0c 100%); }
.avp-bm .av-eyebrow { color: #f3dca8; }
.avp-hero-prices { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.avp-hero-prices li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; padding: 8px 12px; border-radius: 10px;
  background: rgba(0,0,0,.38); border: 1px solid rgba(243,220,168,.28); font-size: 13px; line-height: 18px; color: rgba(255,255,255,.85); }
.avp-hero-prices b { font-size: 18px; line-height: 22px; color: #fff; }
.avp-hero-prices s { color: rgba(255,255,255,.6); }

/* bandeau lien vers la LP Black Month */
.avp-linkbar { background: #0b0b0c; color: #fff; border-top: 1px solid rgba(243,220,168,.25); }
.avp-linkbar-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; padding: 14px 0; font-size: 15px; line-height: 22px; }
.avp-linkbar b { color: #f3dca8; }
.avp-linkbar a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-weight: 700; text-decoration: underline;
  text-decoration-color: rgb(220 38 38); text-underline-offset: 4px; }

/* ---------- prix des cartes ---------- */
.avp-price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.avp-old { font-size: 18px; line-height: 24px; color: #737373; }
.avp-pill { align-self: center; padding: 2px 10px; border-radius: 9999px; background: #171717; color: #fff; font-size: 13px; line-height: 20px; font-weight: 700; }
.avp-price-note { font-size: 14px; line-height: 20px; font-weight: 600; color: #171717; }
.avp-is-hw .av-price-main { color: #C2410C; }
.avp-is-hw .avp-pill { background: #FF7A1A; color: #130C1C; }
.avp-is-hw .avp-price-note { color: #C2410C; }

@media (min-width: 768px) {
  .avp-hw-bar-in { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; }
}
