/* Independent Christmas module: all selectors and keyframes are scoped. */
body.start #christmasCountdown{display:block!important}
#christmasCountdown{margin:16px 0;border:1px solid #796239;border-radius:16px;background:#151512;color:#f5eedb;overflow:hidden}
#christmasCountdown summary{padding:18px 20px;cursor:pointer;color:#efdaa1;font:700 18px Georgia,serif}
#christmasCountdown summary:focus-visible{outline:2px solid #efdaa1;outline-offset:-4px}
#christmasCountdown .xmas-scene{position:relative;isolation:isolate;overflow:hidden;min-height:480px;background:radial-gradient(ellipse at 75% 20%,#4e492c55,transparent 40%),linear-gradient(155deg,#101e22,#172525 50%,#0c1110)}
#christmasCountdown .xmas-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:-2}
#christmasCountdown .xmas-scene:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10101022 15%,#10101033 45%,#101010ed 100%);pointer-events:none}
#christmasCountdown .xmas-copy{position:relative;z-index:2;padding:235px 24px 24px;text-align:center}
#christmasCountdown .xmas-eyebrow{color:#dfc58c;font-size:10px;letter-spacing:4px;text-transform:uppercase}
#christmasCountdown h2{font:italic 34px Georgia,serif;margin:12px 0 8px;color:#fff3d5}
#christmasCountdown .xmas-date{font-size:12px;color:#d1c9b6;margin:0 0 20px}
#christmasCountdown .xmas-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:560px;margin:auto}
#christmasCountdown .xmas-unit{padding:16px 3px 12px;border:1px solid #8b7040;border-radius:10px;background:linear-gradient(#393429,#171714 49%,#302b21 50%,#191815);box-shadow:inset 0 1px #ead9a340,0 5px 0 #0b0c0a,0 8px 18px #0006}
#christmasCountdown .xmas-unit strong{display:block;font:700 clamp(25px,6vw,55px) Georgia,serif;font-variant-numeric:tabular-nums;color:#ffe6a5;text-shadow:0 2px #8f6d32,0 4px #49371b,0 0 18px #e0b45755}
#christmasCountdown .xmas-unit span{display:block;margin-top:10px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#d6c7a7}
#christmasCountdown .xmas-lights{position:absolute;top:0;width:100%;height:50px;z-index:3;pointer-events:none}
#christmasCountdown .xmas-bulb{animation:xmas-twinkle 3s ease-in-out infinite alternate}
#christmasCountdown .xmas-bulb:nth-child(2n){animation-delay:-1.8s}
#christmasCountdown .xmas-sleigh{position:absolute;top:80px;left:0;width:260px;max-width:65%;animation:xmas-flight 22s linear infinite;pointer-events:none}
#christmasCountdown .xmas-trail{fill:#e9c76a;animation:xmas-twinkle 1.8s ease-in-out infinite alternate}
#christmasCountdown .xmas-tree{position:absolute;right:5%;bottom:210px;width:95px;height:150px;pointer-events:none}
#christmasCountdown .xmas-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none}
#christmasCountdown .xmas-snow i{position:absolute;top:-10px;left:var(--x);width:var(--size);height:var(--size);background:#fff;border-radius:50%;opacity:.7;animation:xmas-snow var(--duration) var(--delay) linear infinite}
#christmasCountdown .xmas-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px 20px}
#christmasCountdown .xmas-tools button,#christmasCountdown .xmas-tools label{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 14px;border:1px solid #665433;border-radius:8px;background:#202019;color:#efdaa1;font:inherit;font-size:12px;cursor:pointer}
#christmasCountdown .xmas-tools input{position:absolute;width:1px;height:1px;opacity:0;min-height:0;padding:0;overflow:hidden}
#christmasCountdown .xmas-tools label:focus-within{outline:2px solid #efdaa1;outline-offset:3px}
#christmasCountdown .xmas-status{width:100%;margin:0;color:#bdb6a5;font-size:12px;line-height:1.5}
#christmasCountdown:not([open]) *,#christmasCountdown.xmas-paused *,#christmasCountdown.xmas-offscreen *{animation-play-state:paused!important}
@keyframes xmas-twinkle{from{opacity:.45}to{opacity:1}}
@keyframes xmas-flight{0%{transform:translateX(-280px) translateY(35px) rotate(-5deg)}50%{transform:translateX(45vw) translateY(-20px) rotate(0deg)}100%{transform:translateX(125vw) translateY(20px) rotate(4deg)}}
@keyframes xmas-snow{to{transform:translate(var(--drift),650px)}}
@media(max-width:420px){#christmasCountdown .xmas-copy{padding:230px 12px 24px}#christmasCountdown h2{font-size:28px}#christmasCountdown .xmas-clock{gap:7px}#christmasCountdown .xmas-unit span{font-size:9px;letter-spacing:.5px}}
@media(prefers-reduced-motion:reduce){#christmasCountdown *{animation:none!important}#christmasCountdown .xmas-sleigh{transform:translateX(15%)}}
/* Outside Christmas, keep the original black and gold palette. */
#christmasCountdown:not([data-season="christmas"]) .xmas-sleigh,
#christmasCountdown:not([data-season="christmas"]) .xmas-tree,
#christmasCountdown:not([data-season="christmas"]) .xmas-photo,
#christmasCountdown:not([data-season="christmas"]) .xmas-tools label,
#christmasCountdown:not([data-season="christmas"]) .xmas-status{display:none}
#christmasCountdown:not([data-season="christmas"]):not([data-season="newyear"]) .xmas-lights,
#christmasCountdown:not([data-season="christmas"]):not([data-season="newyear"]) .xmas-snow,
#christmasCountdown:not([data-season="christmas"]):not([data-season="newyear"]) .xmas-tools{display:none}
#christmasCountdown:not([data-season="christmas"]) .xmas-scene{min-height:0;background:#151512}
#christmasCountdown:not([data-season="christmas"]) .xmas-copy{padding:32px 24px}
#christmasCountdown[data-season="newyear"] .xmas-copy{padding-top:75px}
#christmasCountdown[data-season="newyear"] .xmas-bulb{fill:#dfc58c}
#christmasCountdown .xmas-clock[hidden]{display:none}
