/* Modernes Fußball-Design – ausschließlich für die öffentliche Startseite */
:root{--pitch:#007a42;--pitch-dark:#003522;--pitch-deep:#001f16;--lime:#31d477;--chalk:#f8fff9;--mist:#eef7f1;--gold:#f2c94c;--ink:#173126}
html{scroll-behavior:smooth}
body.public-page{background:linear-gradient(180deg,#eaf4ed 0,#f8fbf9 45%,#e8f2eb 100%);color:var(--ink)}
.side-menu{overflow:hidden;background:linear-gradient(155deg,#004a2c 0%,#002e20 58%,#001d15 100%);border-right:1px solid #ffffff24;box-shadow:12px 0 40px #001d1526}
.side-menu:before,.side-menu:after{content:"";position:absolute;pointer-events:none;opacity:.13}
.side-menu:before{width:230px;height:230px;border:2px solid #fff;border-radius:50%;left:-118px;bottom:70px}
.side-menu:after{inset:auto -80px -90px auto;width:210px;height:210px;border:2px solid #fff;transform:rotate(45deg)}
.side-brand,.side-menu nav{position:relative;z-index:1}
.side-brand span{border-radius:50%;border:3px solid #ffffffb8;box-shadow:0 0 0 6px #ffffff17,0 12px 25px #00150e80}
.side-brand strong{text-transform:uppercase;letter-spacing:.035em;font-size:14px}
.side-menu nav a{position:relative;border:1px solid transparent;color:#f5fff8;transition:background .2s ease,transform .2s ease,border-color .2s ease}
.side-menu nav a:before{content:"";position:absolute;left:0;top:50%;width:4px;height:0;border-radius:5px;background:var(--lime);transform:translateY(-50%);transition:height .2s ease}
.side-menu nav a:hover,.side-menu nav a:focus-visible{background:#ffffff14;border-color:#ffffff1f;transform:translateX(4px)}
.side-menu nav a:hover:before,.side-menu nav a:focus-visible:before{height:60%}
.public-main{position:relative;overflow:hidden}
.banner-wrap{position:relative;padding:28px clamp(18px,5vw,72px) 18px;background:radial-gradient(circle at 50% -30%,#19945b 0,transparent 50%),linear-gradient(145deg,#003a25,#001d15);isolation:isolate}
.banner-wrap:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 8%,#ffffff 8.1%,transparent 8.35%);opacity:.035;z-index:-1}
.banner-wrap img{filter:drop-shadow(0 18px 24px #0008);transition:transform .35s ease}
.banner-wrap:hover img{transform:scale(1.008)}
.construction-note{position:relative;gap:9px;padding:11px 24px;background:linear-gradient(90deg,#dcae29,#ffe48a,#dcae29);color:#382900;border:0;box-shadow:0 5px 18px #001d1528;text-transform:none}
.construction-note:before{content:"●";font-size:11px;color:#006b3c}
.welcome{position:relative;overflow:hidden;min-height:430px;display:grid;place-content:center;padding:75px clamp(28px,8vw,120px);background:radial-gradient(circle at 8% 0,#ffffff31 0,transparent 20%),radial-gradient(circle at 92% 0,#ffffff2e 0,transparent 20%),linear-gradient(125deg,#003421 0%,#007344 54%,#004329 100%);color:#fff;isolation:isolate}
.welcome:before{content:"";position:absolute;width:min(780px,84%);height:115%;top:-8%;left:50%;border:2px solid #ffffff25;border-top:0;border-bottom:0;transform:translateX(-50%);z-index:-1}
.welcome:after{content:"";position:absolute;width:210px;height:210px;left:50%;top:50%;border:2px solid #ffffff25;border-radius:50%;transform:translate(-50%,-50%);z-index:-1}
.welcome .eyebrow{display:inline-flex;justify-self:center;align-items:center;gap:9px;padding:8px 15px;border:1px solid #ffffff4a;border-radius:999px;background:#001f163d;color:#eafff0;backdrop-filter:blur(5px)}
.welcome .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}
.welcome h1{max-width:1050px;margin:19px auto 8px;color:#fff;font-size:clamp(39px,5.4vw,72px);line-height:1.01;letter-spacing:-.035em;text-shadow:0 5px 26px #00180f87}
.welcome h2{display:inline-block;justify-self:center;margin:7px 0 22px;padding:7px 19px;background:#fff;color:#00673b;font-size:clamp(20px,2.4vw,29px);font-style:italic;transform:skew(-6deg);box-shadow:7px 7px 0 #002a1ca6}
.welcome p{max-width:920px;color:#f1fff5;font-size:clamp(17px,1.7vw,20px);line-height:1.75;text-shadow:0 2px 8px #00150e8c}
.content-grid{position:relative;max-width:1420px;margin:0 auto;padding:55px 28px;gap:28px}
.content-grid:before{content:"";position:absolute;inset:0 50% 0 50%;width:100vw;transform:translateX(-50%);z-index:-1;background:repeating-linear-gradient(90deg,#f7fbf8 0,#f7fbf8 70px,#f1f8f3 70px,#f1f8f3 140px)}
.public-section,.schedule-box{border:1px solid #d5e6da;border-radius:22px;box-shadow:0 16px 45px #123d2712}
.content-grid .public-section{position:relative;overflow:hidden;padding:36px}
.content-grid .public-section:before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(90deg,var(--pitch),var(--lime))}
.section-title span{color:#008649;letter-spacing:.18em}
.section-title h2{color:var(--pitch-dark);letter-spacing:-.025em}
.news-card{position:relative;margin-top:12px;padding:25px 24px 25px 29px;border:1px solid #dce9df!important;border-radius:16px;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.news-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;border-radius:16px 0 0 16px;background:linear-gradient(var(--pitch),var(--lime))}
.news-card:hover{transform:translateY(-3px);border-color:#afd3ba!important;box-shadow:0 15px 30px #004b2d17}
.news-card small{display:inline-block;padding:5px 10px;border-radius:999px;background:#e9f6ed;color:#006b3c;font-weight:800}
.news-card h3{font-size:clamp(23px,2.2vw,30px)}
.schedule-box{position:relative;overflow:hidden;padding:29px;background:linear-gradient(160deg,#fff,#f5faf6)}
.schedule-box:first-child{background:linear-gradient(155deg,#00452b,#002d20);border-color:#0b6843;color:#fff}
.schedule-box:first-child .section-title span,.schedule-box:first-child .section-title h2{color:#fff}
.schedule-box:first-child .section-title span{opacity:.75}
.event-card{margin-top:12px;padding:18px!important;border:1px solid #d7e7dc!important;border-left:0!important;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 7px 18px #001d1510}
.event-card time{display:inline-block;margin-bottom:3px;color:#00713f;font-size:13px;font-weight:700}
.event-card.match{background:linear-gradient(110deg,#fff 0,#f0fbf4 100%);border-color:#ffffff36!important}
.event-card.match:before{content:"SPIELTAG";display:inline-block;float:right;margin-left:8px;padding:4px 7px;border-radius:5px;background:#006b3c;color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em}
.event-card.fanclub{border-left:5px solid var(--gold)!important}
.empty-state{border:1px dashed #b9d0c0;background:#f0f7f2}
.schedule-box:first-child .empty-state{border-color:#ffffff38;background:#ffffff10;color:#dcefe3}
.comments-section{position:relative;margin-top:16px!important;border-top:7px solid var(--pitch);background:linear-gradient(145deg,#fff,#f2f9f4)}
.comments-section:after{content:"";position:absolute;right:32px;top:28px;width:54px;height:54px;border:2px solid #007a4220;border-radius:50%;box-shadow:inset 0 0 0 9px #007a4208}
.comments-section .application-form{padding:24px;border-radius:17px;background:#fff;border:1px solid #d9e9de;box-shadow:0 12px 28px #123d270d}
.comments-section input,.comments-section textarea{border-color:#c6dbcd;background:#fbfefc}
.comments-section input:focus,.comments-section textarea:focus{border-color:#00864b;box-shadow:0 0 0 3px #00a65d1f}
.comments-section button{background:linear-gradient(135deg,#00874c,#005c35);box-shadow:0 8px 18px #005d3438}
.published-comments{border-color:#cfe0d4}
.public-comment{margin-bottom:12px;padding:17px;border:1px solid #d9e7dd!important;border-radius:12px;background:#fff}
.public-main footer{background:var(--pitch-deep);color:#d7e9dc;border-top:4px solid #11a85e}
.public-main footer a{color:#fff;font-weight:800}
@media(max-width:1000px){.content-grid{padding:36px 16px}.content-grid .public-section{padding:28px}.welcome{min-height:380px}.comments-section:after{display:none}}
@media(max-width:900px){.side-menu{border-right:0;border-bottom:1px solid #ffffff24}.side-menu:before,.side-menu:after{display:none}.side-menu nav a:hover,.side-menu nav a:focus-visible{transform:translateY(-2px)}.banner-wrap{padding-top:18px}.welcome{padding:62px 24px}}
@media(max-width:620px){.welcome{min-height:360px;padding:48px 19px}.welcome h1{font-size:37px}.welcome p{font-size:16px;line-height:1.65}.content-grid .public-section,.schedule-box{padding:22px}.news-card{padding:21px 18px 21px 23px}.comments-section{margin-left:10px!important;margin-right:10px!important}.comments-section .application-form{padding:17px}.construction-note{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.banner-wrap img,.side-menu nav a,.news-card{transition:none}}
