/* The winter night shared by the festive pages (/mesaj-video-de-la-mos-craciun since 24 Oct 2026, T1024-24;
   /carte-personalizata-mos-nicolae since 24 Oct, T1024-30: „more festive, like the Santa page”). Loaded after
   site.css and produs.css. A band on the night: deep navy, a warm glow like candle light, snow falling slowly (dots
   drawn as background layers, each moving down by its own tile height so the loop has no seam) and, with .fest-drift,
   a soft snowdrift where the night meets the white page. A page changes the glow with --sky. */
.fest-night {
  --snow: radial-gradient(circle 1.6px at 30px 40px, rgba(255, 255, 255, 0.9) 95%, transparent),
    radial-gradient(circle 2.2px at 150px 90px, rgba(255, 255, 255, 0.75) 95%, transparent),
    radial-gradient(circle 1.2px at 90px 200px, rgba(255, 255, 255, 0.8) 95%, transparent),
    radial-gradient(circle 1px at 200px 160px, rgba(255, 255, 255, 0.6) 95%, transparent),
    radial-gradient(circle 2.8px at 300px 40px, rgba(255, 255, 255, 0.55) 95%, transparent),
    radial-gradient(circle 1px at 60px 110px, rgba(255, 255, 255, 0.5) 95%, transparent);
  --snow-size: 180px 180px, 260px 260px, 320px 320px, 220px 220px, 380px 380px, 140px 140px;
  --sky: radial-gradient(ellipse 60% 70% at 30% 45%, rgba(255, 196, 110, 0.16), transparent 70%),
    linear-gradient(180deg, #101c44 0%, #1a2b5e 60%, #22377a 100%);
  position: relative; color: #fff; background-color: #14224f;
  background-image: var(--snow), var(--sky);
  background-size: var(--snow-size), 100% 100%, 100% 100%;
  animation: fest-snow 40s linear infinite;
}
@keyframes fest-snow {
  from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
  to { background-position: 0 180px, 0 260px, 0 320px, 0 220px, 0 380px, 0 140px, 0 0, 0 0; }
}
@media (prefers-reduced-motion: reduce) { .fest-night { animation: none; } }
/* the snowdrift: white hills along the band's lower edge */
.fest-drift::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: clamp(26px, 3.4vw, 48px);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 30C120 8 220 6 340 22s230 26 360 8 240-26 380-10 240 22 360 4V48H0z' fill='%23fff'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
  pointer-events: none; }
.fest-night > .wrap { position: relative; z-index: 1; }
/* no hairline above or under a night band: its own edge ends it */
.main:has(> .pd-top) > section.fest-night::before, .main:has(> .pd-top) > .fest-night + section::before { content: none; }

/* the product hero (components/produs.html with produs.night, or a page's own .pd-top) on the night */
.fest-hero { padding: 14px 0 clamp(70px, 8vw, 120px); }
.fest-hero .crumbs, .fest-hero .crumbs a { color: rgba(255, 255, 255, 0.72); }
.fest-hero .pd-title { color: #fff; }
.fest-hero .pd-subtitle { color: #ffe98a; }
.fest-hero .pd-lead { color: rgba(255, 255, 255, 0.84); }
.fest-hero .pd-plan { color: #fff; }
.fest-hero .pd-plan__sub { color: rgba(255, 255, 255, 0.78); }
.fest-hero .pd-plan__price b { color: var(--yellow); }
.fest-hero .pd-plan__price small { color: rgba(255, 255, 255, 0.7); }
.fest-hero .pd-cta { background: var(--yellow); color: var(--navy); }
.fest-hero .pd-cta:hover { background: #ffe75e; }
.fest-hero .pd-under { color: rgba(255, 255, 255, 0.72); }
.fest-hero .pd-badges li { color: #fff; }
.fest-hero .pd-badges svg { color: var(--yellow); }
.fest-hero .pd-sample, .fest-hero .pd-how { color: #fff; }
.fest-hero .pd-info__row { border-bottom-color: rgba(255, 255, 255, 0.16); }
.fest-hero .pd-info__row summary { color: #fff; }
.fest-hero .pd-info__ico { color: var(--yellow); }
.fest-hero .pd-info__row p { color: rgba(255, 255, 255, 0.82); }
.fest-hero .pd-info__row a { color: #ffe98a; }
/* the gallery: the book in the warm light, the chosen thumbnail ringed in yellow */
.fest-hero .pd-stage { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.08), 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 90px rgba(255, 190, 100, 0.22); }
.fest-hero .pd-thumb[aria-selected="true"] { box-shadow: 0 0 0 2px var(--yellow); }
.fest-hero .pd-arrow { color: rgba(255, 255, 255, 0.6); }
.fest-hero .pd-arrow:hover { color: #fff; }
/* the order-by day on the night: a frosted card, the date in candle yellow, the countdown in light tiles (site.css .cdown) */
.fest-hero .pd-date { background: rgba(255, 255, 255, 0.07); box-shadow: inset 0 0 0 1px rgba(255, 233, 138, 0.3), 0 18px 40px -18px rgba(0, 0, 0, 0.5); color: #fff;
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.fest-hero .pd-date__ico { background: var(--yellow); color: var(--navy); }
.fest-hero .pd-date__text { color: rgba(255, 255, 255, 0.84); }
.fest-hero .pd-date__text b { color: #ffe98a; }
.fest-night .cdown__cell { background: linear-gradient(180deg, #ffffff 0%, #fbf7ec 50%, #f3ecda 50%, #efe6d0 100%); color: var(--navy);
  box-shadow: inset 0 -1px 0 rgba(36, 59, 121, 0.12), 0 8px 18px -8px rgba(0, 0, 0, 0.6); }
.fest-night .cdown__cell::after { background: rgba(36, 59, 121, 0.1); }
.fest-night .cdown__cell b { color: var(--navy); }
.fest-night .cdown__cell small { color: rgba(36, 59, 121, 0.62); }
.fest-night .cdown__cell--days { background: var(--yellow); }
.fest-night .cdown__cell--days small { color: rgba(36, 59, 121, 0.72); }
.fest-night .cdown__sep { color: var(--yellow); opacity: 0.85; }

/* a band of words on the night between white sections (components/ocazie.html's moment on a festive page) */
.fest-band { padding: clamp(64px, 7vw, 104px) 0 clamp(84px, 9vw, 136px); }
.fest-band .tag { background: var(--yellow); color: var(--navy); font-weight: 700; }
.fest-band .h2 { color: #fff; }
.fest-band .sub { color: rgba(255, 255, 255, 0.86); }
.fest-band .oc-helps { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.08), 0 26px 60px rgba(0, 0, 0, 0.4), 0 0 90px rgba(255, 190, 100, 0.18); }

/* the last call (components/cta.html with night, or a page's own .cta): a warm Christmas red with the same snow */
.fest-cta { overflow: hidden; background-color: #b62f2b; --sky: radial-gradient(ellipse 60% 80% at 25% 50%, rgba(255, 200, 120, 0.22), transparent 70%), linear-gradient(160deg, #c1332f, #9e2624); }
.fest-cta .h2 { color: #fff; }
.fest-cta .sub { color: rgba(255, 255, 255, 0.84); }
.fest-cta .link { color: #fff; }
.fest-cta .hero__points { color: rgba(255, 255, 255, 0.86); }
.fest-cta .hero__points li::before { background: var(--yellow); }
