/* ============================================================
   LOADANDGO — christmas.css
   "12 Weeks of Christmas" campaign page
   Built on top of main.css tokens — no new hardcoded hex except
   the single festive gold accent used sparingly for the badge.
   ============================================================ */

:root{
  --gold: #B8860B;
  --gold-lt: rgba(184,134,11,.10);
  --gold-bd: rgba(184,134,11,.28);
  --pine: #0E5C43;
  --fs: 'Yellowtail', cursive;
}

/* ════════════════════════════
   DECORATIVE SVG BITS (inline, no external images)
════════════════════════════ */
.xmas-snowflake-deco{
  position:absolute;
  pointer-events:none;
  opacity:.5;
  z-index:0;
}
.xmas-candy-divider{
  height:10px;
  background:repeating-linear-gradient(-45deg, var(--red) 0 14px, #fff 14px 28px);
  border-radius:50px;
  max-width:220px;
  margin:0 auto;
  box-shadow:0 2px 6px rgba(13,27,42,.12);
  position:relative;
  top:5px;
  z-index:1;
}

/* ════════════════════════════
   HERO
════════════════════════════ */
.xmas-hero{
  position:relative;
  overflow:hidden;
  background:var(--ink);
  margin:0 25px;
  border-radius:var(--rl);
  padding:5rem var(--pad) 3.5rem;
}

.xmas-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;}
.xmas-hero-bg img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 30%;
}
.xmas-hero-bg::after{
  content:'';
  position:absolute;top:0;right:0;bottom:0;left:0;
  background:linear-gradient(90deg, rgba(10, 12, 18, 0.76) 0%, rgba(10, 12, 18, 0.683) 38%, rgba(10, 12, 18, 0.404) 68%, rgba(10, 12, 18, 0.057) 100%);
}

.xmas-snowfall{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1;}
.xmas-snowfall span{
  position:absolute;
  top:-10px;
  width:5px;height:5px;
  background:rgba(255,255,255,.55);
  border-radius:50%;
  animation:xmasFall linear infinite;
}
@keyframes xmasFall{
  to{ transform:translateY(120%); }
}

.xmas-hero-body{
  position:relative;
  z-index:2;
}

.xmas-pill{background:var(--gold-lt);border-color:var(--gold-bd);}
.xmas-pill .pill-dot{background:var(--gold);}

.xmas-hero-body h1{
  font-family:var(--fd);
  font-size:clamp(1.9rem,4.2vw,2.5rem);
  font-weight:600;
  color:#fff;
  letter-spacing:-.02em;
  margin-bottom:1.35rem;
}
.script-accent{
  font-family:var(--fs);
  font-weight:400;
  color:var(--gold);
  font-size:1.5em;
  line-height:1;
  display:inline-block;
  transform:rotate(-2deg);
  padding-right:.15em;
}

.xmas-hero-body .hero-desc{
  color:rgba(255,255,255,.65);
  max-width:560px;
  margin-bottom:2rem;
}

