/* ===== Saison-Look: Weihnachten „Technicolor“ (body.xm) – gesteuert von xmas.js ===== */
body.xm { --gold: #f0c35a; --gold2: #ffdd8a; --amber: #e8b84a; --xm1: #e2333f; --xm2: #f0c35a; --xmline: rgba(240,195,90,.35); }
/* Stimmungslicht: goldener Schein von oben, roter Samt an den Rändern */
body.xm::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(80% 60% at 50% 0%, rgba(240,195,90,.09), transparent 70%), radial-gradient(120% 90% at 50% 50%, transparent 60%, rgba(120,10,20,.35)); }
body.xm .wm-light::before { background: linear-gradient(200deg, rgba(240,195,90,.14), transparent 70%) !important; }
body.xm .amb-beam { --bc: 255,200,120 !important; }

/* Goldener Glitzer */
.xm-sparkle { position: fixed; left: var(--rail, 0px); right: 0; top: 0; bottom: 0; pointer-events: none; z-index: 3; overflow: hidden; }
.xm-sparkle i { position: absolute; background: #ffe39a; box-shadow: 0 0 6px rgba(255,210,110,.9); border-radius: 1px; transform: rotate(45deg); animation: xmTwinkle ease-in-out infinite; }
@keyframes xmTwinkle { 0%,100% { opacity: .15; transform: rotate(45deg) scale(.6); } 50% { opacity: 1; transform: rotate(45deg) scale(1.2); } }

/* Glühbirnen-Kette oben auf jeder Seite */
body.xm .page { position: relative; }
.xm-top { position: absolute; left: 0; right: 0; top: -10px; height: 30px; pointer-events: none; z-index: 4; }
.xm-lights { width: 100%; height: 30px; display: block; }
.xm-lights ellipse { filter: drop-shadow(0 0 6px rgba(255,220,140,.85)); }
.xm-bulb { animation: xmGlow 2.4s ease-in-out infinite; }
@keyframes xmGlow { 50% { opacity: .55; } }

/* Stern am Logo */
.rail .brand { position: relative; }
.xm-bd { position: absolute; left: 30px; top: -4px; font-size: 18px; filter: drop-shadow(0 0 6px rgba(255,210,120,.6)); pointer-events: none; }

/* Dashboard-Kachel „Adventskalender“ */
.xm-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr minmax(320px, 420px); gap: 28px; align-items: center; margin: 22px 0 26px; padding: 24px 28px; border-radius: 20px;
  border: 1px solid rgba(240,195,90,.45); box-shadow: inset 0 0 0 4px rgba(240,195,90,.08);
  background: radial-gradient(90% 140% at 0% 0%, rgba(226,51,63,.28), transparent 60%), repeating-linear-gradient(90deg, rgba(0,0,0,.18) 0 2px, transparent 2px 14px), linear-gradient(180deg, #2a0c12, #12080b); }
.xm-k { font-size: 11px; font-weight: 700; letter-spacing: 3px; color: var(--xm2); text-transform: uppercase; }
.xm-h { font-family: var(--serif); font-size: 32px; font-weight: 700; font-style: italic; color: #ffe7b0; margin: 4px 0 8px; line-height: 1.1; text-shadow: 0 2px 0 rgba(120,10,20,.8), 0 0 18px rgba(240,195,90,.35); }
.xm-p { color: #b9b0a6; font-size: 14px; margin: 0; max-width: 560px; line-height: 1.55; }
.xm-stats { display: flex; gap: 18px; margin-top: 14px; flex-wrap: wrap; font-size: 13px; color: #cfc4b6; } .xm-stats b { color: var(--xm2); font-size: 16px; }
.xm-acts { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.xm-btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; font-weight: 700; font-size: 14px; border: 1px solid var(--xmline); color: #f3ead8; text-decoration: none; }
.xm-btn:hover { border-color: var(--xm2); }
.xm-btn.main { background: linear-gradient(135deg, #e2333f, #9e1a25); border-color: transparent; color: #fff; box-shadow: 0 6px 20px rgba(226,51,63,.35); }
.xm-cal { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.xm-door { position: relative; aspect-ratio: 1; border-radius: 4px; border: 1px solid var(--xmline); background: linear-gradient(180deg, rgba(240,195,90,.10), rgba(240,195,90,.03)); color: #e9dfcf; display: grid; place-items: center; }
.xm-door b { font-family: var(--serif); font-size: 18px; }
.xm-door.open { background: rgba(0,0,0,.2); color: #6c665e; border-style: dashed; }
.xm-door.open i { position: absolute; right: 5px; bottom: 3px; font-style: normal; font-size: 11px; color: var(--xm2); }
.xm-door.today { background: linear-gradient(135deg, #e2333f, #8f1622); color: #ffe7b0; border-color: transparent; box-shadow: 0 0 0 2px rgba(240,195,90,.8), 0 0 24px rgba(226,51,63,.6); animation: xmPulse 2.6s ease-in-out infinite; }
@keyframes xmPulse { 50% { transform: scale(1.06); } }
@media (max-width: 760px) { .xm-card { grid-template-columns: 1fr; padding: 20px; } .xm-h { font-size: 26px; } .xm-cal { gap: 6px; } .xm-door b { font-size: 15px; } }
@media (prefers-reduced-motion: reduce) { .xm-sparkle i, .xm-bulb, .xm-door.today { animation: none; } }
