
:root{
  --green:#0f5a3c;
  --green-2:#177148;
  --green-3:#0a3f2b;
  --mint:#8cf0a7;
  --cream:#f6f4ed;
  --paper:#ffffff;
  --ink:#173128;
  --muted:#66766f;
  --line:#dfe7e2;
  --shadow:0 18px 45px rgba(17,64,45,.12);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px,calc(100% - 34px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,90,60,.12)}
.header-row{display:flex;align-items:center;gap:28px;min-height:104px}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;min-width:310px}
.brand img{width:74px;height:84px;object-fit:contain}
.brand-title{font-size:30px;font-weight:850;letter-spacing:-.03em;color:var(--green-3);line-height:1}
.brand-sub{font-size:14px;color:var(--muted);margin-top:6px}
.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.main-nav a{text-decoration:none;font-weight:650;font-size:15px;padding:12px 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a.active{color:var(--green);border-color:var(--green)}
.member-link{display:inline-flex!important;align-items:center;gap:8px;background:var(--green);color:#fff!important;border:0!important;padding:13px 17px!important;border-radius:9px}
.tagline{font-family:"Segoe Print","Bradley Hand",cursive;color:var(--green);font-size:18px;transform:rotate(-3deg);line-height:1.2;text-align:right;white-space:nowrap}
.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:white;border-radius:10px;padding:10px 12px;font-weight:700}
.hero{position:relative;min-height:610px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(115deg,#13251f 0%,#203d31 48%,#274b3b 100%)}
.hero-media{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.28) 55%,rgba(0,0,0,.18)),
 radial-gradient(circle at 72% 45%,rgba(140,240,167,.16),transparent 27%),
 linear-gradient(135deg,#23372e,#405d4e)}
.hero-media:after{content:"BILDPLATZHALTER · SCHIESSSTAND / VEREIN";position:absolute;right:42px;top:50%;transform:translateY(-50%) rotate(-4deg);color:rgba(255,255,255,.28);font-weight:800;letter-spacing:.08em;font-size:18px}
.hero-content{position:relative;z-index:2;color:#fff;padding:92px 0 60px;max-width:700px}
.hero h1{font-size:clamp(52px,7vw,82px);line-height:.98;margin:0 0 24px;letter-spacing:-.05em}
.hero h1 span{color:var(--mint)}
.hero p{font-size:20px;max-width:650px;margin:0 0 30px;color:#f1f7f3}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:9px;padding:14px 20px;font-weight:800;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--mint);color:#103c29}
.btn-dark{background:var(--green);color:#fff}
.btn-outline{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.hand-note{position:absolute;right:5%;bottom:36px;color:#fff;font-family:"Segoe Print","Bradley Hand",cursive;font-size:24px;line-height:1.15;transform:rotate(-7deg);text-align:center}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:26px 0 60px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(12,55,38,.06)}
.card-image{aspect-ratio:16/8.2;background:linear-gradient(135deg,#d7e1db,#afc4b8);display:flex;align-items:center;justify-content:center;color:#547064;font-weight:800;letter-spacing:.04em;text-align:center;padding:20px}
.card-body{padding:25px}
.card h3{margin:0 0 11px;color:var(--green);font-size:23px}
.card p{margin:0 0 22px;color:#4f6159}
.icon{font-size:28px;margin-right:8px}
.section{padding:72px 0}
.section-soft{background:var(--cream)}
.section-title{font-size:38px;line-height:1.1;margin:0 0 14px;letter-spacing:-.03em}
.section-lead{color:var(--muted);max-width:760px;font-size:18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.event-list{display:grid;gap:12px;margin:26px 0}
.event{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px 16px}
.event-date{text-align:center;border-right:1px solid var(--line);padding-right:12px}
.event-date strong{display:block;font-size:25px;color:var(--green)}
.event-date span{font-size:12px;font-weight:800;color:var(--muted)}
.event-title{font-weight:800}
.event-desc{font-size:14px;color:var(--muted)}
.story-image{min-height:420px;border-radius:var(--radius);background:linear-gradient(145deg,#d3dfd8,#8fac9d);display:flex;align-items:center;justify-content:center;text-align:center;color:#416052;font-weight:800;letter-spacing:.05em;padding:30px;box-shadow:var(--shadow)}
.values{background:linear-gradient(135deg,var(--green-3),var(--green));color:#fff;padding:34px 0}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.value{display:flex;align-items:center;gap:14px;font-weight:800}
.value b{font-size:30px}
.site-footer{padding:24px 0;background:#fff;border-top:1px solid var(--line)}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:14px;color:#53675e}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-links a{text-decoration:none}
.page-hero{padding:76px 0 48px;background:linear-gradient(135deg,#edf4ef,#f9f7f0)}
.page-hero h1{font-size:52px;margin:0 0 10px;letter-spacing:-.04em;color:var(--green-3)}
.page-content{padding:54px 0 80px}
.prose{max-width:900px}
.prose h2{margin-top:38px;color:var(--green)}
.prose h3{margin-top:28px;color:var(--green-3)}
.prose p,.prose li{color:#40554b}
.info-box{background:var(--cream);border-left:5px solid var(--green);padding:22px;border-radius:12px;margin:28px 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-card{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff}
.small{font-size:13px;color:var(--muted)}
.placeholder-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.photo-slot{min-height:280px;border-radius:16px;background:linear-gradient(135deg,#dde6e1,#b7c9c0);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-weight:800;color:#496457}
@media(max-width:1050px){
 .tagline{display:none}
 .brand{min-width:0}
 .main-nav{gap:15px}
 .main-nav a{font-size:14px}
}
@media(max-width:820px){
 .header-row{min-height:84px}
 .brand img{width:55px;height:62px}
 .brand-title{font-size:23px}
 .brand-sub{font-size:12px}
 .menu-btn{display:block}
 .main-nav{display:none;position:absolute;left:0;right:0;top:84px;background:white;padding:18px 24px 26px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(0,0,0,.08)}
 .main-nav.open{display:flex}
 .main-nav a{padding:10px 0;color:#0b513a!important;text-shadow:none!important}
 .main-nav a:hover,.main-nav a:focus-visible,.main-nav a.active{color:#073c2a!important}
 .main-nav .member-link{color:#fff!important;text-shadow:none!important}
 .member-link{justify-content:center}
 .hero{min-height:570px}
 .hero-media:after{font-size:13px;right:20px;top:28%;max-width:230px;text-align:right}
 .hero-content{padding:90px 0 52px}
 .hero p{font-size:17px}
 .hand-note{display:none}
 .cards,.values-grid{grid-template-columns:1fr 1fr}
 .split,.contact-grid{grid-template-columns:1fr}
 .story-image{min-height:300px}
}
@media(max-width:560px){
 .container{width:min(100% - 24px,1180px)}
 .brand-sub{display:none}
 .hero h1{font-size:50px}
 .cards,.values-grid,.placeholder-grid{grid-template-columns:1fr}
 .section{padding:52px 0}
 .page-hero h1{font-size:40px}
 .event{grid-template-columns:64px 1fr}
 .event>div:last-child{display:none}
 .footer-row{align-items:flex-start;flex-direction:column}
}

/* 0.9.0 Newsletter & saisonale Gestaltung */
.newsletter{padding:46px 0;background:#edf4ef;border-top:1px solid var(--line)}.newsletter-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}.newsletter h2{margin:0 0 8px;color:var(--green)}.newsletter p{margin:0;color:var(--muted)}.newsletter form{display:grid;gap:10px}.newsletter input[type=email]{padding:14px 16px;border:1px solid var(--line);border-radius:10px;font:inherit}.newsletter-consent{font-size:13px;color:var(--muted)}.hp{position:absolute!important;left:-9999px!important}
.theme-christmas body{background-image:radial-gradient(circle at 10% 10%,rgba(255,255,255,.9) 0 2px,transparent 3px);background-size:55px 55px}.theme-christmas .site-header{border-bottom:4px solid #9b1c31}.theme-christmas .hero:after{content:'❄  Frohe Weihnachtszeit beim SSV Wichterich  ❄';position:absolute;left:0;right:0;bottom:0;background:rgba(120,20,35,.9);color:white;text-align:center;padding:10px;font-weight:800}.theme-newyear .hero:after{content:'✨ Guten Rutsch & ein gutes neues Jahr! 🎉';position:absolute;left:0;right:0;bottom:0;background:rgba(20,45,70,.9);color:white;text-align:center;padding:11px;font-weight:800}.theme-newyear .site-header:after{content:'✦  ·  ✨  ·  🎉';position:absolute;right:2%;top:8px;font-size:18px}.theme-summer .site-header{border-bottom:4px solid #d8b43b}.theme-summer .hero:after{content:'☀ Sommer beim SSV Wichterich';position:absolute;left:0;right:0;bottom:0;background:rgba(196,145,30,.88);color:white;text-align:center;padding:9px;font-weight:800}.theme-carnival .site-header{border-bottom:4px solid #7a3aa8}.theme-carnival .hero:after{content:'🎉 11.11. – Alaaf aus Wichterich! 🎊';position:absolute;left:0;right:0;bottom:0;background:rgba(108,48,145,.9);color:white;text-align:center;padding:10px;font-weight:800}
@media(max-width:820px){.newsletter-inner{grid-template-columns:1fr}}
/* 0.9.2: eindeutige Saison-Vorschau */
.season-preview-bar{position:relative;z-index:9999;background:#18231d;color:#fff;text-align:center;padding:8px 12px;font-weight:800;font-size:14px}
.theme-christmas .hero{box-shadow:inset 0 0 0 5px rgba(155,28,49,.18)}
.theme-newyear .hero{box-shadow:inset 0 0 0 5px rgba(20,45,70,.18)}
.theme-summer .hero{box-shadow:inset 0 0 0 5px rgba(216,180,59,.22)}
.theme-carnival .hero{box-shadow:inset 0 0 0 5px rgba(122,58,168,.18)}

/* 0.9.3 – deutlich sichtbare saisonale Gestaltung */
.season-showcase{position:relative;overflow:hidden;min-height:190px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px 8%;color:#fff;isolation:isolate;box-shadow:inset 0 -1px 0 #0002}
.season-copy{position:relative;z-index:2;max-width:900px}.season-kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:13px;opacity:.9}.season-title{font-size:clamp(30px,5vw,58px);line-height:1.05;font-weight:900;margin:8px 0 10px;text-shadow:0 3px 12px #0004}.season-sub{font-size:16px;font-weight:700;opacity:.94}.season-decor{position:absolute;z-index:1;font-size:70px;line-height:1;opacity:.95}.season-decor-left{left:5%;top:50%;transform:translateY(-50%)}.season-decor-right{right:5%;top:50%;transform:translateY(-50%)}
.season-christmas{background:linear-gradient(120deg,#751b28,#123f2e 48%,#174b37)}.season-christmas .season-decor-left:before{content:'🎄  ❄'}.season-christmas .season-decor-right:before{content:'❄  🎁'}.theme-christmas body:before{content:'❄   ·   ❄   ·   ❄   ·   ❄   ·   ❄';position:fixed;z-index:50;pointer-events:none;top:4px;left:0;right:0;text-align:center;color:#fff;font-size:18px;opacity:.65}
.season-newyear{background:radial-gradient(circle at 20% 20%,#7657a8 0 2px,transparent 3px),radial-gradient(circle at 80% 35%,#d6ad3d 0 3px,transparent 4px),linear-gradient(120deg,#111c38,#263f70 55%,#111c38);background-size:75px 75px,95px 95px,auto}.season-newyear .season-decor-left:before{content:'🎆 ✨'}.season-newyear .season-decor-right:before{content:'🎉 🎇'}
.season-summer{color:#18342a;background:linear-gradient(120deg,#f7d66a,#fff3b8 48%,#bfe3c8)}.season-summer .season-title{text-shadow:none}.season-summer .season-decor-left:before{content:'☀️ 🌻'}.season-summer .season-decor-right:before{content:'🌿 ☀️'}
.season-carnival{background:linear-gradient(115deg,#6c3191,#d43f64 34%,#e5b839 67%,#1e7652)}.season-carnival .season-decor-left:before{content:'🎭 🎊'}.season-carnival .season-decor-right:before{content:'🎉 🎈'}
@media(max-width:700px){.season-showcase{min-height:155px;padding:22px 5%}.season-decor{font-size:38px;opacity:.65}.season-decor-left{left:2%}.season-decor-right{right:2%}.season-sub{font-size:13px}}

/* 0.11.0 – Vereinsheim & Kontaktformular */
.rental-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:42px;align-items:start}.rental-placeholder{min-height:360px;border-radius:18px;background:linear-gradient(145deg,#d9e5de,#aec4b8);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#456054;gap:8px}.rental-placeholder strong{font-size:22px}.rental-placeholder span{font-size:14px}.public-form{display:grid;gap:9px}.public-form label{font-weight:750;color:var(--green-3);margin-top:5px}.public-form label span{font-weight:400;color:var(--muted)}.public-form input,.public-form select,.public-form textarea{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:inherit}.public-form textarea{min-height:150px;resize:vertical}.public-form input:focus,.public-form select:focus,.public-form textarea:focus{outline:2px solid rgba(34,104,72,.18);border-color:var(--green)}.rental-fields{display:grid;gap:9px;padding:14px 16px;margin:4px 0;background:var(--cream);border-radius:12px}.checkline{display:flex!important;align-items:flex-start;gap:9px;font-size:13px;font-weight:400!important;color:var(--muted)!important}.checkline input{width:auto!important;margin-top:3px}.public-msg{padding:12px 14px;border-radius:10px;margin:0 0 15px;font-weight:700}.public-msg.success{background:#e5f3e9;color:#1f603e}.public-msg.error{background:#f7e7e7;color:#8b2e2e}.contact-card-gap{margin-top:20px}@media(max-width:820px){.rental-layout{grid-template-columns:1fr}.rental-placeholder{min-height:250px}}


/* 0.13.0 – echte Vereinsbilder */
.hero-media{background:#173128}.hero-media:after{display:none}.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity 1.2s ease;transform:scale(1.01)}.hero-slide.active{opacity:1}.hero-media:before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,rgba(8,28,20,.82),rgba(8,28,20,.48) 48%,rgba(8,28,20,.16));pointer-events:none}.real-photo{display:block;width:100%;object-fit:cover;padding:0;color:transparent}.card-image.real-photo{aspect-ratio:16/8.2;height:auto}.story-image.real-photo{min-height:420px;height:420px;padding:0}.sport-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;margin-bottom:34px}.sport-gallery img{width:100%;height:220px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow)}.sport-gallery img:first-child{grid-row:1/3;height:454px}.rental-gallery{display:grid;gap:12px}.rental-gallery img{width:100%;object-fit:cover;border-radius:16px;box-shadow:0 10px 28px rgba(17,64,45,.12)}.rental-main{height:310px}.rental-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rental-thumbs img{height:110px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.gallery-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(12,55,38,.06)}.gallery-grid img{width:100%;height:330px;object-fit:cover}.gallery-grid figcaption{padding:12px 16px;font-weight:800;color:var(--green-3)}
@media(max-width:820px){.sport-gallery{grid-template-columns:1fr;grid-template-rows:auto}.sport-gallery img,.sport-gallery img:first-child{grid-row:auto;height:280px}.story-image.real-photo{height:300px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:280px}}
@media(max-width:560px){.rental-thumbs{grid-template-columns:1fr}.rental-thumbs img{height:190px}.rental-main{height:240px}}

/* 0.13.1 – individuelle Hero-Ausrichtung und klickbare Vereinsheim-Galerie */
.hero-slide.hero-pos-center{background-position:center center}
.hero-slide.hero-pos-high{background-position:center 35%}
.hero-slide.hero-pos-highest{background-position:center 25%}
.rental-main{transition:opacity .22s ease}
.rental-main.is-changing{opacity:.35}
.rental-thumb{appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(17,64,45,.12);transition:transform .18s ease,box-shadow .18s ease}
.rental-thumb:hover,.rental-thumb:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,64,45,.2);outline:3px solid rgba(34,104,72,.22);outline-offset:2px}
.rental-thumb img{display:block;width:100%;height:110px;object-fit:cover;border-radius:0;box-shadow:none}
@media(max-width:560px){.rental-thumb img{height:190px}}

/* 0.15.1 */
.public-back{display:inline-block;margin-bottom:18px;color:#0b6545;text-decoration:none;font-weight:700}
.event-detail{max-width:820px}
.notice{padding:16px 18px;border-left:4px solid #0b6545;background:#f3f7f4;border-radius:8px;margin:20px 0}
.event-card,.event-row{cursor:pointer}

/* 0.15.2 */
.event-card,.event-row,.termin-card,.term-card{cursor:pointer;text-decoration:none;color:inherit}
.event-detail-link{display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}

/* 0.15.3 */
.event-link{display:flex;text-decoration:none;color:inherit;width:100%;box-sizing:border-box}.event-link:hover .event-title{text-decoration:underline}.event-arrow{margin-left:auto;align-self:center}

/* 0.15.4: Galerie – alle Kacheln identisch */
.gallery-grid figure{margin:0}.gallery-grid img{display:block;width:100%;height:330px;object-fit:cover}.gallery-grid figcaption{min-height:20px}
@media(max-width:820px){.gallery-grid img{height:280px}}


/* 0.15.19 – öffentliche Termindetailseite */
.public-event-detail{max-width:920px;margin:0 auto}
.public-event-description{background:#fff;border:1px solid rgba(0,72,57,.12);border-radius:18px;padding:24px 26px;margin-bottom:24px;font-size:1.05rem;line-height:1.7;box-shadow:0 8px 28px rgba(0,55,43,.06)}
.public-event-actions{display:grid;gap:18px}
.public-event-action-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start;background:#f8faf7;border:1px solid rgba(0,72,57,.12);border-radius:18px;padding:22px 24px;box-shadow:0 7px 24px rgba(0,55,43,.05)}
.public-event-action-icon{width:52px;height:52px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.55rem;box-shadow:0 4px 14px rgba(0,55,43,.08)}
.public-event-action-body h2{font-size:1.15rem;margin:1px 0 6px;color:#004839}
.public-event-action-body p{margin:0 0 15px;line-height:1.55}
.public-event-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;text-align:center}
@media (max-width:640px){
 .public-event-description{padding:20px}
 .public-event-action-card{grid-template-columns:1fr;padding:20px}
 .public-event-action-icon{width:48px;height:48px}
 .public-event-button{width:100%;box-sizing:border-box}
}

/* 0.15.41 – Unser Vorstand */
.about-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 8px}.about-actions .btn{text-decoration:none}
.board-intro{max-width:880px;margin-bottom:28px}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.board-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 18px;text-align:center;box-shadow:0 8px 26px rgba(12,55,38,.07)}.board-avatar{width:138px;height:138px;border-radius:50%;display:block;margin:0 auto 17px;background:#e5eee8;object-fit:cover}.board-card h2{font-size:19px;color:var(--green-3);margin:0 0 8px}.board-name{font-size:16px;margin:0;color:var(--muted)}.board-placeholder{font-size:12px;margin-top:7px;color:#7a8780}.board-card:after{content:"";display:block;width:30px;height:3px;border-radius:3px;background:var(--green);margin:14px auto 0}@media(max-width:900px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.board-grid{grid-template-columns:1fr}.board-avatar{width:126px;height:126px}}

/* 0.15.42 – behutsamer Design-Test: Über uns + Vereinsheim */
.about-board-link{margin:28px 0 34px}
.about-board-card{display:flex;align-items:center;gap:18px;max-width:560px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#f7faf8;box-shadow:0 7px 22px rgba(12,55,38,.06);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.about-board-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(12,55,38,.11);border-color:#b9cec2}
.about-board-icon{flex:0 0 54px;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green-3);color:#fff;font-size:24px}
.about-board-copy{flex:1}.about-board-copy strong{display:block;color:var(--green-3);font-size:18px;margin-bottom:4px}.about-board-copy span{display:block;color:var(--muted);line-height:1.45}.about-board-arrow{font-size:25px;color:var(--green-3)}
.rental-hero{position:relative;min-height:330px;display:flex;align-items:flex-end;overflow:hidden;background:#173128 url('images/vereinsheim-innen.jpg') center 52%/cover no-repeat}
.rental-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,22,.80) 0%,rgba(7,31,22,.55) 48%,rgba(7,31,22,.20) 100%)}
.rental-hero .container{position:relative;z-index:1;width:100%;padding-top:82px;padding-bottom:54px}.rental-hero h1{font-size:52px;margin:0 0 10px;letter-spacing:-.04em;color:#fff}.rental-hero .section-lead{color:#f2f7f4;font-size:18px;max-width:640px;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.22)}
@media(max-width:640px){.about-board-card{padding:17px;gap:14px}.about-board-icon{width:48px;height:48px;flex-basis:48px}.about-board-arrow{display:none}.rental-hero{min-height:275px;background-position:center center}.rental-hero .container{padding-top:64px;padding-bottom:40px}.rental-hero h1{font-size:40px}}

/* 0.15.43 – einheitliche Foto-Kopfbereiche der öffentlichen Unterseiten */
.photo-page-hero{position:relative;min-height:330px;display:flex;align-items:flex-end;overflow:hidden;background-color:#173128;background-position:center;background-size:cover;background-repeat:no-repeat}
.photo-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,22,.82) 0%,rgba(7,31,22,.56) 50%,rgba(7,31,22,.20) 100%)}
.photo-page-hero .container{position:relative;z-index:1;width:100%;padding-top:82px;padding-bottom:54px}
.photo-page-hero h1{font-size:52px;margin:0 0 10px;letter-spacing:-.04em;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.photo-page-hero .section-lead{color:#f2f7f4;font-size:18px;max-width:720px;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.32)}
.hero-about{background-image:url('images/vereinsheim-aussen.jpg');background-position:center 48%}
.hero-sport{background-image:url('images/schiessstand-haupt.jpg');background-position:center 50%}
.hero-events{background-image:url('kk-training-mitglieder.png');background-position:center 50%}
.hero-gallery{background-image:url('images/schiessstand-lupi.png');background-position:center 52%}
.hero-contact{background-image:url('images/vereinsheim-eingang.jpg');background-position:center 52%}
@media(max-width:640px){.photo-page-hero{min-height:275px}.photo-page-hero .container{padding-top:64px;padding-bottom:40px}.photo-page-hero h1{font-size:40px}.photo-page-hero .section-lead{font-size:17px}.hero-about,.hero-contact{background-position:center center}}

/* 0.15.44 – Sportschießen: größerer, gezielt ausgerichteter Foto-Kopfbereich */
.hero-sport{min-height:460px;background-position:center 25%}
.hero-sport .container{width:min(1180px,calc(100% - 34px));margin-left:auto;margin-right:auto;padding-top:96px;padding-bottom:62px}
@media(max-width:640px){.hero-sport{min-height:350px;background-position:center 24%}.hero-sport .container{width:min(100% - 24px,1180px);padding-top:72px;padding-bottom:44px}}


/* SSV – lebendige, barrierearme Saisonbanner (2026-10) */
.season-showcase{min-height:245px;overflow:hidden;position:relative;isolation:isolate;padding:45px 15%;background:#133e30;box-shadow:inset 0 -12px 35px #0002}
.season-showcase:before,.season-showcase:after{content:"";position:absolute;pointer-events:none;border-radius:50%;z-index:0}
.season-showcase:before{width:60%;height:300%;left:-23%;top:-130%;background:radial-gradient(circle,#fff7 0%,#fff2 27%,transparent 65%);animation:ssv-glow 10s ease-in-out infinite alternate}
.season-showcase:after{width:70%;height:300%;right:-30%;top:-120%;background:radial-gradient(circle,#ffffff40,transparent 65%);animation:ssv-glow 13s ease-in-out infinite alternate-reverse}
.season-showcase .season-copy{position:relative;z-index:3;max-width:880px;margin:auto}
.season-showcase .season-kicker{font-size:13px;letter-spacing:.27em;text-transform:uppercase;font-weight:850}
.season-showcase .season-title{font-size:clamp(32px,4.5vw,60px);line-height:1.07;letter-spacing:-.035em;text-wrap:balance;margin:12px auto;text-shadow:0 5px 18px #0005}
.season-showcase .season-sub{font-size:clamp(12px,1.2vw,16px);letter-spacing:.04em}
.season-showcase .season-decor{z-index:2;font-size:clamp(45px,6vw,100px);filter:drop-shadow(0 7px 9px #0003);animation:ssv-float 5s ease-in-out infinite}
.season-showcase .season-decor-right{animation-delay:-2.3s}
.season-scenery{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.season-scenery i{position:absolute;display:block;top:-12%;left:var(--x);width:var(--sz);height:var(--sz);border-radius:45% 55% 60% 40%;background:var(--particle,#fff9);opacity:.75;box-shadow:0 0 14px var(--particle,#fff8);animation:ssv-fall var(--dur) linear infinite;animation-delay:var(--delay)}
.season-scenery i:nth-child(1){--x:4%;--sz:9px;--dur:10s;--delay:-1s}.season-scenery i:nth-child(2){--x:12%;--sz:14px;--dur:13s;--delay:-6s}.season-scenery i:nth-child(3){--x:21%;--sz:7px;--dur:9s;--delay:-5s}.season-scenery i:nth-child(4){--x:31%;--sz:12px;--dur:12s;--delay:-2s}.season-scenery i:nth-child(5){--x:39%;--sz:8px;--dur:11s;--delay:-8s}.season-scenery i:nth-child(6){--x:48%;--sz:15px;--dur:15s;--delay:-4s}.season-scenery i:nth-child(7){--x:57%;--sz:7px;--dur:8s;--delay:-3s}.season-scenery i:nth-child(8){--x:64%;--sz:13px;--dur:14s;--delay:-10s}.season-scenery i:nth-child(9){--x:72%;--sz:10px;--dur:11s;--delay:-7s}.season-scenery i:nth-child(10){--x:81%;--sz:8px;--dur:9s;--delay:-4s}.season-scenery i:nth-child(11){--x:89%;--sz:16px;--dur:13s;--delay:-9s}.season-scenery i:nth-child(12){--x:96%;--sz:9px;--dur:10s;--delay:-6s}
.season-spring{color:#19452e;background:linear-gradient(115deg,#a8e6c1 0%,#f8cde4 42%,#ffe9a6 75%,#b4e8d7 100%);--particle:#fff8e9}.season-spring .season-title{text-shadow:0 2px 8px #fff9}.season-spring .season-decor-left:before{content:'🌷 🦋'}.season-spring .season-decor-right:before{content:'🌸 🌼'}
.season-summer{color:#184234;background:linear-gradient(110deg,#49c8eb 0%,#b6e9ff 35%,#ffe67b 70%,#f6b957 100%);--particle:#fff4ad}.season-summer .season-title{text-shadow:0 2px 9px #fff9}.season-summer .season-decor-left:before{content:'🌻 🦋'}.season-summer .season-decor-right:before{content:'🍉 🌴'}
.season-autumn{color:#fff9e6;background:linear-gradient(110deg,#6e263a,#b64b2f 32%,#df9138 67%,#7b4d26);--particle:#ffcc57}.season-autumn .season-decor-left:before{content:'🍁 🍂'}.season-autumn .season-decor-right:before{content:'🌰 🍁'}
.season-winter{color:#fff;background:linear-gradient(120deg,#17395d,#4b88b9 47%,#bddff1 100%);--particle:#fff}.season-winter .season-decor-left:before{content:'❄️ ⛄'}.season-winter .season-decor-right:before{content:'🌨️ ❄️'}
.season-christmas{color:#fff;background:linear-gradient(110deg,#6d102d,#b53242 30%,#185c43 67%,#0d392e);--particle:#f8d78e}.season-christmas .season-decor-left:before{content:'🎄 ⭐'}.season-christmas .season-decor-right:before{content:'🎁 🔔'}
.season-newyear{color:#fff;background:radial-gradient(circle at 20% 30%,#bf4d9c70,transparent 35%),linear-gradient(110deg,#0b1233,#3b267a 50%,#0d4b65);--particle:#f7cf65}.season-newyear .season-decor-left:before{content:'🎆 ✨'}.season-newyear .season-decor-right:before{content:'🎇 🥂'}.season-newyear .season-scenery i{animation-name:ssv-rocket;box-shadow:0 0 15px 5px #ffeeb5}
.season-carnival,.season-eleven{color:#fff;background:linear-gradient(110deg,#742da8,#e4478d 35%,#ffbc43 65%,#148b76);--particle:#fff2aa}.season-carnival .season-decor-left:before{content:'🎭 🎊'}.season-carnival .season-decor-right:before{content:'🎉 🎈'}.season-eleven .season-decor-left:before{content:'🎺 🎭'}.season-eleven .season-decor-right:before{content:'🎊 🎉'}
.season-founding{color:#fff;background:linear-gradient(115deg,#07472f,#147d5d 38%,#e5bd59 75%,#125b47);--particle:#ffe49c}.season-founding .season-decor-left:before{content:'🏆 🎉'}.season-founding .season-decor-right:before{content:'🎊 🥇'}
@keyframes ssv-fall{from{transform:translate3d(0,-30px,0) rotate(0)}to{transform:translate3d(70px,330px,0) rotate(540deg)}}
@keyframes ssv-rocket{0%{transform:translateY(300px) scale(.5);opacity:0}20%{opacity:1}72%{transform:translateY(0) scale(1);opacity:1}90%,100%{transform:translateY(-60px) scale(2.8);opacity:0}}
@keyframes ssv-float{0%,100%{transform:translateY(-50%)}50%{transform:translateY(-57%) rotate(4deg)}}
@keyframes ssv-glow{from{opacity:.45;transform:scale(.8)}to{opacity:.85;transform:scale(1.15)}}
@media(max-width:700px){.season-showcase{min-height:205px;padding:35px 14%}.season-showcase .season-decor{font-size:33px;opacity:.7}.season-showcase .season-decor-left{left:1%}.season-showcase .season-decor-right{right:1%}.season-showcase .season-title{font-size:clamp(27px,7vw,39px)}}
@media(prefers-reduced-motion:reduce){.season-showcase:before,.season-showcase:after,.season-showcase .season-decor,.season-scenery i{animation:none!important}.season-scenery i{top:40%;opacity:.35}}