/* Floating badges over the hero photo */
.xmas-hero-badges{
  position:absolute;
  top:1.75rem;
  right:1.75rem;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  align-items:flex-end;
}
.xhb-chip{
  display:flex;align-items:center;gap:.5rem;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:.78rem;
  font-weight:600;
  padding:.55rem 1rem;
  border-radius:50px;
  white-space:nowrap;
}
.xhb-chip i{color:var(--gold);font-size:.85rem;}
.xhb-chip--red{background:var(--red);border-color:var(--red);}
.xhb-chip--red i{color:#fff;}

/* ════════════════════════════
   COUNTDOWN TIMER SECTION
════════════════════════════ */
.xmas-timer-section{
  padding:4.5rem 0 5rem;
  background:var(--white);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.xmas-timer{
  display:flex;
  justify-content:center;
  gap:1.5rem;
  flex-wrap:wrap;
  margin-top:2.75rem;
}
.xt-circle{
  width:95px;height: 95px;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  box-shadow:0 14px 30px rgba(211,47,47,.28);
  position:relative;
}
.xt-circle::before{
  content:'';
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:1.5px dashed var(--red-bd);
}
.xt-circle strong{
  font-family:var(--fd);
  font-size:2rem;
  font-weight:800;
  line-height:1;
}
.xt-circle span{
  font-size:.62rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.9;
  margin-top:.35rem;
}

/* ── Progress + Timer dashboard ── */
.xmas-progress-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin-top:2.75rem;
  text-align:left;
}
.xp-panel{
  background:var(--cream);
  border-radius:var(--rl);
  padding:2rem 2.25rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.xp-panel-title{
  display:flex;align-items:center;gap:.55rem;
  font-family:var(--fb);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-m);
  margin-bottom:1.35rem;
}
.xp-panel-title i{color:var(--red);}
.xp-numbers{display:flex;gap:2.5rem;margin-bottom:1.25rem;}
.xp-num strong{
  display:block;
  font-family:var(--fd);
  font-size:2.1rem;
  font-weight:700;
  color:var(--ink);
  line-height:1;
  margin-bottom:.35rem;
}
.xp-num--muted strong{color:var(--ink-m);}
.xp-num span{font-size:.72rem;font-weight:500;color:var(--ink-m);text-transform:uppercase;letter-spacing:.05em;}
.xp-bar-track{
  width:100%;
  height:16px;
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:50px;
  overflow:hidden;
}
.xp-bar-fill{
  height:100%;
  background:linear-gradient(90deg, var(--red), var(--gold));
  border-radius:50px;
  transition:width .6s ease;
}
.xp-meta{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.75rem;
  font-size:.78rem;
  color:var(--ink-m);
}
.xp-meta .xp-updated{color:rgba(13,27,42,.4);}
.xmas-progress-grid .xmas-timer{margin-top:0;justify-content:flex-start;}

/* ════════════════════════════
   COLLECTING GRID
════════════════════════════ */
.xmas-collect{padding:5rem 0;background:var(--white);position:relative;overflow:hidden;}
.xmas-collect-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
}
.xc-card{
  background:var(--cream);
  border-radius:var(--rl);
  padding:1.75rem 1.5rem;
  transition:background .2s, transform .2s, box-shadow .2s;
}
.xc-card:hover{
  background:var(--white);
  transform:translateY(-5px);
  box-shadow:0 16px 32px rgba(13,27,42,.10);
}
.xc-card-icon{
  width:50px;height:50px;
  border-radius:50%;
  background:var(--red);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.1rem;
}
.xc-card-icon i{color:#fff;font-size:1.1rem;}
.xc-card:nth-child(2) .xc-card-icon{background:var(--pine);}
.xc-card:nth-child(3) .xc-card-icon{background:var(--gold);}
.xc-card:nth-child(4) .xc-card-icon{background:var(--ink);}
.xc-card h3{font-size:1rem;color:var(--ink);margin-bottom:.4rem;}
.xc-card p{font-size:.85rem;line-height:1.6;color:var(--ink-m);}

/* ════════════════════════════
   HOW IT WORKS
════════════════════════════ */
.xmas-how{padding:5rem 0;background:var(--cream);}
.xmas-how-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  position:relative;
}
.xh-step{
  background:var(--white);
  border-radius:var(--rl);
  padding:2rem 1.75rem;
  position:relative;
}
.xh-num{
  font-family:var(--fd);
  font-size:.78rem;
  font-weight:700;
  color:var(--red);
  background:var(--red-lt);
  border:1px solid var(--red-bd);
  width:34px;height:34px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.xh-step h3{font-size:1.05rem;color:var(--ink);margin-bottom:.5rem;}
.xh-step p{font-size:.87rem;color:var(--ink-m);line-height:1.7;}

/* ════════════════════════════
   GET INVOLVED (dark, form)
════════════════════════════ */
.xmas-cta{background:#101010;}
.xmas-cta-wrap{
  max-width:calc(var(--max) + 2*var(--pad));
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:640px;
}
.xmas-cta-left{padding:5rem clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center;}
.xmas-cta-left h2{font-size:clamp(1.8rem,3.2vw,2.4rem);color:#fff;margin-bottom:1rem;}
.xmas-cta-left>p{font-size:.95rem;color:rgba(255,255,255,.45);line-height:1.78;margin-bottom:2rem;max-width:420px;}
.xmas-points{list-style:none;display:flex;flex-direction:column;gap:.9rem;margin-bottom:2.25rem;}
.xmas-points li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;color:rgba(255,255,255,.75);line-height:1.55;}
.xmas-points i{color:var(--red);margin-top:.2rem;flex-shrink:0;}
.xmas-cta-right{display:flex;align-items:center;justify-content:center;padding:3rem clamp(1.5rem,4vw,3rem);}

.xmas-photo-card{
  border-radius:var(--rl);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  max-width:420px;
}
.xmas-photo-card img{width:100%;display:block;}

/* ════════════════════════════
   POSTER SECTION
════════════════════════════ */
.xmas-poster{padding:5rem 0;background:var(--cream);}
.xmas-poster-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:3rem;
  align-items:center;
}
.xmas-poster-img{
  border-radius:var(--rl);
  overflow:hidden;
  border:1px solid var(--rule);
  box-shadow:0 20px 45px rgba(13,27,42,.10);
}
.xmas-poster-img img{width:100%;display:block;}
.xmas-poster-copy h2{font-size:clamp(1.7rem,3vw,2.2rem);color:var(--ink);margin-bottom:1rem;}
.xmas-poster-copy p{font-size:.95rem;line-height:1.78;max-width:460px;margin-bottom:1.75rem;}

/* ════════════════════════════
   FAQ + DROP-OFF SPLIT
════════════════════════════ */
.xmas-faq-split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:3rem;
  align-items:start;
}
.xmas-faq-list .faq-item:last-child{border-bottom:none;}

