@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--dark:#0d1714;--dark2:#15231d;--lime:#bcf66b;--cream:#f4f5ee;--muted:#aebbb2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:88px;background:var(--dark);color:#fff;display:flex;align-items:center;gap:35px;justify-content:space-between;padding:0 clamp(20px,5vw,88px);border-bottom:1px solid #ffffff20}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:49px;height:49px;border:2px solid var(--lime);border-radius:50%;display:grid;place-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:23px;letter-spacing:-2px}.brand-mark span,.footer-brand span{color:var(--lime)}.brand-name{font-weight:800;font-size:14px;letter-spacing:.08em}.brand-name small{display:block;letter-spacing:.4em;font-size:10px;margin-top:2px}.site-header nav{display:flex;gap:34px;font-size:13px}.site-header nav a:hover,.text-link:hover{color:var(--lime)}.nav-cta{background:var(--lime);color:var(--dark);padding:13px 19px;border-radius:4px;font-size:13px;font-weight:800}.hero{min-height:690px;background:var(--dark);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;position:relative}.hero-inner{padding:clamp(50px,7vw,110px) 4vw 95px clamp(24px,7vw,110px);z-index:1}.eyebrow,.section-kicker{font-size:12px;letter-spacing:.2em;font-weight:800}.eyebrow{color:var(--lime);display:flex;align-items:center;gap:12px}.dot{width:8px;height:8px;background:var(--lime);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;line-height:.92;letter-spacing:-.02em}h1{font-size:clamp(72px,9vw,146px);margin:28px 0 26px}h1 em{font-style:normal;color:var(--lime)}.hero-inner>p{color:#c3cdc5;font-size:17px;line-height:1.7;max-width:510px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 24px;font-size:13px;font-weight:800;border-radius:3px}.primary{background:var(--lime);color:var(--dark)}.primary:hover{background:#d0ff92}.ghost{border:1px solid #748178;color:#fff}.hero-photo{background:linear-gradient(90deg,var(--dark) 0%,transparent 18%),url('assets/camp-trikot.jpg') center 43%/cover;filter:grayscale(1)}.hero-bottom{position:absolute;bottom:0;left:0;right:0;padding:19px clamp(24px,7vw,110px);background:#1c3026b8;border-top:1px solid #ffffff20;font-size:11px;font-weight:800;letter-spacing:.16em;display:flex;justify-content:space-between;gap:20px}.hero-bottom span{color:var(--lime)}.section{padding:110px clamp(24px,7vw,110px)}.intro{display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-kicker{color:#597357}.intro h2,.section-heading h2,.story h2,.contact h2{font-size:clamp(54px,6vw,94px);margin:0 0 25px}.intro h2 span,.section-heading h2 span,.story h2 span{color:#769b4d}.intro p{max-width:700px;font-size:18px;line-height:1.8;color:#4b5b50}.offers{background:#e9eee5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading h2{margin-top:22px}.section-heading p{max-width:360px;line-height:1.7;color:#536257}.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.offer{background:#fff;padding:28px;min-height:320px;display:flex;flex-direction:column;transition:transform .2s}.offer:hover{transform:translateY(-5px)}.number{font-size:12px;color:#6c806c}.symbol{font-size:43px;color:#669744;margin:45px 0 24px}.offer h3{font-size:32px;margin-bottom:12px}.offer p{font-size:13px;line-height:1.7;color:#59665d}.story{background:var(--dark2);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,120px);align-items:center}.story-photo{height:650px;overflow:hidden}.story-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:grayscale(1)}.story .section-kicker{color:var(--lime)}.story h2{margin-top:25px}.story h2 span{color:var(--lime)}.story p{line-height:1.85;color:#c5d1c7;font-size:16px}.text-link{display:inline-block;color:var(--lime);font-size:14px;font-weight:800;margin-top:18px}.contact{text-align:center;background:#e0f1cd}.contact h2{margin:25px auto}.contact h2 span{color:#5a8836}.contact p{max-width:570px;margin:0 auto 30px;line-height:1.8}.contact .primary{background:var(--dark);color:#fff}.notice{margin-top:20px;font-size:12px;color:#51684a}footer{background:var(--dark);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:40px clamp(24px,7vw,110px)}.footer-brand{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:900}.footer-brand small{display:block;letter-spacing:.5em;font-size:11px}.footer-right{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:#b7c6ba}.legal{max-width:800px;margin:auto;padding:75px 24px;min-height:60vh}.legal h1{font-size:70px}.legal p{line-height:1.8}.legal .warning{padding:18px;background:#fff0ca;border-left:4px solid #b38300}@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-inner{padding:65px 24px 75px}.hero-photo{height:390px;grid-row:2;background:linear-gradient(0deg,var(--dark),transparent 30%),url('assets/camp-trikot.jpg') center 40%/cover}.hero-bottom{position:relative;grid-row:3;padding:20px 24px}.intro{grid-template-columns:1fr}.offer-grid{grid-template-columns:repeat(2,1fr)}.story{grid-template-columns:1fr}.story-photo{height:520px}.section-heading{display:block}}@media(max-width:560px){.site-header{height:75px;padding:0 18px}.brand-name{font-size:11px}.brand-mark{width:42px;height:42px;font-size:20px}.nav-cta{font-size:11px;padding:11px}.hero-inner{padding-top:55px}h1{font-size:clamp(65px,15vw,100px)}.hero-bottom{font-size:9px}.hero-bottom span{display:none}.section{padding:75px 22px}.offer-grid{grid-template-columns:1fr}.offer{min-height:250px}.symbol{margin:20px 0}.story-photo{height:460px}footer{align-items:flex-start;flex-direction:column}}

