/* ==========================================================
   Ice Cream Advent Calendar page (Oct 2026)
   Brand: maroon #6E2320 · pink #E86FB5/#B8357E · teal #1AA7A3/#0E7C79
          yellow #FBD46B · cream #FFF7EE · sticker outline + hard shadow
   ========================================================== */
.adv-page{--gold1:#fbe9a6;--gold2:#d9b04e;--gold3:#a8802a;--kraft1:#E7BF8F;--kraft2:#C9925E;--stripe:repeating-linear-gradient(45deg,#6E2320 0 10px,#FFF7EE 10px 20px)}

/* ---------- hero ---------- */
.adv-hero{position:relative;overflow:hidden;color:#FFF7EE;
  background:radial-gradient(60% 70% at 85% 20%,rgba(26,167,163,.28),transparent 60%),
             radial-gradient(50% 60% at 5% 90%,rgba(232,111,181,.22),transparent 60%),#6E2320;
  padding:calc(var(--nav-h) + 3.2rem) 0 0}
.adv-snow{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(2px 2px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(1.6px 1.6px at 90px 120px,#fff 50%,transparent 51%),
  radial-gradient(2.4px 2.4px at 160px 60px,#FBD46B 50%,transparent 51%),radial-gradient(1.4px 1.4px at 230px 170px,#fff 50%,transparent 51%),
  radial-gradient(2px 2px at 300px 90px,#E86FB5 50%,transparent 51%);background-size:320px 220px;animation:adv-snow 40s linear infinite}
@keyframes adv-snow{to{background-position:0 660px}}
.adv-hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-bottom:clamp(4rem,7vw,6rem)}
.adv-hero .eyebrow{color:#FBD46B}
.adv-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;line-height:.88;letter-spacing:-.5px;margin:.6rem 0 .5rem;font-size:clamp(3.2rem,7.4vw,6.6rem);color:#FFF7EE}
.adv-title span{display:block}
.adv-title span:last-child{color:#FBD46B}
.adv-kicker{font-family:var(--font-display);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:clamp(.95rem,1.4vw,1.15rem);color:#7fd1be;margin-bottom:1rem}
.adv-hero .lead{color:rgba(255,247,238,.9);max-width:34ch}
.adv-status{display:inline-flex;align-items:center;gap:.6rem;margin:1.4rem 0 1.3rem;padding:.5rem 1rem;border-radius:999px;background:rgba(255,247,238,.1);border:1px solid rgba(255,247,238,.25);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.9rem}
.adv-dot{width:10px;height:10px;border-radius:50%;background:#FBD46B;box-shadow:0 0 0 0 rgba(251,212,107,.7);animation:adv-pulse 2s infinite}
@keyframes adv-pulse{70%{box-shadow:0 0 0 10px rgba(251,212,107,0)}100%{box-shadow:0 0 0 0 rgba(251,212,107,0)}}
.adv-hero .hero-btns{display:flex;flex-wrap:wrap;gap:.9rem}
.adv-ghost{color:#FFF7EE!important}
.adv-ghost:hover{background:#FFF7EE!important;color:#6E2320!important}

/* ---------- scratch card ---------- */
.adv-card-wrap{position:relative}
.adv-card{position:relative;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#FFF7EE;color:#6E2320;border-radius:28px;padding:clamp(1.1rem,2.4vw,1.8rem);
  border:10px solid transparent;background:linear-gradient(#FFF7EE,#FFF7EE) padding-box,var(--stripe) border-box;
  box-shadow:12px 12px 0 rgba(0,0,0,.28);transform:rotate(1.2deg)}
.adv-card-head{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.adv-card-head img{width:52px;height:auto;flex:none}
.adv-card-script{font-family:var(--font-script);font-weight:700;color:#B8357E;font-size:1.35rem;line-height:1;margin:0}
.adv-card-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1;margin:.15rem 0 0}
.adv-card-title b{color:#0E7C79}
.adv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.7rem,1.6vw,1.1rem) clamp(.6rem,1.4vw,1rem)}
.adv-cell{display:flex;flex-direction:column;align-items:center;gap:.35rem}
.adv-tag{display:flex;align-items:center;gap:.35rem}
.adv-badge{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:radial-gradient(circle at 40% 35%,var(--kraft1),var(--kraft2));border:1.5px solid #4A1C1A;box-shadow:1.5px 1.5px 0 #4A1C1A}
.adv-badge svg{width:23px;height:23px;overflow:visible}
.adv-day{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1;color:#6E2320}
.adv-day small{display:block;font-size:.55rem;letter-spacing:.2em;color:#B8357E;font-weight:600}
.adv-spot{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:#fff;border:1.5px dashed #c9a24a;display:grid;place-items:center;text-align:center;overflow:hidden}
.adv-hint{font-family:var(--font-display);font-weight:600;text-transform:uppercase;font-size:clamp(.62rem,.95vw,.78rem);line-height:1.05;padding:0 .4rem;color:#6E2320}
.adv-foil{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;cursor:grab;touch-action:none;transition:opacity .5s ease}
.adv-spot.revealed .adv-foil{opacity:0;pointer-events:none}
.adv-spot.revealed{animation:adv-pop .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes adv-pop{50%{transform:scale(1.08)}}
.adv-reveal{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.adv-reveal:focus-visible{width:100%;height:100%;inset:0;opacity:1;border-radius:50%;background:transparent;outline:3px solid #0E7C79;outline-offset:2px}
.adv-card-foot{margin:1rem 0 0;text-align:center;font-size:.85rem;color:#8a5a50}
.adv-reset{background:none;border:0;color:#B8357E;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;font-weight:600}

/* ---------- shared heads ---------- */
.adv-head{text-align:center;margin:0 auto 2.4rem;max-width:760px}

/* ---------- steps ---------- */
.adv-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,1.8rem)}
.adv-step{position:relative;background:#fff;border:3px solid #6E2320;border-radius:24px;box-shadow:7px 7px 0 #6E2320;padding:2rem 1.6rem 1.8rem;text-align:center}
.adv-step-n{position:absolute;top:-16px;left:-12px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#FBD46B;color:#6E2320;border:2px solid #6E2320;font-family:var(--font-display);font-weight:700;font-size:1.2rem;transform:rotate(-8deg)}
.adv-step-ic{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 1rem;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--kraft1),var(--kraft2));border:2.5px solid #4A1C1A;box-shadow:3px 3px 0 #4A1C1A}
.adv-step-ic svg{width:60px;height:60px;overflow:visible}
.adv-step h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.5rem;color:#6E2320;margin:0 0 .5rem}
.adv-step p{color:#6f4f45;line-height:1.55;margin:0}

/* ---------- inside ---------- */
.adv-inside{background:#dff1f5}
.adv-inside-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.adv-inside .lead{margin-top:1rem;color:#5a3a33}
.adv-facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.adv-facts li{background:#FFF7EE;border:3px solid #6E2320;border-radius:20px;box-shadow:5px 5px 0 #6E2320;padding:1.2rem 1.2rem 1.3rem}
.adv-facts b{display:block;font-family:var(--font-display);font-size:2.6rem;line-height:1;color:#B8357E}
.adv-facts li:nth-child(2) b{color:#0E7C79}.adv-facts li:nth-child(3) b{color:#c96a24}.adv-facts li:nth-child(4) b{color:#6E2320}
.adv-facts span{display:block;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6E2320;margin:.2rem 0 .35rem}
.adv-facts p{margin:0;font-size:.95rem;line-height:1.5;color:#6f4f45}

/* ---------- gift ---------- */
.adv-gift-box{position:relative;max-width:900px!important;text-align:center;background:#fff;border-radius:32px;padding:clamp(2.6rem,5vw,4rem) clamp(1.4rem,4vw,3.5rem);
  border:12px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--stripe) border-box;box-shadow:10px 10px 0 rgba(110,35,32,.18)}
.adv-gift-box .lead{margin:1rem auto 0}
.adv-bow{position:absolute;top:-46px;left:50%;transform:translateX(-50%);width:84px;height:84px}
.adv-bow svg{width:100%;height:100%;overflow:visible}

/* ---------- first dibs ---------- */
.adv-dibs{background:radial-gradient(60% 80% at 100% 0%,rgba(251,212,107,.18),transparent 60%),#0E7C79;color:#FFF7EE}
.adv-dibs .lead{color:rgba(255,247,238,.92);margin-top:1rem}
.adv-dibs-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.adv-form{background:#FFF7EE;color:#6E2320;border-radius:26px;border:3px solid #4A1C1A;box-shadow:9px 9px 0 #4A1C1A;padding:clamp(1.4rem,3vw,2.2rem);display:grid;gap:1rem}
.adv-form label{display:grid;gap:.35rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:.88rem;font-weight:600}
.adv-form input,.adv-form select{font:500 1rem var(--font-body);color:#4A1C1A;background:#fff;border:2px solid #e2c9b4;border-radius:14px;padding:.85rem 1rem;min-height:50px;text-transform:none;letter-spacing:0}
.adv-form input:focus,.adv-form select:focus{outline:none;border-color:#0E7C79;box-shadow:0 0 0 3px rgba(26,167,163,.25)}
.adv-form .invalid{border-color:#B8357E}
.adv-form .btn{justify-content:center}
.adv-fine{margin:0;font-size:.82rem;color:#8a6a60;text-align:center}
.adv-more{text-align:center;margin:2rem auto 0;max-width:62ch;color:#6f4f45}
.adv-more a{color:#B8357E;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .adv-hero-grid{grid-template-columns:1fr;text-align:center}
  .adv-hero .lead{margin-inline:auto}
  .adv-hero .hero-btns{justify-content:center}
  .adv-card-wrap{max-width:560px;margin:0 auto;width:100%}
  .adv-inside-grid,.adv-dibs-grid{grid-template-columns:1fr;text-align:center}
  .adv-inside .lead,.adv-dibs .lead{margin-inline:auto}
}
@media(max-width:760px){
  .adv-steps{grid-template-columns:1fr;max-width:460px;margin:0 auto}
  .adv-grid{grid-template-columns:repeat(3,1fr)}
  .adv-card{transform:none;border-width:8px}
  .adv-hint{font-size:.72rem}
}
@media(max-width:420px){.adv-facts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.adv-snow,.adv-dot{animation:none}.adv-spot.revealed{animation:none}}

/* section heading scale for this page */
.adv-page .section .h-lg{font-size:clamp(2.3rem,4.8vw,4.2rem);line-height:.95}
.adv-head .eyebrow,.adv-inside .eyebrow,.adv-gift .eyebrow,.adv-dibs .eyebrow,.adv-page .bg-maroon .eyebrow{margin-bottom:.55rem}
.adv-gift-box .h-lg{max-width:16ch;margin-inline:auto}

/* ---------- order wizard ---------- */
.adv-order-sec{background:#FFF7EE;border-top:1px solid rgba(110,35,32,.08)}
.adv-sample{text-align:center;margin:0 auto 1rem;background:#FBD46B;color:#6E2320;font:700 .85rem var(--font-display);letter-spacing:.12em;padding:.4rem;border-radius:8px;max-width:520px}
.adv-sub{color:#6f4f45;margin-top:.6rem}
.adv-bar{list-style:none;padding:0;margin:0 auto 2rem;display:flex;justify-content:center;gap:clamp(.5rem,3vw,2.2rem);font:600 .95rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#b39a90}
.adv-bar li{display:flex;align-items:center;gap:.5rem}
.adv-bar span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid currentColor;font-size:.95rem}
.adv-bar li.on{color:#6E2320}.adv-bar li.on span{background:#FBD46B;border-color:#6E2320}
.adv-order-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(1.2rem,3vw,2rem);align-items:start;max-width:1080px;margin:0 auto}
.adv-order{background:#fff;border:3px solid #6E2320;border-radius:26px;box-shadow:8px 8px 0 #6E2320;padding:clamp(1.2rem,3vw,2rem)}
.adv-panel{border:0;margin:0;padding:0;display:none}
.adv-panel.on{display:block;animation:adv-in .35s var(--ease)}
@keyframes adv-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.adv-product{display:grid;grid-template-columns:200px 1fr;gap:1.2rem;align-items:center}
.adv-product img{width:100%;height:auto;border-radius:16px;border:2px solid #6E2320}
.adv-product h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.6rem;color:#6E2320;margin:0 0 .35rem;line-height:1}
.adv-product p{margin:0;color:#6f4f45;line-height:1.5}
.adv-price{margin-top:.6rem!important;font:700 1.8rem var(--font-display)!important;color:#B8357E!important}
.adv-price small{font-size:.9rem;color:#8a6a60}
.adv-qty-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:1.6rem 0 .4rem;padding-top:1.2rem;border-top:2px dashed #ecd9c7}
.adv-lbl{font:600 .95rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#6E2320}
.adv-qty{display:flex;align-items:center;border:2px solid #6E2320;border-radius:999px;overflow:hidden}
.adv-qty button{width:48px;height:48px;background:#FFF7EE;border:0;font:700 1.4rem var(--font-display);color:#6E2320;cursor:pointer}
.adv-qty button:hover{background:#FBD46B}
.adv-qty input{width:56px;height:48px;border:0;text-align:center;font:700 1.3rem var(--font-display);color:#6E2320;-moz-appearance:textfield}
.adv-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.adv-sum{font:600 1rem var(--font-display);text-transform:uppercase;color:#6f4f45}
.adv-sum b{font-size:1.5rem;color:#6E2320;margin-left:.3rem}
.adv-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin-top:1.4rem}
.adv-nav .btn:only-child{margin-left:auto}
.adv-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.adv-fields label,.adv-order>fieldset>label{display:grid;gap:.35rem;font:600 .88rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#6E2320}
.adv-fields input,.adv-fields select,.adv-fields textarea{font:500 1rem var(--font-body);color:#4A1C1A;background:#FFFDF9;border:2px solid #e2c9b4;border-radius:14px;padding:.8rem 1rem;min-height:50px;text-transform:none;letter-spacing:0}
.adv-fields :focus{outline:none;border-color:#0E7C79;box-shadow:0 0 0 3px rgba(26,167,163,.22)}
.adv-order .invalid{border-color:#B8357E!important;box-shadow:0 0 0 3px rgba(184,53,126,.15)}
label.adv-check{display:flex!important;align-items:center;gap:.6rem;text-transform:none!important;letter-spacing:0!important;font:500 1rem var(--font-body)!important;color:#4A1C1A!important;cursor:pointer}
.adv-check input{width:22px;height:22px;accent-color:#0E7C79}
.adv-gift-note{grid-column:1/-1}
.adv-review{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.2rem;margin:0 0 1.2rem;padding:1.2rem;background:#FFF7EE;border-radius:16px;border:2px dashed #e2c9b4}
.adv-review dt{font:600 .85rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#8a6a60}
.adv-review dd{margin:0;color:#4A1C1A;font-weight:600;word-break:break-word}
.adv-msg{margin:.6rem 0 0;color:#0E7C79;font-weight:600;text-align:center}
.adv-info{background:#6E2320;color:#FFF7EE;border-radius:24px;padding:1.6rem;position:sticky;top:110px}
.adv-info h3{font-family:var(--font-display);text-transform:uppercase;color:#FBD46B;margin:0 0 .8rem;font-size:1.3rem}
.adv-info ul{margin:0 0 1rem;padding-left:1.1rem;display:grid;gap:.5rem;line-height:1.5}
.adv-addr{margin:0;line-height:1.6;border-top:1px solid rgba(255,247,238,.2);padding-top:1rem}
.adv-addr b{color:#FBD46B;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em}
.adv-addr a{color:#FFF7EE;text-decoration:underline}
@media(max-width:900px){.adv-order-grid{grid-template-columns:1fr}.adv-info{position:static}}
@media(max-width:600px){.adv-product{grid-template-columns:1fr}.adv-fields{grid-template-columns:1fr}.adv-bar{font-size:.78rem}.adv-bar span{width:26px;height:26px}.adv-nav .btn{flex:1;justify-content:center}}
@media(max-width:600px){.adv-nav{flex-direction:column-reverse}.adv-nav .btn{width:100%;min-height:54px;white-space:nowrap;font-size:1rem}.adv-nav .btn-lg{padding:.9rem 1.2rem}}
