:root{--red:#990b14;--deep:#65080e;--gold:#d9a52f;--cream:#fff8e9;--green:#204b35}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#fffaf0;color:#35241f}.site-header{background:linear-gradient(110deg,#69070c,#ad111b);border-bottom:3px solid var(--gold)}.navbar-brand{font-weight:900;letter-spacing:-.5px}.navbar-brand span{color:#ffe1a0}.navbar .nav-link{color:#fff8e9!important;font-weight:600}.navbar .nav-link:hover{color:#f8c84d!important}.hero{position:relative;background:radial-gradient(circle at 75% 30%,#c41c26,#85080f 65%,#5a070b);color:white;padding:75px 0 80px;overflow:hidden}.hero:before{content:'✦  ❄  ✦  ❄  ✦';position:absolute;inset:10px auto auto 2%;font-size:48px;color:#e3b94b33;letter-spacing:22px}.hero h1{font-size:clamp(2.5rem,5.5vw,5rem);line-height:1.06;font-weight:950;letter-spacing:-2px;text-shadow:0 5px 0 #55030a}.gold{color:#ffd66e}.hero .lead{color:#ffedc8}.hero-poster{border:5px solid #f2c65a;border-radius:18px;box-shadow:0 24px 65px #39000599;max-height:510px;object-fit:contain}.tagline{color:var(--gold);font-weight:800;letter-spacing:2px;text-transform:uppercase}.btn-gold{background:linear-gradient(#ffdf80,#e4ac33);color:#52140b;font-weight:800;border:0;padding:12px 24px}.btn-gold:hover{background:#ffe6a0;color:#52140b}.btn-red{background:var(--red);color:white}.btn-red:hover{background:var(--deep);color:white}.section{padding:70px 0}.section-title{font-weight:900;color:var(--deep);letter-spacing:-1px}.info-card,.content-card{background:#fff;border:1px solid #f0dfbd;border-radius:18px;box-shadow:0 8px 25px #603c1810;overflow:hidden}.info-card{padding:25px;height:100%}.info-card .symbol{font-size:2rem}.content-card img{width:100%;height:215px;object-fit:cover}.content-card .card-body{padding:23px}.light-section{background:#f7edda}.ribbon{background:var(--green);color:#fff;padding:35px 0}.site-footer{background:#57070d;color:#fff0d5;padding:25px 0;font-size:.9rem}.site-footer a{color:#ffda78;text-decoration:none}.page-hero{background:linear-gradient(110deg,#780911,#ad1a23);color:#fff;padding:60px 0;border-bottom:5px solid var(--gold)}.page-hero h1{font-weight:900}.badge-gold{background:#f7e0a5;color:#6c2508}.program-time{font-size:1.5rem;font-weight:900;color:var(--red)}.gallery-thumb{width:100%;height:220px;object-fit:cover;border-radius:14px;cursor:pointer;transition:transform .2s}.gallery-thumb:hover{transform:scale(1.025)}.admin-body{background:#f6f2e9}.admin-bar{background:#6e0a10;color:white}.admin-bar a{color:#fff;text-decoration:none}.table img{width:75px;height:55px;object-fit:cover}.text-wrap-pre{white-space:pre-line}.countdown{display:flex;gap:10px;flex-wrap:wrap}.countdown div{background:#ffffff1a;border:1px solid #ffd66e77;border-radius:12px;min-width:85px;text-align:center;padding:12px}.countdown strong{display:block;font-size:1.6rem;color:#ffdb78}@media(max-width:767px){.hero{padding:55px 0}.section{padding:45px 0}.hero-poster{max-height:400px}.navbar-brand{font-size:1rem}}

/* Vereinslogos: einheitliche, klickbare Karten */
.club-logo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:178px;height:100%;padding:18px 12px;text-align:center;text-decoration:none;color:#532e26;background:#fff;border:1px solid #ead8b7;border-radius:17px;box-shadow:0 7px 22px #6b3d1d12;transition:transform .2s,box-shadow .2s,border-color .2s}
.club-logo-area{height:95px;width:100%;display:flex;align-items:center;justify-content:center}.club-logo-area img{max-height:88px;max-width:100%;width:auto;height:auto;object-fit:contain}.club-placeholder{font-size:48px;color:#c6a56b}.club-name{font-size:.9rem;font-weight:750;margin-top:10px;line-height:1.3}.club-link-hint{font-size:.69rem;color:#906a4a;margin-top:5px}.club-logo-link:hover,.club-logo-link:focus-visible{color:#8f1015;border-color:#d9a52f;box-shadow:0 12px 28px #6b3d1d25;transform:translateY(-3px)}.club-logo-link:focus-visible{outline:3px solid #d9a52f;outline-offset:3px}@media(max-width:575px){.club-logo-card{min-height:155px;padding:12px 9px}.club-logo-area{height:76px}.club-logo-area img{max-height:70px}}

/* One-page Navigation */
html{scroll-behavior:smooth;scroll-padding-top:30px}section[id]{scroll-margin-top:30px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Admin Version 1.3 */
.admin-list-card{width:100%;min-height:180px}.admin-data-table{min-width:620px}.admin-data-table td,.admin-data-table th{padding:1rem .7rem;vertical-align:middle}.admin-thumb,.admin-thumb-placeholder{display:flex;align-items:center;justify-content:center;width:68px;height:55px;object-fit:contain;border:1px solid #e9dfce;background:#fff;border-radius:10px}.admin-thumb-placeholder{color:#c7a26b;font-size:25px}.admin-preview{max-width:180px;max-height:110px;object-fit:contain;border-radius:8px}.modal-content{border:1px solid #ebd8b9;border-radius:18px;overflow:hidden}.modal-header{background:#fff9ed}.modal-footer{background:#fffaf3}

/* Weihnachtsdesign v1.4 – nur öffentliche Seiten */
body:not(.admin-body){background:#fffaf0;background-image:radial-gradient(circle at 15% 20%,#e6b74c13 0 2px,transparent 3px);background-size:62px 62px}
body:not(.admin-body) .site-header{position:relative;z-index:20;box-shadow:0 5px 25px #48000844}
body:not(.admin-body) .site-header:after{content:"";position:absolute;bottom:-9px;left:0;right:0;height:13px;background:radial-gradient(circle at 12px 0,#f1c45a 3px,transparent 4px) repeat-x;background-size:27px 12px;pointer-events:none}
body:not(.admin-body) .hero{background:radial-gradient(ellipse at 75% 25%,#c81c26 0%,#940c17 48%,#51060c 100%);border-bottom:6px solid #e6ba56}
body:not(.admin-body) .hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 17%,#ffeab477 0 2px,transparent 5px),radial-gradient(circle at 80% 65%,#ffeab466 0 2px,transparent 5px),radial-gradient(circle at 43% 79%,#fff1c177 0 2px,transparent 6px);background-size:220px 210px,300px 290px,370px 350px;opacity:.8}
body:not(.admin-body) .hero>.container{position:relative;z-index:1}
body:not(.admin-body) .hero h1 .gold{background:linear-gradient(180deg,#fff5c5,#fbd36c 45%,#d38a19);color:transparent;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 3px 0 #5b1309)}
body:not(.admin-body) .hero-poster{border-color:#f6d47c;box-shadow:0 0 0 5px #fff4d126,0 22px 60px #2d000aaa}
body:not(.admin-body) .section-title:after{content:"✦ ❄ ✦";display:block;color:#c39a3e;font-size:17px;letter-spacing:10px;margin:12px auto 0;font-weight:400}
body:not(.admin-body) .info-card,body:not(.admin-body) .content-card,body:not(.admin-body) .club-logo-card{border-color:#e6cf99;box-shadow:0 10px 28px #6c300c15}
body:not(.admin-body) .club-logo-card:hover{border-color:#c69a32;box-shadow:0 12px 30px #a16d2b33}
body:not(.admin-body) .light-section{background:linear-gradient(135deg,#f9efdc,#fff9ee 48%,#f7ead1)}
body:not(.admin-body) .page-hero{background:radial-gradient(ellipse at 75% 20%,#b91922,#69080f)}
body:not(.admin-body) .btn-gold{box-shadow:0 4px 0 #995e13}
body:not(.admin-body) .btn-red{background:linear-gradient(#b51520,#850812);border-color:#810812}
body:not(.admin-body) .site-footer{border-top:5px solid #d9a52f}
.snow-layer{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden;contain:strict}
.snowflake{position:absolute;top:-35px;left:var(--x);color:#fff;font-size:var(--size);opacity:var(--opacity);text-shadow:0 1px 3px #29425799,0 0 2px #325168;animation:snowfall var(--duration) linear var(--delay) infinite;will-change:transform;user-select:none}
@keyframes snowfall{from{transform:translate3d(0,-35px,0) rotate(0deg)}to{transform:translate3d(var(--drift),calc(100vh + 70px),0) rotate(240deg)}}
.snow-toggle{position:fixed;right:16px;bottom:18px;z-index:40;background:#710c15ed;border:1px solid #f1cf7c;border-radius:30px;color:#fff;padding:9px 14px;font-size:.83rem;box-shadow:0 4px 15px #3006;cursor:pointer}
.snow-toggle:focus-visible{outline:3px solid #e6b84b;outline-offset:3px}
body.snow-off .snow-layer{display:none}
@media(max-width:767px){.snow-toggle{bottom:10px;right:10px;padding:7px 10px;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.snow-layer{display:none!important}.snow-toggle{display:none!important}}

/* Version 1.5 – dezente, eigens gestaltete Weihnachtsornamente */
body:not(.admin-body) .site-header{background-image:linear-gradient(110deg,#69070c,#ad111b)}
.festive-top{position:absolute;z-index:21;left:0;right:0;top:61px;height:125px;pointer-events:none;background:url('garland.svg') center top / min(1200px,100%) 125px no-repeat}
.festive-bells{position:absolute;width:130px;height:auto;top:0;left:calc(50% - 65px);filter:drop-shadow(0 5px 7px #29000080)}
.festive-side{position:absolute;z-index:2;pointer-events:none;width:145px;opacity:.85;filter:drop-shadow(0 10px 10px #4b2b1840)}
.festive-side img{display:block;width:100%;height:auto}
.festive-side-left{top:950px;left:max(0px,calc((100vw - 1420px)/2))}
.festive-side-right{top:1570px;right:max(0px,calc((100vw - 1420px)/2));transform:scaleX(-1)}
body:not(.admin-body) .hero{padding-top:145px}
body:not(.admin-body) .page-hero{padding-top:140px}
body:not(.admin-body) .section-title:before{content:'✧';display:inline-block;color:#c49b3e;font-size:.55em;vertical-align:middle;margin-right:12px}
body:not(.admin-body) .club-logo-card{background:linear-gradient(160deg,#fff,#fffaf0);border:1px solid #e5c988}
body:not(.admin-body) .club-logo-card:after{content:'✦';color:#d3a443;font-size:10px;margin-top:7px}
body:not(.admin-body) #programm .info-card{border-left:5px solid #cda344}
body:not(.admin-body) .site-footer{position:relative}
body:not(.admin-body) .site-footer:before{content:'';position:absolute;top:-33px;left:0;right:0;height:36px;pointer-events:none;background:url('garland.svg') center top / 900px auto repeat-x;opacity:.65}
@media(max-width:1350px){.festive-side{width:85px;opacity:.4}.festive-side-left{left:0}.festive-side-right{right:0}}
@media(max-width:991px){.festive-top{top:55px;height:86px;background-size:950px 95px}.festive-bells{width:90px;left:calc(50% - 45px)}body:not(.admin-body) .hero{padding-top:110px}body:not(.admin-body) .page-hero{padding-top:100px}.festive-side{display:none}}
@media(max-width:575px){.festive-top{height:65px;background-size:690px 75px}.festive-bells{width:68px;left:calc(50% - 34px)}body:not(.admin-body) .hero{padding-top:95px}body:not(.admin-body) .page-hero{padding-top:95px}}
@media(prefers-reduced-motion:reduce){.festive-top,.festive-side{animation:none}}

/* Patch 1.5.1: fotorealistischer Hero, ohne Aenderung des Layouts */
body:not(.admin-body) .hero{
  background-image:linear-gradient(90deg,rgba(64,3,10,.56) 0%,rgba(89,5,14,.38) 43%,rgba(47,5,12,.25) 100%),url('hero-weihnachtsmarkt.webp');
  background-position:center center; background-size:cover; background-repeat:no-repeat;
  padding-top:170px; padding-bottom:85px; min-height:620px;
}
/* Die alte SVG-Girlande nicht ueber das neue Fotomotiv legen */
body:has(.hero) .festive-top{display:none}
body:not(.admin-body) .hero:before{display:none}
body:not(.admin-body) .hero:after{opacity:.22}
body:not(.admin-body) .hero h1{text-shadow:0 3px 15px rgba(40,0,5,.75)}
body:not(.admin-body) .hero .lead,body:not(.admin-body) .hero p{text-shadow:0 2px 8px rgba(25,0,4,.9)}
body:not(.admin-body) .hero-poster{box-shadow:0 0 0 4px rgba(255,235,176,.22),0 22px 55px rgba(26,0,4,.65)}
@media(max-width:991px){body:not(.admin-body) .hero{padding-top:150px;min-height:0;background-position:52% center;background-image:linear-gradient(90deg,rgba(68,3,10,.75),rgba(69,3,10,.48)),url('hero-weihnachtsmarkt.webp')}}
@media(max-width:575px){body:not(.admin-body) .hero{padding-top:135px;padding-bottom:55px;background-position:50% center;background-image:linear-gradient(90deg,rgba(63,2,9,.83),rgba(64,2,9,.68)),url('hero-weihnachtsmarkt.webp')}}