.xmas-faq-side{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.xfs-image{
  border-radius:var(--rl);
  overflow:hidden;
  border:1px solid var(--rule);
  box-shadow:0 16px 34px rgba(13,27,42,.09);
}
.xfs-image img{
  width:100%;
  object-fit:cover;
  display:block;
}
.faq-item {
    border-bottom: 1px solid var(--rule);
    padding-bottom: .75rem;
    padding-top: .75rem;
}
.xfs-drop{
  position:relative;
  overflow:hidden;
  background:linear-gradient(155deg, var(--ink) 0%, #172436 100%);
  border-radius:var(--rl);
  padding:2.1rem 1.9rem;
  color:#fff;
}
.xfs-drop-deco{
  position:absolute;
  top:-14px;
  right:-10px;
  font-size:6.5rem;
  color:rgba(255,255,255,.05);
  transform:rotate(12deg);
  pointer-events:none;
}
.xfs-drop-icon{
  width:52px;height:52px;
  border-radius:50%;
  background:var(--red);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.15rem;
  box-shadow:0 10px 22px rgba(211,47,47,.35);
  position:relative;
  z-index:1;
}
.xfs-drop-icon i{color:#fff;font-size:1.15rem;}
.xfs-drop h3{
  font-family:var(--fd);
  font-size:1.15rem;
  font-weight:600;
  color:#fff;
  margin-bottom:.65rem;
  position:relative;
  z-index:1;
}
.xfs-drop p{
  font-size:.85rem;
  line-height:1.75;
  color:rgba(255,255,255,.6);
  margin-bottom:1.6rem;
  position:relative;
  z-index:1;
}
.xfs-locations{position:relative;z-index:1;margin:1.25rem 0 1.6rem;display:grid;gap:.7rem;}
.xfs-location{display:flex;align-items:center;gap:.75rem;padding:.7rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;}
.xfs-location img{width:48px;height:48px;object-fit:contain;flex:0 0 48px;border-radius:5px;background:#fff;padding:3px;}
.xfs-location strong,.xfs-location span{display:block;}
.xfs-location strong{font-family:var(--fd);font-size:.86rem;color:#fff;line-height:1.3;}
.xfs-location span{font-size:.75rem;line-height:1.45;color:rgba(255,255,255,.65);margin-top:.2rem;}
.xfs-location span i{color:var(--red);margin-right:.2rem;}
.xfs-drop .btn-orange-sm{
  width:100%;
  justify-content:center;
  padding:.8rem 1.5rem;
  font-size:.85rem;
  position:relative;
  z-index:1;
}

/* ════════════════════════════
   RESPONSIVE
════════════════════════════ */
@media(max-width:1100px){
  .xmas-collect-grid{grid-template-columns:repeat(2,1fr);}
  .xmas-how-row{grid-template-columns:1fr;}
  .xmas-poster-inner{grid-template-columns:1fr;}
  .xmas-faq-split{grid-template-columns:1fr;}
}
@media(max-width:960px){
  .xmas-cta-wrap{grid-template-columns:1fr;}
  .xmas-cta-left{padding:3.5rem var(--pad);}
  .xmas-progress-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .xmas-hero{margin:0 12px;padding:3.5rem 1.25rem 2.5rem;}
  .xmas-collect-grid{grid-template-columns:1fr;}
  .xmas-hero-badges{position:static;flex-direction:row;flex-wrap:wrap;margin-top:1.5rem;padding-left:23px;margin-bottom:1rem;}
  .xt-circle{width:70px;height:70px;}
  .xt-circle strong{font-size:1.2rem;}
  .xt-circle span{font-size:.55rem;}
  .xmas-timer{gap:1rem;}
  .xp-panel{padding:1.5rem;}
  .xp-numbers{gap:1.5rem;}
  .xmas-pill {display:none;}

}
@media(prefers-reduced-motion:reduce){
  .xmas-snowfall span{animation:none;display:none;}
}