
:root{--green:#315c45;--dark:#183126;--sage:#dfe8dd;--cream:#f8f4e9;--sand:#ead9b7;--white:#fff;--text:#243128;--muted:#657269;--shadow:0 18px 45px rgba(24,49,38,.12);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--cream);line-height:1.65}a{color:inherit}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12;margin-top:0}h1{font-size:clamp(3rem,7vw,6rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.45rem}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,64px);background:rgba(248,244,233,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(49,92,69,.12)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:230px}.brand img{width:58px;height:58px;object-fit:contain}.brand strong,.brand small{display:block}.brand small{font-size:.72rem;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.main-nav a{text-decoration:none;font-weight:700;font-size:.91rem;padding:8px 0;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav a.active{color:var(--green);border-color:var(--green)}.nav-toggle{display:none;border:0;background:var(--green);color:#fff;border-radius:10px;padding:10px 14px;font-weight:800}.hero{min-height:78vh;display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center;padding:70px clamp(22px,7vw,110px);background:radial-gradient(circle at 80% 20%,#d9e5d5 0,transparent 35%)}.hero-copy{max-width:780px}.hero-copy>p{font-size:1.2rem;color:var(--muted);max-width:700px}.hero-logo{text-align:center}.hero-logo img{width:min(480px,90%);filter:drop-shadow(0 25px 30px rgba(24,49,38,.16))}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.78rem;font-weight:900;color:var(--green)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;border:2px solid var(--green);border-radius:999px;padding:13px 22px;text-decoration:none;font-weight:850;cursor:pointer;font-size:1rem}.btn.primary{background:var(--green);color:#fff}.btn.ghost{color:var(--green)}.btn.light{background:#fff;color:var(--green);border-color:#fff}.section{padding:90px clamp(22px,7vw,110px)}.section.soft{background:var(--sage)}.section.narrow{max-width:1000px;margin:auto}.section-head{text-align:center;max-width:760px;margin:0 auto 44px}.cards{display:grid;gap:24px}.cards.three{grid-template-columns:repeat(3,1fr)}.card,.feature,.empty-state,.contact-form{background:rgba(255,255,255,.8);padding:32px;border-radius:var(--radius);border:1px solid rgba(49,92,69,.1);box-shadow:var(--shadow)}.card span{font-size:2.4rem}.card p,.lead{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.text-link{font-weight:850;color:var(--green)}.cta{background:var(--green);color:#fff;border-radius:32px;padding:45px;display:flex;align-items:center;justify-content:space-between;gap:30px}.page-hero{padding:85px clamp(22px,7vw,110px);background:linear-gradient(135deg,var(--sage),var(--cream));text-align:center}.page-hero p{max-width:760px;margin-left:auto;margin-right:auto;font-size:1.15rem;color:var(--muted)}.page-hero.compact{padding-top:55px;padding-bottom:55px}.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:35px}.value-grid>div{background:#fff;padding:24px;border-radius:18px}.value-grid strong{font:700 1.4rem Georgia,serif;color:var(--green)}.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.pricing article{position:relative;background:#fff;padding:30px;border-radius:24px;border:1px solid rgba(49,92,69,.15);box-shadow:var(--shadow)}.pricing article.featured{border:3px solid var(--green)}.badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:6px 13px;border-radius:999px;font-size:.78rem;font-weight:900;white-space:nowrap}.price{font-size:2rem;font-weight:900;color:var(--green);margin:20px 0}.price small{display:block;font-size:.8rem;color:var(--muted)}.pricing ul{padding-left:18px}.center{text-align:center;margin-top:34px}.empty-state{text-align:center;max-width:800px;margin:auto}.empty-state span{font-size:4rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery>div{min-height:220px;display:grid;place-items:center;align-content:center;gap:12px;background:linear-gradient(145deg,#dfe8dd,#fff);border-radius:24px;font-size:4rem}.gallery span{font-size:1rem;font-weight:850}.news-list{display:grid;gap:22px;max-width:900px;margin:auto}.news-list article{background:#fff;padding:32px;border-radius:22px}.news-list time{color:var(--green);font-weight:900}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.contact-form{display:grid;gap:17px}.contact-form label{display:grid;gap:7px;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #bdc9bf;border-radius:12px;padding:13px;font:inherit;background:#fff}.form-note,.note{font-size:.9rem;color:var(--muted);background:rgba(49,92,69,.08);padding:13px 15px;border-radius:12px}.legal h2{font-size:2rem;color:var(--green);margin-top:40px}.site-footer{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:40px;padding:50px clamp(22px,7vw,110px);background:var(--dark);color:#fff}.site-footer>div:first-child img{width:75px;float:left;margin-right:14px}.site-footer a{display:block;text-decoration:none;margin:.45rem 0}.site-footer p{color:#bdcec3}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:20px}.site-footer h3{font-size:1.15rem}.center{text-align:center}
@media(max-width:1100px){.main-nav{position:absolute;top:82px;left:15px;right:15px;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:22px;border-radius:18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.nav-toggle{display:block}.pricing{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.hero,.split,.contact-grid{grid-template-columns:1fr}.hero{text-align:center}.hero-copy p{margin-left:auto;margin-right:auto}.actions{justify-content:center}.cards.three,.gallery{grid-template-columns:1fr}.cta{display:block}.cta .btn{margin-top:20px}.site-footer{grid-template-columns:1fr}.copyright{grid-column:auto}.value-grid{grid-template-columns:1fr}}
@media(max-width:560px){.brand span{display:none}.brand{min-width:auto}.brand img{width:52px;height:52px}.pricing{grid-template-columns:1fr}.section{padding:65px 18px}.page-hero{padding:60px 18px}.hero{padding:50px 18px}.cta{padding:30px}}

.footer-form-wrap{min-width:0}.footer-form{display:grid;gap:11px}.footer-form label{display:grid;gap:5px;font-size:.86rem;font-weight:750}.footer-form input,.footer-form select,.footer-form textarea{width:100%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.09);color:#fff;border-radius:10px;padding:10px;font:inherit}.footer-form select option{color:#222}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start}.check input{width:auto!important;margin-top:5px}.honeypot{position:absolute!important;left:-9999px!important}.form-status{margin:0!important;font-weight:750}.form-status.success{color:#b9f6ca}.form-status.error{color:#ffd0d0}.site-footer{grid-template-columns:.9fr 1.35fr .65fr}.footer-about strong{display:block;font-family:Georgia,serif;font-size:1.2rem}.footer-links{display:block}.calendar-toolbar{display:flex;justify-content:center;align-items:center;gap:20px}.calendar-toolbar h2{margin:0;min-width:min(470px,60vw);text-align:center}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid rgba(49,92,69,.18);border-radius:18px;overflow:hidden;background:#fff}.calendar-head{background:var(--green);color:#fff;font-weight:900;text-align:center;padding:10px}.calendar-day{min-height:110px;padding:10px;border-right:1px solid #e4e9e4;border-bottom:1px solid #e4e9e4}.calendar-day>a{display:block;margin-top:7px;background:var(--sage);color:var(--green);border-radius:8px;padding:5px;font-size:.75rem;font-weight:800;text-decoration:none}.calendar-day.muted{background:#f2f2ed}.events-list{display:grid;gap:22px;max-width:1000px;margin:auto}.event-card{display:grid;grid-template-columns:100px 1fr;gap:25px;background:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow)}.event-date{background:var(--green);color:#fff;border-radius:18px;min-height:100px;display:grid;place-items:center;align-content:center}.event-date strong{font-size:2.2rem;line-height:1}.event-date span{text-transform:uppercase;font-weight:850}.event-card h3{font-size:2rem;margin-bottom:10px}
@media(max-width:820px){.site-footer{grid-template-columns:1fr}.calendar{overflow-x:auto;display:grid;grid-template-columns:repeat(7,minmax(95px,1fr))}.event-card{grid-template-columns:1fr}.event-date{width:100px}.form-row{grid-template-columns:1fr}.footer-form-wrap{order:3}.footer-links{order:2}.copyright{order:4}}

/* Adminbereich */
.admin-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--cream)}
.admin-card{width:min(620px,100%);background:#fff;padding:clamp(24px,5vw,48px);border-radius:24px;box-shadow:var(--shadow)}
.admin-topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px clamp(18px,4vw,56px);background:var(--green-dark);color:#fff}
.admin-topbar a{color:#fff;text-decoration:none}.admin-topbar nav{display:flex;flex-wrap:wrap;gap:18px}
.admin-main{max-width:1280px;margin:auto;padding:44px 22px 90px}
.admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}
.admin-stats article{background:#fff;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(32,61,46,.08)}
.admin-stats strong{display:block;font-size:2.4rem;color:var(--green)}.admin-stats span{color:var(--muted)}
.admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.admin-table-wrap{overflow:auto;background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(32,61,46,.08)}
.admin-table{width:100%;border-collapse:collapse;min-width:860px}
.admin-table th,.admin-table td{padding:15px 16px;text-align:left;border-bottom:1px solid rgba(49,92,69,.12);vertical-align:top}
.admin-table th{background:var(--sage)}.actions-cell{white-space:nowrap}.actions-cell form{display:inline}.actions-cell button{border:0;background:none;color:#9a2e2e;cursor:pointer}
.admin-form{max-width:850px;background:#fff;padding:30px;border-radius:22px;box-shadow:0 10px 30px rgba(32,61,46,.08)}
.admin-form label{display:grid;gap:7px;margin-bottom:17px;font-weight:700}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:12px;border:1px solid #bdc9c0;border-radius:10px;font:inherit}
.admin-check{align-content:center;margin-top:27px!important}.notice{padding:14px 16px;border-radius:12px}.notice.success{background:#dff3e5}.notice.error{background:#f8dddd;color:#7c1d1d}
@media(max-width:800px){.admin-topbar{align-items:flex-start;flex-direction:column}.admin-stats{grid-template-columns:1fr 1fr}.admin-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){.admin-stats{grid-template-columns:1fr}}

/* Admin-Link und Karten bei Veranstaltungen */
.admin-menu-link{padding:9px 14px;border:1px solid currentColor;border-radius:999px;font-weight:800}
.event-map{margin:20px 0 16px;border-radius:18px;overflow:hidden;border:1px solid rgba(49,92,69,.16);background:#eef2ed}
.event-map iframe{display:block;width:100%;height:260px;border:0}
.event-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media(max-width:900px){.admin-menu-link{text-align:center}.event-map iframe{height:220px}}

/* Vereinsportal 2.0 */
.admin-layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f4f6f2}
.admin-sidebar{position:sticky;top:0;height:100vh;background:#17271e;color:#fff;padding:24px 18px;display:flex;flex-direction:column}
.admin-brand{display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center;color:#fff;text-decoration:none;margin-bottom:28px}
.admin-brand span{grid-row:1/3;font-size:28px}.admin-brand strong,.admin-brand small{display:block}.admin-brand small{color:#b8cabd}
.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav a,.admin-sidebar-bottom a{color:#e8f0ea;text-decoration:none;padding:10px 12px;border-radius:10px}.admin-sidebar nav a:hover,.admin-sidebar-bottom a:hover{background:rgba(255,255,255,.1)}
.admin-sidebar-bottom{margin-top:auto;display:grid;gap:5px}.admin-content{min-width:0}.admin-mobilebar{display:none}
.portal-stats{grid-template-columns:repeat(4,1fr)}.admin-panel{background:#fff;padding:28px;border-radius:20px;box-shadow:0 10px 30px rgba(32,61,46,.08);margin:24px 0}
.admin-quicklinks{display:flex;flex-wrap:wrap;gap:12px}.admin-quicklinks a{background:var(--green);color:#fff;text-decoration:none;padding:13px 18px;border-radius:999px;font-weight:800}
.admin-filter{display:flex;gap:10px;margin:0 0 20px}.admin-filter input,.admin-filter select{padding:11px;border:1px solid #bbc7be;border-radius:10px}
.compact-form{margin-bottom:28px}.admin-gallery,.public-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:24px}
.admin-gallery img,.public-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.gallery-album{margin-bottom:60px}.content-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:18px}
.brand img{width:48px;height:48px;object-fit:contain}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-mobilebar{display:block;padding:16px;background:#fff}.portal-stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.portal-stats{grid-template-columns:1fr}.admin-sidebar nav{grid-template-columns:1fr}.admin-filter{flex-direction:column}}

/* Portal V3 Kalender & Wanderungen */
.calendar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.event-calendar{background:#fff;border-radius:20px;padding:18px;box-shadow:var(--shadow)}.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-head span{text-align:center;font-weight:800;padding:10px}.cal-cell{min-height:105px;border:1px solid rgba(49,92,69,.12);padding:8px;display:flex;flex-direction:column;gap:5px}.cal-cell a{font-size:.78rem;background:var(--sage);padding:5px;border-radius:7px;text-decoration:none}.cal-cell.muted{background:#f3f3ef}.event-list{display:none;gap:24px}.event-card{display:grid;grid-template-columns:120px 1fr;gap:24px;background:#fff;padding:28px;border-radius:24px;box-shadow:var(--shadow)}.event-date{background:var(--green);color:#fff;border-radius:18px;padding:18px;text-align:center;height:max-content}.event-date strong,.event-date span{display:block}.event-date strong{font-size:1.4rem}.event-facts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.event-facts span{background:var(--sage);padding:8px 12px;border-radius:999px}.map-wrap iframe{width:100%;height:280px;border:0;border-radius:18px}.admin-form h2{margin-top:32px;color:var(--green)}
@media(max-width:700px){.event-card{grid-template-columns:1fr}.cal-cell{min-height:80px;padding:4px}.cal-cell a{font-size:.65rem}.event-calendar{overflow:auto}.cal-head,.cal-grid{min-width:650px}}
