/* Seasonal specials: Halloween (spooky-cute) and Christmas (festive) themes for kid pages */
body.halloween{--bg:#fff4e8;--ink:#2b1b3d;--muted:#6d5a7e;--a:#f2711c;--a-d:#6b2fa3;--b:#8e4ad8;--c:#2f9e6b;
background-image:radial-gradient(circle at 8% 18%,rgba(242,113,28,.10) 0 70px,transparent 71px),radial-gradient(circle at 92% 62%,rgba(142,74,216,.10) 0 90px,transparent 91px)}
body.halloween .brandstrip{background:#2b1b3d;color:#e7d6f7}
body.halloween .cover{background:linear-gradient(160deg,#4a2277,#1f0f33)}
body.halloween .cover-img::before{background:linear-gradient(90deg,#2a1545,transparent)}
body.halloween .cover .pre{color:#ffb36b}
body.halloween .count b{color:#f2711c}
body.halloween .btn{box-shadow:0 6px 16px rgba(242,113,28,.3)}
body.halloween .tl::after{background:var(--b)}
body.halloween .wish:nth-child(3n+1){background:#fff0e0}body.halloween .wish:nth-child(3n+2){background:#f3ebfc}body.halloween .wish:nth-child(3n){background:#eaf7ef}
body.xmas{--bg:#fbf6ee;--ink:#2a1d1a;--muted:#6e5d55;--a:#c8312f;--a-d:#1d6b3b;--b:#d4a017;--c:#1d6b3b;
background-image:radial-gradient(circle at 8% 18%,rgba(200,49,47,.07) 0 70px,transparent 71px),radial-gradient(circle at 92% 62%,rgba(29,107,59,.08) 0 90px,transparent 91px)}
body.xmas .brandstrip{background:#4a1214;color:#f6dcc8}
body.xmas .cover{background:linear-gradient(160deg,#a32224,#4a0f12)}
body.xmas .cover-img::before{background:linear-gradient(90deg,#6e1518,transparent)}
body.xmas .cover .pre{color:#ffd76a}
body.xmas .count b{color:#c8312f}
body.xmas .btn{box-shadow:0 6px 16px rgba(200,49,47,.3)}
body.xmas .wish:nth-child(3n+1){background:#fdf0ef}body.xmas .wish:nth-child(3n+2){background:#edf7f0}body.xmas .wish:nth-child(3n){background:#fdf6df}
.wishlist{max-width:760px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;padding:0}
.wishlist li{background:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);font-weight:800;display:flex;gap:12px;align-items:center}
.wishlist li span{font-size:1.6rem}
.letter{max-width:720px;margin:0 auto;background:#fffaf0;border-radius:18px;padding:40px 44px;box-shadow:var(--shadow);border:3px dashed var(--b);position:relative;font-size:1.08rem}
.letter::before{content:"✉️";position:absolute;top:-22px;left:30px;font-size:2.2rem}
.letter .sig{font-family:Fredoka;font-size:1.5rem;color:var(--a)}
.cert{max-width:760px;margin:0 auto;background:#fff;border-radius:18px;padding:44px 36px;text-align:center;box-shadow:var(--shadow);
border:10px solid transparent;background-image:linear-gradient(#fff,#fff),repeating-linear-gradient(45deg,#c8312f 0 14px,#fff 14px 22px,#1d6b3b 22px 36px,#fff 36px 44px);background-origin:border-box;background-clip:padding-box,border-box}
.cert small{font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--b)}
.cert h3{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--a);margin:.3em 0}
.cert .name{font-family:Fredoka;font-size:clamp(2.4rem,6vw,3.6rem);color:var(--a-d);border-bottom:3px solid var(--b);display:inline-block;padding:0 24px;margin:.2em 0 .4em}
.cert .seal{display:inline-grid;place-items:center;width:96px;height:96px;border-radius:50%;background:var(--b);color:#fff;font-family:Fredoka;font-size:.85rem;line-height:1.1;margin-top:14px;box-shadow:0 0 0 6px #f6e3a6}
.spooky-note{text-align:center;color:var(--muted);font-weight:700;margin-top:24px}
.snow,.floaty{position:fixed;top:-30px;z-index:25;pointer-events:none;color:#fff;text-shadow:0 0 4px rgba(120,140,170,.6);animation:snowfall linear infinite}
@keyframes snowfall{0%{transform:translate(0,0)}50%{transform:translate(30px,55vh)}100%{transform:translate(-10px,110vh)}}
.floaty{animation-name:floatup;top:auto;bottom:-40px;opacity:.6;text-shadow:none}
@keyframes floatup{0%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(24px,-55vh) rotate(8deg)}100%{transform:translate(-12px,-115vh) rotate(-8deg)}}
@media(prefers-reduced-motion:reduce){.snow,.floaty{display:none}}
.xmusic{border:0;background:var(--b);color:#fff;border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit;font-weight:800}
@media(max-width:820px){.wishlist{grid-template-columns:1fr}.letter{padding:30px 22px}.cert{padding:30px 16px}}
@media print{.snow,.floaty,nav.kid,.brandstrip{display:none}}