/* Veranstaltungen und Buchungsanfrage */
.events-section{background:#f7f9f2}.event-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 32px}.filter{border:1px solid #cbd7c5;background:white;border-radius:30px;padding:11px 18px;cursor:pointer;font:700 13px 'DM Sans',Arial,sans-serif;color:#1a3021}.filter.active,.filter:hover{background:#173025;color:#c6ff84;border-color:#173025}.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.event-card{background:white;border:1px solid #dbe6d5;border-radius:9px;padding:26px;display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 26px #1c33230a}.event-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.event-tag{font-size:12px;font-weight:800;color:#244b2e;background:#e5f5d6;border-radius:40px;padding:8px 12px}.event-date{font-size:12px;font-weight:800}.event-card h3{font-size:35px;line-height:1;margin:0}.event-description{color:#506151;font-size:14px;line-height:1.6;margin:0}.event-details{display:grid;gap:9px;color:#354a3a;font-size:13px;margin-top:auto}.event-book{border:0;cursor:pointer;width:100%;margin-top:8px}.empty-events{grid-column:1/-1;border:1px dashed #a9bfa6;border-radius:10px;padding:36px;text-align:center}.empty-events h3{font-size:30px}.events-note,.offer-hint{font-size:13px;color:#516452;line-height:1.6;margin-top:24px}.booking-dialog{border:0;border-radius:14px;max-width:min(560px,calc(100vw - 24px));width:100%;padding:0;box-shadow:0 25px 90px #0007}.booking-dialog::backdrop{background:#07150cc9}.booking-form{display:grid;gap:15px;padding:clamp(20px,4vw,35px)}.dialog-head{display:flex;align-items:start;justify-content:space-between}.dialog-head h2{font-size:44px;margin:12px 0 0}.close-dialog{background:#eaf1e5;border:0;border-radius:50%;width:37px;height:37px;cursor:pointer}.booking-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.booking-form input:not([type=checkbox]),.booking-form textarea{border:1px solid #b7c6b5;border-radius:5px;padding:12px;font:inherit;width:100%;min-width:0}.booking-form .check-label{display:flex;align-items:start;font-weight:400;line-height:1.5}.check-label input{margin-top:4px}.check-label a{text-decoration:underline}.form-note{font-size:12px;line-height:1.6;color:#516452;margin:0}.form-error{color:#ad1b1b;font-weight:700;font-size:13px}.booking-form .button{border:0;cursor:pointer}.contact [aria-disabled=true]{opacity:.65;pointer-events:none}@media(max-width:980px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.events-grid{grid-template-columns:1fr}.event-filters{gap:7px}.filter{padding:9px 12px;font-size:12px}}

/* Event booking and admin additions */
.events-section{background:#101b17;color:#f5fff5}.events-section .section-kicker{color:#b8f36b}.events-section .section-heading p{color:#c8d8cf}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.filter{cursor:pointer;border:1px solid #53675b;background:transparent;color:white;border-radius:30px;padding:10px 17px;font:inherit}.filter.active,.filter:hover{background:#b8f36b;color:#101b17;border-color:#b8f36b}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.event-card,.empty-events{background:#203229;border:1px solid #344b3c;border-radius:15px;padding:25px}.event-card h3{font-size:1.5rem;margin:14px 0}.event-card p{color:#d1ddd5}.event-category{color:#b8f36b;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.event-card dl{margin:24px 0;display:grid;gap:9px}.event-card dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #405247;padding-bottom:8px}.event-card dt{color:#a5baaa}.event-card dd{margin:0;text-align:right}.event-card .button{width:100%;cursor:pointer}.event-card .button:disabled{opacity:.5;cursor:not-allowed}.event-hint{color:#bdcfc2;font-size:.9rem;margin-top:22px}.booking-dialog{width:min(95vw,560px);max-height:90vh;overflow:auto;border:1px solid #39503f;border-radius:18px;background:#15231b;color:white;padding:30px}.booking-dialog::backdrop{background:rgba(0,0,0,.75)}.booking-dialog h2{font-size:2rem;margin:10px 0}.booking-dialog .close{float:right;font-size:2rem;border:0;background:none;color:white;cursor:pointer}.booking-form{display:grid;gap:14px}.booking-form label{display:grid;gap:6px;font-size:.9rem;font-weight:600}.booking-form input:not([type=checkbox]),.booking-form textarea,.booking-form select{width:100%;padding:12px;border:1px solid #8da092;border-radius:7px;font:inherit;background:white;color:#172219}.booking-form .consent{display:flex;align-items:flex-start;font-weight:400;gap:9px}.booking-form .consent input{margin-top:5px}.booking-form .consent a{color:#b8f36b}.booking-form button{cursor:pointer}.form-note{font-size:.82rem;opacity:.78}.admin-page{background:#0e1914;color:#f2fff4}.admin-main{max-width:1240px;margin:auto;padding:115px 24px 70px}.admin-main h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1}.admin-main h1 span{color:#b8f36b}.admin-main>p{max-width:800px;color:#c7d6cc}.admin-warning{background:#2a3220;border-left:4px solid #b8f36b;padding:20px;margin:25px 0;line-height:1.6}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.admin-panel{background:#1a2a20;padding:25px;border-radius:16px}.admin-panel h2{font-size:1.45rem;margin:8px 0 20px}.admin-panel h2:not(:first-child){margin-top:34px}.admin-panel .booking-form .consent{color:white}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.admin-actions .button{font-size:.85rem}.admin-item{padding:14px 0;border-bottom:1px solid #49604f}.admin-item strong,.admin-item small{display:block}.admin-item small{color:#b6cbbb;margin-top:5px}.mini{background:#b8f36b;color:#0c1c13;border:0;padding:8px 14px;border-radius:6px;cursor:pointer}.mini.delete{background:#f1b4ad}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-panel input[type=file]{display:block;margin:10px 0;color:white}@media(max-width:750px){.admin-columns,.two{grid-template-columns:1fr}.booking-dialog{padding:20px}.event-grid{grid-template-columns:1fr}}
