/* Neustädter Krug — Christmas event art direction, isolated from all planner UI. */
.nk-public .nk-xmas-card {
  --nx-gold: #e6bf79;
  --nx-cream: #fff1d3;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: block;
  width: 100%;
  min-height: 276px;
  margin: 0;
  color: var(--nx-cream);
  background: radial-gradient(ellipse at 73% 18%, #285745 0%, #174335 34%, #0a2b24 76%, #09251e 100%);
  border: 2px solid #b89a5b;
  border-radius: 17px;
  box-shadow: 0 12px 28px rgba(30, 27, 19, .17), inset 0 0 0 3px rgba(9, 32, 26, .82), inset 0 0 0 4px rgba(234, 204, 138, .24);
  transition: transform .35s ease, box-shadow .35s ease;
}
.nk-public .nk-xmas-card:focus-within { outline: 2px solid #e5bf82; outline-offset: 3px; }
@media (hover:hover) and (pointer:fine) {
 .nk-public .nk-xmas-card:hover { transform: translateY(-3px); box-shadow: 0 17px 36px rgba(30,27,19,.22), inset 0 0 0 3px rgba(9,32,26,.8), inset 0 0 0 4px rgba(234,204,138,.26); }
}
.nk-public .nk-xmas-card-inner {
 position:relative; z-index:3; box-sizing:border-box;
 display:grid; grid-template-columns: 210px minmax(0,1fr);
 align-items:center; gap:37px;
 width:100%; min-height:276px; padding:55px 305px 43px 46px;
}
.nk-public .nk-xmas-meta { display:flex; flex-direction:column; align-items:flex-start; gap:15px; min-width:0; align-self:center; padding-right:22px; border-right:1px solid rgba(231,194,126,.68); }
.nk-public .nk-xmas-pill { display:inline-flex; align-items:center; border:1px solid #d9b26b; border-radius:7px; color:#f2d49b; font:800 .72rem/1.2 "Alegreya Sans",sans-serif; letter-spacing:.15em; padding:6px 12px; background:#122d22; margin-bottom:3px; }
.nk-public .nk-xmas-meta-item { display:flex; align-items:center; gap:12px; min-width:0; color:#fdf0d5; font:500 clamp(1rem,2vw,1.35rem)/1.3 "Bitter",Georgia,serif; white-space:nowrap; }
.nk-public .nk-xmas-meta-item strong { font-weight:700; }
.nk-public .nk-xmas-meta-item svg { width:23px; height:23px; flex:0 0 23px; fill:none; stroke:#efc679; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.nk-public .nk-xmas-main { min-width:0; max-width:660px; }
.nk-public .nk-xmas-main h3 { margin:0; color:#fff0ce; font:700 clamp(1.6rem,2.7vw,2.45rem)/1.13 "Bitter",Georgia,serif; letter-spacing:-.037em; text-wrap:balance; overflow-wrap:anywhere; text-shadow:0 2px 12px #06251bbf; }
.nk-public .nk-xmas-main h3 a { color:inherit; text-decoration:none; }
.nk-public .nk-xmas-main h3 a:hover,.nk-public .nk-xmas-main h3 a:focus-visible { text-decoration:underline; text-decoration-color:#d9b26b; text-underline-offset:5px; }
.nk-public .nk-xmas-main p { max-width:590px; margin:12px 0 0; color:#f6e7cf; font:400 clamp(.96rem,1.4vw,1.1rem)/1.47 "Alegreya Sans",sans-serif; text-wrap:pretty; text-shadow:0 1px 8px #08241c; }
.nk-public .nk-xmas-actions { display:flex; align-items:center; gap:13px 19px; flex-wrap:wrap; margin-top:20px; }
.nk-public .nk-xmas-link { display:inline-flex; align-items:center; justify-content:center; gap:17px; min-height:46px; padding:10px 19px; color:#392516; background:linear-gradient(180deg,#fff3d8,#eec995); border:1px solid #cf9c59; border-radius:8px; box-shadow:0 5px 16px rgba(4,23,16,.25), inset 0 1px 0 rgba(255,255,255,.75); font:800 .98rem/1.1 "Alegreya Sans",sans-serif; text-decoration:none; transition:transform .2s,background .2s,box-shadow .2s; }
.nk-public .nk-xmas-link span[aria-hidden] { font-size:1.35rem; line-height:1; }
.nk-public .nk-xmas-link:hover { color:#2b2117; background:#fff6e4; transform:translateY(-2px); box-shadow:0 8px 19px rgba(4,23,16,.32); }
.nk-public .nk-xmas-link:focus-visible { outline:3px solid white; outline-offset:3px; }
.nk-public .nk-xmas-status { color:#e9d1a6; font-size:.77rem; font-weight:700; letter-spacing:.025em; }
.nk-public .nk-xmas-card--cancelled { filter:saturate(.67); }
.nk-public .nk-xmas-card--cancelled .nk-xmas-pill { color:#fff0e5; border-color:#dfb0a1; }
.nk-public .nk-xmas-atmosphere { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.nk-public .nk-xmas-atmosphere::after { content:""; position:absolute; inset:0; z-index:3; background:linear-gradient(90deg,rgba(6,35,27,.22) 0%,rgba(6,35,27,.08) 53%,transparent 83%),linear-gradient(0deg,rgba(3,24,18,.25),transparent 60%); }
.nk-public .nk-xmas-mist { position:absolute; inset:0; background:radial-gradient(ellipse at 70% 95%,rgba(186,207,167,.12),transparent 55%),radial-gradient(ellipse at 45% 15%,rgba(147,175,132,.11),transparent 48%); }
.nk-public .nk-xmas-forest { position:absolute; right:0; bottom:-6px; width:100%; height:73%; opacity:.73; }
.nk-public .nk-xmas-snow { position:absolute; inset:-120px 0 0; width:100%; height:calc(100% + 130px); background-repeat:repeat; will-change:background-position; }
.nk-public .nk-xmas-snow--back { opacity:.35; background-image:radial-gradient(1.3px 1.3px at 14px 25px,rgba(241,250,229,.92) 95%,transparent),radial-gradient(1px 1px at 68px 54px,rgba(241,250,229,.92) 95%,transparent); background-size:83px 94px,121px 137px; }
.nk-public .nk-xmas-snow--front { opacity:.68; background-image:radial-gradient(2px 2px at 35px 19px,rgba(255,250,226,.92) 95%,transparent),radial-gradient(1.5px 1.5px at 82px 63px,rgba(255,249,229,.82) 95%,transparent); background-size:131px 117px,97px 149px; }
.nk-public .nk-xmas-garland { position:absolute; top:0; left:0; width:100%; height:70px; z-index:4; overflow:visible; }
.nk-public .nk-xmas-garland .nk-xmas-bulb circle:last-child { filter:drop-shadow(0 0 3px rgba(255,210,112,.85)); }
.nk-public .nk-xmas-garland .nk-xmas-bulb circle:first-child { transform-box:fill-box; transform-origin:center; opacity:.1; }
.nk-public .nk-xmas-illustration { position:absolute; right:6px; bottom:0; height:min(102%,340px); width:295px; z-index:2; filter:drop-shadow(-10px 12px 19px rgba(1,20,15,.44)); }
.nk-public .nk-xmas-tree-art { transform-origin:50% 100%; }
.nk-public .nk-xmas-star { filter:drop-shadow(0 0 7px rgba(255,222,146,.85)); transform-origin:50% 50%; }
.nk-public .nk-xmas-lantern { filter:drop-shadow(0 0 8px rgba(239,185,98,.3)); }
.nk-public .nk-xmas-motion-toggle { position:absolute; z-index:5; right:13px; top:13px; display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid rgba(239,215,168,.44); border-radius:50%; background:rgba(9,36,28,.63); color:#fff0ce; font:800 13px/1 sans-serif; cursor:pointer; opacity:.77; transition:opacity .2s,background .2s; }
.nk-public .nk-xmas-motion-toggle:hover,.nk-public .nk-xmas-motion-toggle:focus-visible { opacity:1; background:#214b3b; }
.nk-public .nk-xmas-motion-toggle:focus-visible { outline:2px solid #fff0ce; outline-offset:3px; }
.nk-public .nk-xmas-motion-toggle[aria-pressed="true"] { color:#fbe1a3; }
.nk-public .nk-xmas-motion-toggle[aria-pressed="true"] span { font-size:16px; }
/* All ambient motion requires JS activation and viewport visibility. */
.nk-public .nk-xmas-card.nk-xmas-active .nk-xmas-snow--back { animation:nk-xmas-fall-back 23s linear infinite; }
.nk-public .nk-xmas-card.nk-xmas-active .nk-xmas-snow--front { animation:nk-xmas-fall-front 17s linear infinite; }
.nk-public .nk-xmas-card.nk-xmas-active .nk-xmas-bulb { animation:nk-xmas-glimmer 6s ease-in-out infinite; animation-delay:calc(var(--bulb-index) * .18s); }
.nk-public .nk-xmas-card.nk-xmas-active .nk-xmas-star { animation:nk-xmas-star-glow 6s ease-in-out infinite alternate; }
.nk-public .nk-xmas-card.nk-xmas-active .nk-xmas-lantern { animation:nk-xmas-lantern-glow 6s ease-in-out infinite alternate; }
@keyframes nk-xmas-fall-back { from {background-position:0 0,0 0} to {background-position:22px 188px,-19px 274px} }
@keyframes nk-xmas-fall-front { from {background-position:0 0,0 0} to {background-position:31px 234px,-10px 298px} }
@keyframes nk-xmas-glimmer { 0%,35%,100% { opacity:.83; filter:brightness(1) } 43%,48% { opacity:1; filter:brightness(1.55) } 55% { opacity:.88; filter:brightness(1) } }
@keyframes nk-xmas-star-glow { 0%,100% {filter:drop-shadow(0 0 5px #ffe19a)} 50% {filter:drop-shadow(0 0 13px #ffe19a)} }
@keyframes nk-xmas-lantern-glow { from {filter:brightness(.9) drop-shadow(0 0 4px #e6b76c66)} to {filter:brightness(1.12) drop-shadow(0 0 11px #e6b76c88)} }
/* Normal public events retain their CMS workflow; simply become easier to scan. */
.nk-public .nk-date-list { display:grid; gap:22px; border-top:0; }
.nk-public .nk-date-list > .nk-date-row { border:1px solid #cbb89d; border-radius:13px; padding:23px 25px; background:rgba(255,250,241,.64); box-shadow:0 5px 15px rgba(60,42,25,.045); }
.nk-public .nk-date-list > .nk-date-row .nk-date-decoration:empty { display:none; }
.nk-public .nk-date-list > .nk-date-row h3 {font-size:clamp(1.35rem,2.1vw,1.75rem);}
.nk-public .nk-events-stack { display:grid; grid-template-columns:1fr; gap:22px; }
.nk-public .nk-events-stack > .nk-event-card { margin:0; }
.nk-public .nk-events-stack > .nk-xmas-card { grid-column:1/-1; }
.nk-public .nk-xmas-section-title { font:700 1.38rem/1.2 "Bitter",Georgia,serif; color:#6e3523; padding:4px 0 0; }
@media (max-width:1090px) {
 .nk-public .nk-xmas-card-inner { grid-template-columns:187px minmax(0,1fr); gap:27px; padding:48px 225px 38px 28px; }
 .nk-public .nk-xmas-illustration { width:233px; }
 .nk-public .nk-xmas-main h3 { font-size:clamp(1.48rem,2.8vw,2.1rem); }
}
@media (max-width:740px) {
 .nk-public .nk-xmas-card { min-height:320px; border-radius:13px; }
 .nk-public .nk-xmas-card-inner { min-height:320px; display:flex; flex-direction:column; gap:17px; align-items:flex-start; padding:59px 25px 34px; }
 .nk-public .nk-xmas-meta { width:100%; border:0; padding:0; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8px 12px; }
 .nk-public .nk-xmas-pill { grid-column:1/-1; margin-bottom:0; justify-self:start; }
 .nk-public .nk-xmas-meta-item { white-space:normal; gap:7px; font-size:.99rem; }
 .nk-public .nk-xmas-meta-item svg {width:18px;height:18px; flex-basis:18px;}
 .nk-public .nk-xmas-main {max-width:100%; position:relative; z-index:3; }
 .nk-public .nk-xmas-main h3 {font-size:clamp(1.52rem,5.5vw,2.1rem);max-width:100%; }
 .nk-public .nk-xmas-main p {font-size:1rem; line-height:1.46; max-width:90%; }
 .nk-public .nk-xmas-illustration {width:230px; height:230px; right:-45px; opacity:.54; }
 .nk-public .nk-xmas-atmosphere::after {background:linear-gradient(90deg,rgba(6,35,27,.61),rgba(6,35,27,.45) 58%,rgba(6,35,27,.07));}
 .nk-public .nk-xmas-garland {height:62px;}
 .nk-public .nk-xmas-actions {margin-top:18px;gap:10px 16px;}
}
@media (max-width:440px) {
 .nk-public .nk-xmas-card-inner {padding:56px 17px 28px;}
 .nk-public .nk-xmas-meta {grid-template-columns:1fr; gap:7px;}
 .nk-public .nk-xmas-main p {max-width:100%;}
 .nk-public .nk-xmas-actions {align-items:flex-start;flex-direction:column;}
 .nk-public .nk-xmas-illustration {right:-82px;width:211px;bottom:-5px;opacity:.43;}
 .nk-public .nk-xmas-link {min-height:44px;padding:10px 15px;}
 .nk-public .nk-date-list > .nk-date-row {padding:18px;}
}
@media (prefers-reduced-motion:reduce) {
 .nk-public .nk-xmas-card,.nk-public .nk-xmas-card * { animation:none!important;transition:none!important; }
 .nk-public .nk-xmas-motion-toggle {display:none;}
}

