body.tj-season-christmas-markets{overflow-x:clip}body.tj-season-christmas-markets .tj-hero{position:relative;isolation:isolate;padding-top:34px;padding-bottom:255px;margin-bottom:8px}body.tj-season-christmas-markets .tj-hero::before,body.tj-season-christmas-markets .tj-hero::after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;pointer-events:none}body.tj-season-christmas-markets .tj-hero::before{background:url("/img/christmas/scene.svg") center bottom / auto 230px repeat-x,radial-gradient(ellipse at 50% 0%,#24496b 0%,transparent 60%),linear-gradient(180deg,#0a1b2d 0%,#11304b 70%,#183c5a 100%)}body.tj-season-christmas-markets .tj-hero::after{background-image:radial-gradient(2px 2px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(2px 2px at 90px 120px,#fff 50%,transparent 51%),radial-gradient(3px 3px at 160px 60px,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(2px 2px at 230px 170px,#fff 50%,transparent 51%),radial-gradient(3px 3px at 60px 200px,rgba(255,255,255,.8) 50%,transparent 51%),radial-gradient(2px 2px at 130px 250px,#fff 50%,transparent 51%),radial-gradient(4px 4px at 200px 10px,rgba(255,255,255,.7) 50%,transparent 51%);background-size:260px 280px;opacity:.75;animation:xm-snow 18s linear infinite}@keyframes xm-snow{from{background-position:0 0}to{background-position:40px 280px}}@media (prefers-reduced-motion:reduce){body.tj-season-christmas-markets .tj-hero::after{animation:none}}body.tj-season-christmas-markets .tj-hero h1{color:#fffaf0;text-shadow:0 2px 18px rgba(0,0,0,.35)}body.tj-season-christmas-markets .tj-hero .tj-hero-tagline{color:#f6d98f}body.tj-season-christmas-markets .tj-hero a{color:#fffaf0}@media (max-width:640px){body.tj-season-christmas-markets .tj-hero{padding-bottom:175px}body.tj-season-christmas-markets .tj-hero::before{background-size:auto 150px,auto,auto}}body.tj-season-christmas-markets .fcal-theme-art{display:none}.xm-where{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));margin:6px 0 30px}.xm-col{background:var(--tj-surface);border:1px solid var(--tj-border);border-radius:16px;padding:16px 18px 12px;border-top:4px solid #c8323a}.xm-col:nth-child(2){border-top-color:#1f6b45}.xm-col:nth-child(3){border-top-color:#d9a730}.tj-prose .xm-col h3,.xm-col h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:1.05rem}.xm-col h3 svg{flex:none;color:#d9a730}.tj-prose ul.xm-list,.xm-list,body.tj-season-christmas-markets .xm-col ul.xm-list{list-style:none;margin:0;padding:0}.tj-prose ul.xm-list li,.xm-list li,body.tj-season-christmas-markets .xm-col ul.xm-list li{margin:0;padding:0}.xm-list a{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--tj-border);color:var(--tj-text);text-decoration:none;font-weight:600}.xm-list li:last-child a{border-bottom:0}.xm-list a:hover{color:var(--tj-accent);text-decoration:none}.xm-list a span{color:var(--tj-muted);font-weight:500;font-variant-numeric:tabular-nums}.xm-col details{margin-top:4px}.xm-col summary{cursor:pointer;padding:8px 0 4px;color:var(--tj-accent);font-weight:650;list-style:none}.xm-col summary::-webkit-details-marker{display:none}.xm-col summary::after{content:" +"}.xm-col details[open] summary::after{content:" -"}body:has(.xm-band){overflow-x:clip}.xm-band{position:relative;width:100vw;margin:0 0 26px calc(50% - 50vw);height:190px;background:url("/img/christmas/scene.svg") center bottom / auto 190px repeat-x,radial-gradient(ellipse at 50% 0%,#24496b 0%,transparent 60%),linear-gradient(180deg,#0a1b2d 0%,#11304b 70%,#183c5a 100%)}.xm-band::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(2px 2px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(2px 2px at 90px 120px,#fff 50%,transparent 51%),radial-gradient(3px 3px at 160px 60px,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(2px 2px at 230px 170px,#fff 50%,transparent 51%),radial-gradient(3px 3px at 60px 200px,rgba(255,255,255,.8) 50%,transparent 51%);background-size:260px 280px;opacity:.75;animation:xm-snow 18s linear infinite}@media (prefers-reduced-motion:reduce){.xm-band::after{animation:none}}@media (max-width:640px){.xm-band{height:130px;background-size:auto 130px,auto,auto;margin-bottom:18px}}.xm-stats{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px;padding:0}.xm-stats li{margin:0;padding:7px 14px;border-radius:999px;background:#eef5ef;color:#1d4d33;font-size:.9rem;line-height:1.3}.xm-stats b{font-weight:700;color:#b3262e}:root[data-theme="dark"] .xm-stats li{background:#1d2f25;color:#d6e8dc}:root[data-theme="dark"] .xm-stats b{color:#f2a7a0}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .xm-stats li{background:#1d2f25;color:#d6e8dc}:root:not([data-theme="light"]) .xm-stats b{color:#f2a7a0}}.xm-places{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}.xm-places>li{margin:0}.xm-place{position:relative;display:flex;flex-direction:column;height:100%;border-radius:16px;overflow:hidden;border:1px solid var(--tj-border);background:var(--tj-surface)}.xm-place-img{display:block;aspect-ratio:3 / 2;background:#11304b}.xm-place-img img{display:block;width:100%;height:100%;object-fit:cover}.xm-place-art{background:url("/img/christmas/scene.svg") center bottom / auto 78% repeat-x,linear-gradient(180deg,#0a1b2d 0%,#183c5a 100%)}.xm-credit{display:block;padding:3px 14px 0;font-size:.68rem;line-height:1.35;color:var(--tj-muted)}.xm-credit a{color:inherit;text-decoration:none}.xm-places .xm-place.tj-card{padding:0;gap:0}.xm-where-go{margin-top:26px}.xm-place-body{padding:10px 14px 0}.xm-places .xm-place-body h3{margin:0;font-family:var(--tj-display);font-size:1.3rem;font-weight:600;line-height:1.2}.xm-place-body h3 a{color:var(--tj-text);text-decoration:none}.xm-place-meta{margin:4px 0 0;color:var(--tj-muted);font-size:.9rem}.xm-place-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:auto 0 0;padding:12px 14px 14px}.xm-go{color:#b3262e;font-weight:650;font-size:.92rem;text-decoration:none}.xm-go::after{content:" \2192"}a.xm-stay,.tj-xmas-market a.xm-stay{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#1f5e3a;color:#fff;font-size:.86rem;font-weight:650;text-decoration:none;position:relative;z-index:2;white-space:nowrap}a.xm-stay:hover{text-decoration:none;filter:brightness(1.08)}a.xm-stay svg{flex:none}.xm-mkt .xm-hours,.xm-mkt .xm-entry{margin:6px 0 0;font-size:.86rem;line-height:1.45;color:var(--tj-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.xm-mkt .xm-hours b,.xm-mkt .xm-entry-long b{font-weight:650;color:var(--tj-muted);margin-right:4px}.xm-mkt .xm-entry-long{margin:6px 0 0;font-size:.86rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.xm-mkt .xm-entry{display:inline-block;margin-top:6px;padding:2px 9px;border-radius:999px;background:#fbeee4;color:#8a3b12;font-size:.78rem;-webkit-line-clamp:1;align-self:flex-start;width:fit-content}.tj-fcal .fcal-group-head h2{margin:0 0 12px;font-size:clamp(1.35rem,3vw,1.75rem)}.xm-tours .xm-sub,.xm-glance>p{color:var(--tj-muted);margin:-4px 0 14px}.xm-visit-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.tj-xmas-visit{padding:16px 16px 6px;border:1px solid var(--tj-border);border-radius:14px;background:var(--tj-surface);border-top:4px solid #1f5e3a}.tj-xmas-visit h3{margin:0 0 8px;font-size:1.05rem}.tj-xmas-visit h3 a{text-decoration:none;color:var(--tj-text)}.xm-town-photo{margin:16px 0 0;max-width:720px;border-radius:16px;overflow:hidden}.xm-town-photo .xm-place-img{aspect-ratio:16 / 7}.tj-xmas-market .xm-mkt-full{padding:18px 20px 4px;border:1px solid var(--tj-border);border-radius:16px;background:var(--tj-surface);border-top:4px solid #b3262e}.tj-xmas-market .xm-mkt-full h2{margin:2px 0 8px}.xm-mkt-when{display:flex;align-items:center;gap:6px;margin:0;color:#1f5e3a;font-weight:650;font-size:.92rem}.tj-xmas-market .xm-place-next{padding:4px 0 14px}.xm-glance .tj-table td,.xm-glance .tj-table th{font-size:.88rem}@media (max-width:640px){.xm-places{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}.xm-places::-webkit-scrollbar{display:none}.xm-places>li{flex:0 0 72%;scroll-snap-align:start}}