:root{--green:#348b20;--dark:#102a38;--muted:#58666d;--soft:#f5faf2;--line:#e6eee2;--shadow:0 8px 24px rgba(35,70,35,.10);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--dark);background:#fbfdf9}a{text-decoration:none;color:inherit}.construction{background:#246d17;color:white;text-align:center;padding:8px 16px;font-size:13px}.topbar{height:164px;background:#fff}.nav-shell,.page-shell,.quick-shell{width:min(var(--max),calc(100% - 58px));margin:auto}.nav-shell{height:100%;display:flex;align-items:center}.brand{width:405px;align-self:flex-start;padding-top:20px}.brand img{width:360px;height:132px;object-fit:cover;object-position:center 59%;display:block}.navlinks{margin-left:auto;height:100%;display:flex;align-items:center;gap:27px}.navlinks a{height:100%;min-width:66px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:11px;font-weight:700;border-bottom:3px solid transparent}.navlinks b{font-size:25px;font-weight:400;line-height:1;margin-bottom:10px}.navlinks .active{color:var(--green);border-bottom-color:var(--green)}
.hero{height:480px;background:url('../img/droeschede-panorama.jpg') center 50%/cover no-repeat;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.83) 27%,rgba(255,255,255,.17) 52%,rgba(255,255,255,0) 80%)}.hero-inner{width:min(var(--max),calc(100% - 58px));margin:auto;position:relative;height:100%}.hero-copy{padding:39px 0 0 90px;width:690px}.eyebrow{font-size:42px;font-weight:800;letter-spacing:-1.7px}.hero h1{margin:0;color:var(--green);font-size:72px;line-height:.98;letter-spacing:-3px}.hero h2{font-size:20px;margin:15px 0 9px}.hero p{font-size:14px;line-height:1.4;width:450px;margin:0}.search{width:650px;height:56px;background:#fff;border-radius:32px;margin-top:27px;display:flex;align-items:center;padding:5px 6px 5px 15px;box-shadow:0 5px 18px rgba(20,45,20,.15)}.glass{font-size:30px;margin-right:8px}.search input{border:0;outline:0;flex:1;font-size:16px}.search button,.green-btn{border:0;background:var(--green);color:#fff;font-weight:700;border-radius:28px;padding:13px 35px;font-size:14px}.chips{display:flex;gap:7px;margin-top:9px}.chips span{font-size:11px;background:rgba(20,31,28,.76);color:#fff;border:1px solid rgba(255,255,255,.55);padding:4px 10px;border-radius:15px}.quick-shell{position:relative;margin-top:-52px;z-index:3}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.quick-card{height:142px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center}.quick-card i{font-style:normal;color:var(--green);font-size:38px;height:43px}.quick-card h3{font-size:17px;margin:5px 0 4px}.quick-card p{font-size:13px;margin:0;text-align:center;color:#263b44}.quick-card em{font-size:24px;color:var(--green);font-style:normal;line-height:18px;margin-top:6px}.page-shell{margin-top:18px}.dashboard{display:grid;grid-template-columns:1.38fr .88fr .82fr;gap:13px}.panel{background:#fff;border:1px solid #edf2ea;border-radius:11px;padding:12px;box-shadow:0 4px 18px rgba(25,55,25,.06)}.panel-head{height:34px;display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:18px;margin:0;font-weight:800}.panel-head a{font-size:10px;color:#337c20;font-weight:700}.event{height:82px;display:grid;grid-template-columns:60px 1fr 90px;align-items:center;border-top:1px solid #eef2ec;gap:12px}.date{height:61px;border-radius:9px;background:#f4f6f4;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;font-weight:700}.date strong{font-size:22px;line-height:22px}.date small{font-size:10px}.event h4{font-size:13px;margin:0 0 5px}.event p{font-size:11px;color:#56636a;margin:2px 0}.event-art{height:62px;border-radius:7px;background:#dfeeda;display:grid;place-items:center;font-size:30px;color:#2f7d1e}.fire{background:#2f271d;color:#ffb138}.walk{background:#dce9d4}.ball{background:#a7cb75}.about-photo{height:137px;border-radius:8px;background:url('../img/droeschede-panorama.jpg') center/cover no-repeat;margin-top:8px}.about-card p{font-size:12px;line-height:1.35;margin:10px 0}.green-btn{display:block;text-align:center;padding:10px 13px;font-size:12px}.map-placeholder{height:249px;border-radius:8px;background:linear-gradient(32deg,#d7ebc8,#edf7e8);position:relative;overflow:hidden}.map-placeholder:before,.map-placeholder:after{content:"";position:absolute;background:#fff8}.map-placeholder:before{height:8px;width:140%;top:48%;left:-20%;transform:rotate(-25deg)}.map-placeholder:after{width:7px;height:130%;left:51%;top:-15%;transform:rotate(18deg)}.map-pin{position:absolute;z-index:2;width:45px;height:45px;background:var(--green);color:#fff;border:3px solid #fff;border-radius:50% 50% 50% 4px;display:grid;place-items:center;font-size:20px;transform:rotate(-45deg)}.map-pin::first-letter{transform:rotate(45deg)}.p1{top:35px;left:100px}.p2{top:96px;left:36px}.p3{top:102px;right:28px}.p4{top:150px;left:115px}.map-placeholder button{position:absolute;z-index:3;bottom:12px;left:13px;background:#102a38;color:#fff;border:0;border-radius:22px;padding:11px 20px}.companies{margin-top:15px}.companies>.panel-head{padding:0 10px}.business-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.business{background:#fff;border-radius:9px;border:1px solid #edf2ea;overflow:hidden;box-shadow:0 3px 14px rgba(30,60,30,.05)}.business-art{height:100px;background:#edf7e7;display:grid;place-items:center;color:var(--green);font-size:44px}.business-body{padding:9px}.business h3{font-size:12px;margin:0 0 4px}.business p{font-size:10px;color:#58666d;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business span{background:#dcedc8;color:#245f18;border-radius:12px;padding:4px 9px;font-size:9px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:23px}.feature{height:235px;background:#fff;border-radius:10px;overflow:hidden;position:relative;box-shadow:0 4px 16px rgba(30,60,30,.07)}.feature-art{height:105px;background:linear-gradient(#cce9f1,#82b856);position:relative}.feature-art:after{content:"";position:absolute;bottom:-10px;left:-5%;width:110%;height:55px;background:#5b9d36;border-radius:50% 50% 0 0}.art2:after{background:#6fa446}.art3:after{background:#7eaf52}.feature i{position:absolute;top:82px;left:20px;width:54px;height:54px;background:#fff;border-radius:50%;display:grid;place-items:center;color:var(--green);font-style:normal;font-size:28px;box-shadow:var(--shadow);z-index:2}.feature h3{font-size:15px;margin:15px 20px 6px 83px}.feature p{font-size:12px;line-height:1.4;margin:0 20px 12px}.feature a{font-size:12px;color:var(--green);font-weight:700;margin-left:20px}.hill-footer{height:105px;margin-top:0;background:radial-gradient(90% 100% at 25% 110%,#4b9a32 0 38%,transparent 39%),radial-gradient(90% 100% at 70% 115%,#74b457 0 45%,transparent 46%),linear-gradient(#f6fbf3,#dcefd3)}footer{background:#dcefd3}.legal{margin-top:0;padding:12px 0 22px;display:flex;gap:20px;font-size:11px}.legal a{color:#245f18}.construction+ .topbar{height:164px}
@media(max-width:900px){.topbar{height:auto}.nav-shell{padding:12px 0}.brand{width:280px;padding:0}.brand img{width:270px;height:100px}.navlinks{display:none}.hero-copy{padding-left:20px}.hero h1{font-size:58px}.search{width:90%}.quick-grid{grid-template-columns:repeat(2,1fr)}.dashboard{grid-template-columns:1fr}.business-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1fr}.quick-shell{margin-top:-30px}}@media(max-width:520px){.nav-shell,.page-shell,.quick-shell,.hero-inner{width:calc(100% - 24px)}.hero-copy{padding-left:0;width:100%}.eyebrow{font-size:28px}.hero h1{font-size:48px}.hero p{width:95%}.search{width:100%}.chips{display:none}.quick-grid,.business-grid{grid-template-columns:1fr}.quick-shell{margin-top:-18px}}
/* V1.3 – reference-faithful iconography and landscape footer */
.navlinks b svg{width:27px;height:27px;display:block;fill:currentColor}.quick-card i svg{width:42px;height:42px;display:block;fill:currentColor}.business-art svg{width:48px;height:48px;display:block;fill:currentColor}.feature i svg{width:29px;height:29px;display:block;fill:currentColor}
.hill-footer{height:125px;margin-top:0;position:relative;overflow:hidden;background:linear-gradient(#f8fcf5 0%,#eef8e9 54%,#d8edce 100%)}
.hill-footer .hill-layer{position:absolute;left:-8%;width:116%;border-radius:50% 50% 0 0/100% 100% 0 0;transform-origin:center bottom}
.hill-back{height:78px;bottom:17px;background:#cfe6c3;transform:rotate(-2deg)}
.hill-mid{height:72px;bottom:-2px;left:18%!important;width:92%!important;background:#8fc16f!important;transform:rotate(2deg)}
.hill-front{height:66px;bottom:-25px;left:-18%!important;width:105%!important;background:#4b9b35!important;transform:rotate(2deg)}
.footer-tree{position:absolute;bottom:0;width:82px;height:112px;z-index:5}.tree-left{left:0}.tree-right{right:0;transform:scaleX(-1)}.footer-tree:before,.footer-tree:after,.footer-tree span{content:"";position:absolute;bottom:0;background:#2f7e2a;border-radius:60% 60% 35% 35%}.footer-tree:before{width:26px;height:82px;left:4px;transform:rotate(-7deg)}.footer-tree:after{width:32px;height:104px;left:47px;transform:rotate(8deg);background:#3d9132}.footer-tree span:nth-child(1){width:30px;height:66px;left:26px}.footer-tree span:nth-child(2){width:18px;height:52px;left:0;background:#62a94a}.footer-tree span:nth-child(3){width:22px;height:72px;left:61px;background:#6caf4d}
footer{background:#d8edce}

/* V1.5 – legal pages use the same visual language as the portal */
.legal-page{background:#f7fbf5;min-height:100vh}.legal-page .topbar{height:138px}.legal-page .brand{padding-top:10px}.legal-page .brand img{width:330px;height:118px}.legal-page .navlinks a{font-size:11px}.legal-hero{background:linear-gradient(135deg,#edf7e9 0%,#f9fcf7 58%,#e0f0d7 100%);border-top:1px solid #edf3e9;border-bottom:1px solid #e1ebdc}.legal-hero-inner{width:min(980px,calc(100% - 58px));margin:auto;padding:48px 0 42px}.legal-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.1px}.legal-hero h1{font-size:46px;letter-spacing:-1.5px;margin:8px 0 10px;color:var(--dark)}.legal-hero p{max-width:720px;margin:0;color:var(--muted);font-size:15px;line-height:1.65}.legal-content{width:min(980px,calc(100% - 58px));margin:26px auto 42px;display:grid;gap:14px}.legal-card{background:#fff;border:1px solid #e6eee2;border-radius:14px;padding:26px 30px;box-shadow:0 5px 20px rgba(35,70,35,.06)}.legal-card h2{display:flex;align-items:center;gap:11px;font-size:19px;margin:0 0 13px}.legal-card h2 .legal-number{width:31px;height:31px;flex:0 0 31px;border-radius:50%;background:#e7f3e2;color:var(--green);display:grid;place-items:center;font-size:12px}.legal-card p,.legal-card li{color:#43545c;font-size:14px;line-height:1.7}.legal-card p:last-child{margin-bottom:0}.legal-card a{color:var(--green);font-weight:700}.legal-notice{border-left:4px solid var(--green);background:#eff8eb}.legal-notice strong{color:#245f18}.legal-address{font-style:normal;line-height:1.75;color:#31434b}.legal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.legal-actions a{display:inline-flex;align-items:center;border-radius:24px;padding:10px 16px;background:var(--green);color:#fff;font-size:12px;font-weight:700}.legal-actions a.secondary{background:#fff;color:var(--green);border:1px solid #cfe3c6}.legal-footer-note{font-size:11px;color:#617069}.legal-page footer .legal{width:min(980px,calc(100% - 58px));margin:auto;padding-top:14px}.legal-page .hill-footer{margin-top:16px}
@media(max-width:900px){.legal-page .topbar{height:auto}.legal-page .brand img{width:270px;height:100px}.legal-hero-inner,.legal-content,.legal-page footer .legal{width:calc(100% - 28px)}.legal-hero-inner{padding:34px 0 30px}.legal-hero h1{font-size:38px}.legal-card{padding:22px 20px}}

/* === Frontend Unterseiten: Veranstaltungen & News === */
.sub-hero{background:linear-gradient(135deg,#f5fbf1,#e5f2dd);border-bottom:1px solid var(--line);padding:54px 0 42px}.sub-hero-inner{width:min(var(--max),calc(100% - 58px));margin:auto}.sub-kicker{color:var(--green);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px}.sub-hero h1{font-size:44px;line-height:1.05;margin:8px 0 10px;letter-spacing:-1.5px}.sub-hero p{max-width:690px;color:var(--muted);font-size:15px;line-height:1.6;margin:0}.content-page{width:min(var(--max),calc(100% - 58px));margin:28px auto 48px}.content-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.content-toolbar h2{margin:0;font-size:20px}.content-toolbar .count{font-size:12px;color:var(--muted);background:#eef6e9;border-radius:20px;padding:7px 12px}.event-list{display:grid;gap:14px}.event-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px rgba(30,60,30,.06);display:grid;grid-template-columns:92px 180px 1fr 40px;min-height:142px;overflow:hidden;transition:.18s}.event-card:hover,.news-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(30,60,30,.10)}.event-card-date{background:#f1f7ed;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--dark);font-size:11px;font-weight:800;text-transform:uppercase}.event-card-date strong{font-size:34px;line-height:1;color:var(--green);margin:4px 0}.event-card-image{background:linear-gradient(135deg,#dcefd3,#b9d9a7);min-height:142px}.event-card-image img{width:100%;height:100%;object-fit:cover;display:block}.event-card-image.placeholder{display:grid;place-items:center;color:var(--green);font-size:38px}.event-card-body{padding:22px 24px}.event-card-body h3{font-size:20px;margin:0 0 8px}.event-meta{display:flex;flex-wrap:wrap;gap:14px;color:#617078;font-size:12px;margin-bottom:10px}.event-card-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.event-card-arrow{display:grid;place-items:center;color:var(--green);font-size:26px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.news-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px rgba(30,60,30,.06);padding:22px;min-height:220px;display:flex;flex-direction:column;transition:.18s}.news-date{font-size:11px;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.7px}.news-card h3{font-size:19px;line-height:1.25;margin:10px 0}.news-card p{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 16px}.news-card a{color:var(--green);font-size:12px;font-weight:800;margin-top:auto}.empty-state{background:#fff;border:1px solid var(--line);border-radius:14px;padding:50px 24px;text-align:center;color:var(--muted)}.detail-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 6px 22px rgba(30,60,30,.07);overflow:hidden}.detail-image{width:100%;max-height:460px;object-fit:cover;display:block}.detail-body{padding:32px}.detail-body h1{font-size:34px;margin:0 0 14px;letter-spacing:-.8px}.detail-meta{display:flex;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px;color:var(--muted);font-size:13px}.detail-text{font-size:15px;line-height:1.75;color:#34464e;white-space:pre-line}.back-link{display:inline-block;color:var(--green);font-size:13px;font-weight:800;margin-bottom:16px}.detail-actions{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.detail-actions a{color:var(--green);font-weight:800;font-size:13px}.navlinks a.current{color:var(--green);border-bottom-color:var(--green)}
@media(max-width:900px){.sub-hero-inner,.content-page{width:min(100% - 30px,var(--max))}.sub-hero h1{font-size:36px}.event-card{grid-template-columns:75px 120px 1fr}.event-card-arrow{display:none}.news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.sub-hero{padding:34px 0 30px}.sub-hero h1{font-size:31px}.event-card{grid-template-columns:68px 1fr}.event-card-image{display:none}.event-card-body{padding:17px}.event-card-body h3{font-size:17px}.news-grid{grid-template-columns:1fr}.detail-body{padding:22px}.detail-body h1{font-size:27px}.content-toolbar{align-items:flex-start;gap:10px}}


/* Veranstaltungstypen – automatische, dezente Kennzeichnung */
.event-type{
  display:inline-flex;align-items:center;gap:8px;
  margin:0 0 10px;padding:5px 10px 5px 6px;
  border-radius:999px;background:#eef7f0;color:#28733a;
  font-size:.78rem;font-weight:700;letter-spacing:.01em;
}
.event-type__icon{
  display:grid;place-items:center;width:28px;height:28px;
  border-radius:50%;background:#fff;color:#2f7d42;
  box-shadow:0 1px 5px rgba(31,83,45,.12);
  font-size:1rem;line-height:1;
}
.event-type--detail{margin-bottom:14px}
.event-inline-icon{
  display:inline-grid;place-items:center;width:30px;height:30px;
  margin-right:8px;border-radius:50%;background:#eef7f0;color:#28733a;
  vertical-align:middle;font-size:1rem;
}

/* Verlinkte Originalquelle bei Veranstaltungen */
.event-source-link{
  color:#2f7d42;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(47,125,66,.28);
}
.event-source-link:hover{
  color:#1f5f30;
  border-bottom-color:currentColor;
}

/* Konsolidierte Event-Icons + Quellenlinks */
.event-type{display:inline-flex!important;align-items:center;gap:7px;margin:0 0 9px;padding:4px 10px 4px 5px;border-radius:999px;background:#edf6ef;color:#2d7540;font-size:.76rem;font-weight:700}
.event-type__icon{display:inline-grid!important;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;font-size:1rem;line-height:1;box-shadow:0 1px 5px rgba(31,83,45,.12)}
.event-placeholder-icon{display:grid;place-items:center;width:100%;height:100%;min-height:92px;font-size:2.2rem;background:linear-gradient(145deg,#edf6ef,#f8fbf8)}
.event-source{margin-top:10px!important;font-size:.78rem!important;color:#6b796f!important}.event-source-link,.home-event-source a{color:#2f7d42!important;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(47,125,66,.3)}
.event-source-link:hover,.home-event-source a:hover{color:#1f5f30!important;border-bottom-color:currentColor}.event-source--detail{margin:18px 0}.home-event-source{grid-column:1/-1;font-size:.72rem;color:#6b796f;margin-top:-5px}

/* Vereine V3 */
.club-hero{padding:58px 0 54px;background:linear-gradient(120deg,#edf6eb,#f8fbf6);border-bottom:1px solid #dfe9dd}
.club-kicker{font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#47804b}
.club-hero h1{margin:8px 0 9px;color:#173d25;font-size:clamp(2rem,4.5vw,3.45rem);letter-spacing:-1.4px;line-height:1.03}
.club-hero p{margin:0;color:#607064;font-size:1rem}
.clubs-v3{padding-top:36px;padding-bottom:24px}
.clubs-toolbar{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.clubs-toolbar h2{margin:0;color:#173d25;font-size:1.35rem}.clubs-toolbar p{margin:4px 0 0;color:#7a887e;font-size:.8rem}
.clubs-search-v3{display:flex;align-items:center;width:min(420px,100%);height:46px;background:#fff;border:1px solid #dfe7de;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(30,67,39,.04)}
.clubs-search-v3>span{padding-left:14px;color:#79907c;font-size:1.2rem}.clubs-search-v3 input{flex:1;min-width:0;border:0;outline:0;padding:0 10px;font:inherit;font-size:.84rem}.clubs-search-v3 button{align-self:stretch;border:0;background:#347b45;color:#fff;padding:0 18px;font-weight:800;cursor:pointer}
.clubs-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.club-directory-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;column-gap:20px;min-height:205px;padding:23px;background:#fff;border:1px solid #e2e9e0;border-radius:13px;box-shadow:0 5px 18px rgba(27,65,36,.055)}
.club-identity{grid-column:1/-1;display:flex;gap:14px;align-items:center;margin-bottom:15px}
.club-icon-v3{flex:0 0 54px;width:54px;height:54px;border-radius:12px;display:grid;place-items:center;background:#edf6eb;color:#347b45;overflow:hidden}
.club-icon-v3 svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.club-icon-v3 img{width:100%;height:100%;object-fit:cover}
.club-heading{min-width:0}.club-category{display:block;margin-bottom:3px;color:#5c8b60;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.club-heading h2{margin:0;color:#183e25;font-size:1.12rem;line-height:1.22}
.club-copy{grid-column:1/-1}.club-copy p{margin:0 0 19px;color:#627168;font-size:.84rem;line-height:1.62}
.club-links{grid-column:1/-1;align-self:end;display:flex;justify-content:flex-end;align-items:center;gap:16px;padding-top:15px;border-top:1px solid #edf1eb}
.club-link-primary,.club-link-secondary{font-size:.76rem;font-weight:850;text-decoration:none}.club-link-primary{display:inline-flex;align-items:center;gap:6px;color:#fff!important;background:#347b45;padding:9px 14px;border-radius:8px}.club-link-secondary{color:#347b45}
.clubs-footnote{display:flex;align-items:center;gap:14px;margin-top:22px;padding:17px 19px;background:#f5f9f4;border:1px solid #e1eade;border-radius:11px;color:#66756a;font-size:.79rem;line-height:1.5}.clubs-footnote>div{flex:0 0 38px;width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#e6f2e3;color:#397a43}.clubs-footnote svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.clubs-footnote p{margin:0}.clubs-footnote strong{color:#254c30}
@media(max-width:820px){.clubs-directory{grid-template-columns:1fr}.clubs-toolbar{align-items:stretch;flex-direction:column}.clubs-search-v3{width:100%}}
@media(max-width:520px){.club-hero{padding:42px 0 38px}.clubs-v3{padding-top:26px}.club-directory-card{padding:19px}.club-links{justify-content:flex-start;flex-wrap:wrap}}

/* Vereine – im Stil der Heimatverein-Seite */
.clubs-hv-hero .page-shell{display:flex;align-items:center;justify-content:space-between;gap:42px}
.clubs-hero-mark{flex:0 0 150px;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.72);color:#347b45;border:1px solid rgba(52,123,69,.12);box-shadow:0 12px 34px rgba(32,74,41,.08)}
.clubs-hero-mark svg{width:72px;height:72px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.clubs-welcome{padding-top:52px}
.clubs-hv-search{max-width:620px;margin:26px auto 34px;display:flex;background:#fff;border:1px solid #dfe8df;border-radius:12px;overflow:hidden;box-shadow:0 7px 22px rgba(31,73,42,.06)}
.clubs-hv-search input{flex:1;min-width:0;border:0;outline:0;padding:14px 17px;font:inherit}
.clubs-hv-search button{border:0;background:#347b45;color:#fff;padding:0 23px;font-weight:800;cursor:pointer}
.clubs-hv-list{max-width:940px;margin:0 auto;display:grid;gap:18px}
.club-hv-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:26px;align-items:stretch;padding:0!important;overflow:hidden}
.club-hv-icon{min-height:180px;display:grid;place-items:center;background:linear-gradient(145deg,#edf6eb,#dfeeda);color:#347b45;border-right:1px solid #e0e9dd}
.club-hv-icon svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.club-hv-icon img{width:100%;height:100%;object-fit:cover}
.club-hv-content{padding:25px 27px 23px 0;display:flex;flex-direction:column}
.club-hv-type{color:#4f8554;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
.club-hv-content h3{margin:6px 0 9px;color:#183e25;font-size:1.35rem}
.club-hv-content p{margin:0 0 19px;color:#627168;font-size:.9rem;line-height:1.62}
.club-hv-actions{margin-top:auto;display:flex;align-items:center;gap:17px;flex-wrap:wrap}
.hv-link-secondary{font-size:.8rem;font-weight:800;color:#347b45;text-decoration:none}
.clubs-empty-hv{max-width:800px;margin:0 auto;text-align:center}
.clubs-info{margin-top:54px}
@media(max-width:700px){.clubs-hv-hero .page-shell{display:block}.clubs-hero-mark{display:none}.club-hv-card{grid-template-columns:1fr}.club-hv-icon{min-height:110px;border-right:0;border-bottom:1px solid #e0e9dd}.club-hv-content{padding:21px}.clubs-hv-search{margin-top:20px}.clubs-welcome{padding-top:38px}}

/* Vereinsicons V2 – kompakt, klar, professioneller */
.club-hv-card{
  grid-template-columns:88px minmax(0,1fr)!important;
  gap:22px!important;
  padding:22px!important;
  align-items:center!important;
}
.club-hv-icon{
  width:72px!important;
  height:72px!important;
  min-height:72px!important;
  border:1px solid #dbe9d7!important;
  border-radius:50%!important;
  background:#f2f8ef!important;
  display:grid!important;
  place-items:center!important;
  color:#2f7d42!important;
  overflow:hidden!important;
}
.club-hv-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.club-symbol-glyph{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-weight:700;
  font-size:34px;
  line-height:1;
  letter-spacing:-4px;
  color:#2f7d42;
}
.club-symbol-football{font-size:39px;filter:grayscale(1)}
.club-symbol-sport{font-size:34px;filter:grayscale(1)}
.club-symbol-music{font-family:Georgia,"Times New Roman",serif;font-size:42px;letter-spacing:0}
.club-symbol-dance{font-family:Georgia,"Times New Roman",serif;font-size:42px;letter-spacing:0}
.club-symbol-theatre{font-size:33px;filter:grayscale(1)}
.club-symbol-home{font-size:39px;letter-spacing:0}
.club-symbol-nature{font-size:37px;letter-spacing:0}
.club-symbol-social,.club-symbol-club{font-size:16px;letter-spacing:-2px}
.club-hv-content{padding:0!important}
.club-hv-content h3{font-size:1.25rem!important;margin:5px 0 7px!important}
.club-hv-content p{margin-bottom:15px!important}
.club-hv-actions .green-btn{padding:9px 15px!important}
@media(max-width:700px){
  .club-hv-card{grid-template-columns:64px minmax(0,1fr)!important;gap:15px!important;padding:17px!important}
  .club-hv-icon{width:58px!important;height:58px!important;min-height:58px!important;border-bottom:1px solid #dbe9d7!important}
  .club-symbol-glyph{font-size:29px}
  .club-symbol-football{font-size:32px}
  .club-symbol-music,.club-symbol-dance{font-size:34px}
}

/* Unternehmensverzeichnis */
.business-subhero{background:linear-gradient(135deg,#eef7e9,#fff);padding:48px 0 36px;border-bottom:1px solid #e6eee2}
.business-subhero .subhero-inner,.business-directory{width:min(var(--max),calc(100% - 58px));margin:auto}
.business-subhero .kicker{color:var(--green);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.business-subhero h1{font-size:44px;margin:8px 0 10px;letter-spacing:-1.5px}
.business-subhero p{max-width:760px;color:var(--muted);line-height:1.65;margin:0;font-size:16px}
.business-directory{padding:28px 0 44px}
.business-filter-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);margin-bottom:22px}
.business-filter-form{display:grid;grid-template-columns:minmax(260px,1fr) 240px auto auto;gap:10px;align-items:center}
.business-search{display:flex;align-items:center;border:1px solid #dfe7dc;border-radius:9px;padding:0 12px;background:#fbfdfb}.business-search input{width:100%;border:0;outline:0;background:transparent;padding:11px;font:inherit}
.business-filter-form select{height:43px;border:1px solid #dfe7dc;border-radius:9px;padding:0 11px;background:#fff}.business-filter-form button{height:43px;border:0;border-radius:22px;background:var(--green);color:#fff;padding:0 22px;font-weight:800}.business-filter-form>a{font-size:12px;font-weight:800;color:var(--green)}
.business-category-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:28px}.business-category-nav a{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 13px;color:#183d25;box-shadow:0 4px 14px rgba(31,73,42,.04)}.business-category-nav i{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#edf6e9;color:var(--green)}.business-category-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}.business-category-nav span{font-size:12px;font-weight:800}.business-category-nav small{background:#edf6e9;color:var(--green);border-radius:12px;padding:3px 7px;font-weight:800}
.business-group{margin:0 0 34px}.business-group-head{display:flex;align-items:center;gap:13px;margin-bottom:13px}.business-group-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#eaf5e6;color:var(--green)}.business-group-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2}.business-group-head span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#6d8a6d;font-weight:900}.business-group-head h2{margin:2px 0 0;font-size:23px;color:#173d25}.business-group-head>b{margin-left:auto;color:#738078;font-size:12px}
.business-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.business-directory-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;box-shadow:0 5px 18px rgba(31,73,42,.055);display:flex;flex-direction:column}.business-card-top{display:flex;align-items:center;gap:14px}.business-logo{flex:0 0 58px;width:58px;height:58px;border-radius:12px;background:#eef7eb;color:var(--green);display:grid;place-items:center;overflow:hidden}.business-logo svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2}.business-logo img{width:100%;height:100%;object-fit:cover}.business-type{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5b895d;font-weight:900}.business-directory-card h3{margin:4px 0 0;font-size:18px;color:#173d25}.business-description{color:#596a60;line-height:1.55;font-size:13px;margin:15px 0}.business-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:15px;border-top:1px solid #edf1eb}.business-meta span{font-size:12px;color:#526159}.business-meta b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#809086;margin-bottom:3px}.business-meta a{color:#315f39}.business-actions{display:flex;align-items:center;gap:14px;margin-top:15px}.business-secondary{font-size:12px;font-weight:800;color:var(--green)}.business-note{display:flex;align-items:center;gap:14px;margin-top:12px;padding:18px;background:#f3f8f1;border:1px solid #e1eadf;border-radius:12px;color:#5b6a61;font-size:13px}.business-note>div{width:42px;height:42px;display:grid;place-items:center;color:var(--green)}.business-note svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2}.business-note p{margin:0}.business-empty{text-align:center}
@media(max-width:900px){.business-filter-form{grid-template-columns:1fr 1fr}.business-category-nav{grid-template-columns:repeat(2,1fr)}.business-directory-grid{grid-template-columns:1fr}.business-subhero .subhero-inner,.business-directory{width:calc(100% - 24px)}}
@media(max-width:560px){.business-filter-form{grid-template-columns:1fr}.business-category-nav{grid-template-columns:1fr}.business-subhero h1{font-size:34px}.business-meta{grid-template-columns:1fr}}

/* Startseite – Abschnittssymbole und klickbare Unternehmenskarten */
.panel-head h2,.companies .panel-head h2{display:flex;align-items:center;gap:8px}
.section-title-icon{width:25px;height:25px;display:inline-grid;place-items:center;color:var(--green);flex:0 0 25px}
.section-title-icon svg{width:25px;height:25px;display:block;fill:currentColor;stroke:currentColor}
.business-link-card{display:block;color:inherit;text-decoration:none}
.business-link-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(31,73,42,.11)}
.business-link-card:focus-visible{outline:3px solid rgba(52,139,32,.28);outline-offset:2px}
.business-directory-card[id]{scroll-margin-top:110px}

/* Interaktive Karte */
.map-subhero{background:linear-gradient(135deg,#eef7e9,#fff);padding:44px 0 34px;border-bottom:1px solid #e6eee2}
.map-subhero .subhero-inner,.map-page{width:min(var(--max),calc(100% - 58px));margin:auto}
.map-subhero .kicker{color:var(--green);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.map-subhero h1{font-size:42px;margin:7px 0 9px;color:#173d25}.map-subhero p{color:var(--muted);margin:0}
.map-page{padding:26px 0 44px}.map-category-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.map-filter{border:1px solid #dce9d8;background:#fff;color:#45634b;border-radius:22px;padding:8px 13px;font-weight:700;cursor:pointer}
.map-filter.active{background:#e9f5e4;color:var(--green);border-color:#cfe4c7}
.map-consent{min-height:440px;border:1px solid #dce8d8;border-radius:16px;background:linear-gradient(145deg,#f5faf3,#eaf5e6);display:flex;align-items:center;justify-content:center;gap:22px;padding:45px;text-align:left}
.map-consent>div:last-child{max-width:650px}.map-consent h2{margin:0 0 10px;color:#173d25}.map-consent p{color:#526159;line-height:1.6}.map-consent-icon{font-size:52px;color:var(--green)}.map-privacy-note{font-size:12px}.map-privacy-note a{color:var(--green);font-weight:800}
.interactive-map-shell{position:relative;border:1px solid #dce8d8;border-radius:16px;overflow:hidden;background:#eef4ea;box-shadow:var(--shadow)}
.map-toolbar{height:58px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #e3eae0}.map-toolbar strong{display:block;color:#173d25}.map-toolbar span{font-size:11px;color:#77847b}.map-zoom{display:flex;gap:5px}.map-zoom button{width:35px;height:35px;border:1px solid #dce7d9;background:#fff;border-radius:8px;font-size:20px;color:#2d6f2c;cursor:pointer}
.droeschede-map{height:560px;position:relative;overflow:hidden;cursor:grab;touch-action:none;background:#e8efe5}.droeschede-map:active{cursor:grabbing}.map-tiles,.map-markers{position:absolute;inset:0}.map-tiles img{position:absolute;width:256px;height:256px;user-select:none;pointer-events:none}.map-markers{pointer-events:none}
.custom-map-marker{pointer-events:auto;position:absolute;transform:translate(-50%,-100%);width:34px;height:42px;border:0;background:transparent;cursor:pointer;padding:0}.custom-map-marker span{display:block;width:29px;height:29px;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);background:#2f8428;border:3px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.24)}.custom-map-marker span:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;left:8px;top:8px}.custom-map-marker.cat-verein span{background:#245f83}.custom-map-marker.cat-veranstaltung span{background:#9a6422}.custom-map-marker.cat-freizeit span{background:#397642}.custom-map-marker.cat-geschichte span{background:#59645c}
.map-popup{pointer-events:auto;position:absolute;transform:translate(-50%,-100%);width:260px;background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 10px 35px rgba(21,50,29,.22);z-index:20;color:#233b29}.map-popup small{display:block;color:#6c8a70;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.08em}.map-popup strong{display:block;margin:4px 22px 5px 0}.map-popup p{font-size:12px;line-height:1.45;color:#617066;margin:6px 0}.map-popup a{font-size:12px;font-weight:800;color:var(--green)}.map-popup-close{position:absolute;right:7px;top:6px;border:0;background:none;font-size:20px;color:#68766d;cursor:pointer}
.map-attribution{background:#fff;padding:7px 11px;text-align:right;font-size:10px;color:#66736a}.map-attribution a{color:#315f39}.map-open-link{display:inline-flex;align-items:center;background:#14283b;color:#fff!important;border-radius:22px;padding:10px 17px;font-weight:800;text-decoration:none}
@media(max-width:700px){.map-subhero .subhero-inner,.map-page{width:calc(100% - 24px)}.map-subhero h1{font-size:34px}.map-consent{min-height:360px;padding:25px;display:block}.map-consent-icon{margin-bottom:12px}.droeschede-map{height:480px}}

/* Startseite – Kartenkachel: Link optisch wie der ursprüngliche Button */
.map-placeholder .map-open-link{
  position:absolute!important;
  z-index:4!important;
  left:13px!important;
  bottom:12px!important;
  top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  background:#102a38!important;
  color:#fff!important;
  border-radius:22px!important;
  padding:11px 20px!important;
  font-weight:800!important;
  text-decoration:none!important;
  line-height:1!important;
  box-shadow:none!important;
}
.map-placeholder .map-open-link:hover{transform:translateY(-1px)}
.map-card .panel-head{position:relative;z-index:5;background:#fff}
.map-card .panel-head h2{min-width:0}
.map-card .panel-head>a{white-space:nowrap}

/* Karte V5: Hinweis und Karte belegen exakt denselben Platz */
.map-consent[hidden], .interactive-map-shell[hidden]{display:none!important}
.interactive-map-shell{width:100%;margin:0}

/* V6 – Startseite: Interaktive-Karte-Kachel ruhiger und hochwertiger */
.map-card{overflow:hidden}
.map-card .panel-head{
  min-height:64px;
  padding:15px 17px 12px;
  align-items:flex-start;
}
.map-card .panel-head h2{
  max-width:170px;
  margin:0;
  line-height:1.08;
  font-size:21px;
  letter-spacing:-.02em;
}
.map-card .panel-head>a{
  margin-top:4px;
  font-size:10px;
  line-height:1.2;
  text-align:right;
}
.map-card .map-placeholder{
  margin:0 12px 12px;
  min-height:252px;
  border-radius:12px;
  overflow:hidden;
}
.map-placeholder .map-open-link{
  left:16px!important;
  bottom:15px!important;
  padding:11px 19px!important;
  font-size:16px!important;
  letter-spacing:-.01em;
  box-shadow:0 5px 14px rgba(16,42,56,.16)!important;
}
.map-placeholder .map-open-link:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(16,42,56,.20)!important;
}
@media(max-width:700px){
  .map-card .panel-head h2{max-width:none;font-size:20px}
  .map-card .map-placeholder{min-height:235px}
}

/* V7 Kontakt & Mitmachen */
.contact-subhero{background:linear-gradient(135deg,#eef7e9,#fff);padding:44px 0 34px;border-bottom:1px solid #e6eee2}.contact-subhero .subhero-inner,.contact-page{width:min(var(--max),calc(100% - 58px));margin:auto}.contact-subhero .kicker{color:var(--green);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.contact-subhero h1{font-size:42px;margin:7px 0 9px;color:#173d25}.contact-subhero p{color:var(--muted);margin:0}.contact-page{padding:28px 0 48px;max-width:980px}.contact-form{display:grid;gap:18px}.contact-card,.contact-success{background:#fff;border:1px solid #e2eae0;border-radius:16px;padding:24px;box-shadow:0 8px 28px rgba(35,72,42,.06)}.contact-card h2{font-size:20px;color:#173d25;margin:0 0 17px}.contact-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.contact-type input{position:absolute;opacity:0;pointer-events:none}.contact-type span{display:flex;min-height:54px;align-items:center;justify-content:center;text-align:center;padding:10px 12px;border:1px solid #dce8d8;border-radius:12px;background:#f8fbf7;color:#34523b;font-weight:800;cursor:pointer}.contact-type input:checked+span{background:#e5f3df;border-color:#94c887;color:#267424;box-shadow:inset 0 0 0 1px #94c887}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-grid .full{grid-column:1/-1}.contact-card .field label{display:block;font-size:12px;font-weight:800;color:#35503b;margin-bottom:6px}.contact-card input,.contact-card textarea{width:100%;box-sizing:border-box;border:1px solid #d8e3d5;border-radius:9px;padding:11px 12px;font:inherit;background:#fff}.contact-card textarea{resize:vertical}.contact-privacy{font-size:12px;line-height:1.55;color:#65736a}.contact-privacy a{color:var(--green);font-weight:800}.contact-submit{border:0;cursor:pointer}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.dynamic-details[hidden]{display:none!important}.contact-error{padding:13px 16px;border-radius:10px;background:#fff1ef;color:#8d3027;border:1px solid #f0d0cb}.contact-success{text-align:center;padding:50px 30px}.contact-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:#e5f3df;color:var(--green);font-size:28px;font-weight:900}.request-contact,.request-message,.request-details{margin:18px 0;padding:16px;border:1px solid #e4ebe2;border-radius:10px;background:#fafcf9}.request-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.request-details small,.request-details strong{display:block}.request-details small{text-transform:capitalize;color:#748079;font-size:10px;margin-bottom:3px}@media(max-width:760px){.contact-subhero .subhero-inner,.contact-page{width:calc(100% - 24px)}.contact-subhero h1{font-size:34px}.contact-types{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.contact-grid .full{grid-column:auto}}@media(max-width:480px){.contact-types{grid-template-columns:1fr}}

/* V14 – Geschichte sowie Freizeit & Natur */
.local-content-hero{background:linear-gradient(135deg,#eef7e9,#fff);padding:46px 0 36px;border-bottom:1px solid #e6eee2}
.local-content-hero h1{font-size:42px;margin:7px 0 9px;color:#173d25}.local-content-hero p{max-width:760px;color:var(--muted);margin:0;line-height:1.6}
.local-kicker{color:var(--green);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.local-content-page{padding-top:30px;padding-bottom:48px}.local-content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.local-content-card{background:#fff;border:1px solid #e1e9df;border-radius:15px;overflow:hidden;box-shadow:0 7px 24px rgba(35,72,42,.06)}
.local-content-card img{display:block;width:100%;height:190px;object-fit:cover}.local-content-card-body{padding:20px}.local-content-card h2{font-size:21px;color:#173d25;margin:6px 0 9px}
.local-content-card p{color:#5e6d63;line-height:1.55}.local-content-card small{display:block;color:#738078;margin:10px 0}.local-content-card a{color:var(--green);font-weight:800;text-decoration:none}
.local-content-category{display:inline-block;color:#2d7b2b;background:#edf7e9;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.local-detail-page{padding-top:30px;padding-bottom:48px}.local-detail-page .detail-text{white-space:normal;line-height:1.75}
@media(max-width:900px){.local-content-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.local-content-hero h1{font-size:34px}.local-content-grid{grid-template-columns:1fr}}

/* V16 – individuelle Themenbilder der drei unteren Startseiten-Kacheln */
.feature-art{background-position:center;background-size:cover;background-repeat:no-repeat}
.feature-art:after{display:none}
.feature-art.art1{background-image:url('../img/kachel-vereine.jpg')}
.feature-art.art2{background-image:url('../img/kachel-freizeit-natur.jpg')}
.feature-art.art3{background-image:url('../img/kachel-geschichte.jpg')}


/* V20 – Hinweisbox auf der News-Seite */
.news-tip-box{
  margin-top:32px;padding:24px 26px;border:1px solid #dbe8d8;border-radius:14px;
  background:#f7fbf5;display:grid;grid-template-columns:auto 1fr auto;gap:18px;
  align-items:center;box-shadow:0 8px 24px rgba(31,67,42,.06)
}
.news-tip-icon{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:#e5f2df;color:#286b35;font-size:22px;font-style:normal
}
.news-tip-copy h2{margin:0 0 7px;font-size:22px;color:#173b25}
.news-tip-copy p{margin:0;max-width:720px;color:#52635a;line-height:1.6}
.news-tip-btn{white-space:nowrap;text-decoration:none}
@media(max-width:760px){
  .news-tip-box{grid-template-columns:auto 1fr;padding:20px}
  .news-tip-btn{grid-column:1/-1;width:100%;text-align:center}
}


/* V22 – Über Dröschede + Interaktive Karte entsprechend dem abgestimmten Entwurf */
.dashboard{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);align-items:stretch}
.dashboard .events-panel{grid-column:1/-1}
.home-discover{
  grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,1fr);
  min-height:390px;border-radius:18px;overflow:hidden;background:#fff;
  box-shadow:0 10px 28px rgba(25,55,37,.09)
}
.home-discover-about{
  position:relative;min-height:390px;
  background:
    linear-gradient(90deg,rgba(7,31,38,.86) 0%,rgba(7,31,38,.65) 48%,rgba(7,31,38,.28) 100%),
    url('../img/droeschede-panorama.jpg') center center/cover no-repeat
}
.home-discover-about-inner{
  position:absolute;inset:0;padding:46px 48px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:flex-start;color:#fff
}
.home-discover-accent{display:block;width:54px;height:5px;border-radius:5px;background:#35aa25;margin-bottom:17px}
.home-discover-about h2{margin:0 0 17px;font-size:42px;line-height:1.04;color:#fff;letter-spacing:-.6px}
.home-discover-about p{margin:0 0 25px;max-width:650px;color:#fff;font-size:18px;line-height:1.55}
.home-discover-wiki{
  display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:999px;
  background:#2ca91e;color:#fff;text-decoration:none;font-weight:800;font-size:16px;
  box-shadow:0 7px 18px rgba(25,116,24,.22)
}
.home-discover-map{
  position:relative;min-height:390px;overflow:hidden;
  background:
    linear-gradient(125deg,rgba(248,255,245,.98),rgba(218,244,207,.92)),
    repeating-linear-gradient(28deg,transparent 0 74px,rgba(255,255,255,.75) 75px 79px,transparent 80px 150px)
}
.home-discover-map:before{
  content:"";position:absolute;left:-44px;top:-5%;width:90px;height:110%;background:#fff;
  transform:skewX(-16deg);transform-origin:center;z-index:2
}
.home-discover-map:after{
  content:"";position:absolute;inset:0;opacity:.65;pointer-events:none;
  background:
    linear-gradient(95deg,transparent 67%,rgba(103,185,237,.38) 68%,rgba(103,185,237,.38) 69%,transparent 70%),
    linear-gradient(22deg,transparent 38%,rgba(255,255,255,.85) 39%,rgba(255,255,255,.85) 40%,transparent 41%)
}
.home-discover-map-inner{
  position:relative;z-index:4;padding:52px 44px 40px 58px;max-width:460px
}
.home-discover-map-icon{display:block;width:62px;height:62px;color:#2a9b24;margin-bottom:16px}
.home-discover-map-icon svg{width:100%;height:100%;fill:currentColor}
.home-discover-map h2{margin:0 0 16px;color:#123744;font-size:36px;line-height:1.05;letter-spacing:-.4px}
.home-discover-map p{margin:0 0 30px;color:#173d42;font-size:17px;line-height:1.55;max-width:390px}
.home-discover-map-button{
  display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;border-radius:999px;
  background:#103d49;color:#fff;text-decoration:none;font-weight:800;font-size:17px
}
.home-discover-pin{
  position:absolute;z-index:3;width:48px;height:48px;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);display:grid;place-items:center;background:#2a9b24;color:#fff;
  border:3px solid #fff;box-shadow:0 5px 14px rgba(29,99,37,.2);font-size:15px
}
.home-discover-pin.pin-camera{right:19%;top:10%}
.home-discover-pin.pin-tree{right:5%;top:35%}
.home-discover-pin.pin-club{right:12%;top:58%}
.home-discover-pin.pin-food{right:25%;bottom:7%}
@media(max-width:900px){
  .home-discover{grid-template-columns:1fr}
  .home-discover-about,.home-discover-map{min-height:350px}
  .home-discover-map:before{display:none}
  .home-discover-about-inner{padding:36px}
  .home-discover-map-inner{padding:38px}
}
@media(max-width:600px){
  .home-discover-about-inner,.home-discover-map-inner{padding:27px}
  .home-discover-about h2{font-size:34px}
  .home-discover-map h2{font-size:30px}
  .home-discover-about p,.home-discover-map p{font-size:16px}
  .home-discover-pin{opacity:.42}
  .home-discover-pin.pin-club,.home-discover-pin.pin-food{display:none}
}


/* V23 – Desktop: beide Bereiche zuverlässig nebeneinander halten.
   Die ältere .dashboard-Regel darf das gemeinsame Element nicht beeinflussen. */
.dashboard > .home-discover{
  grid-column:1 / -1;
  width:100%;
  display:grid !important;
  grid-template-columns:minmax(0, 1.65fr) minmax(360px, .95fr) !important;
  align-items:stretch;
}
.home-discover-about,
.home-discover-map{
  width:auto;
  min-width:0;
  height:100%;
}
@media (min-width:901px){
  .dashboard > .home-discover{
    grid-template-columns:minmax(0, 1.65fr) minmax(360px, .95fr) !important;
  }
  .home-discover-about,
  .home-discover-map{
    min-height:390px;
  }
}
@media (max-width:900px){
  .dashboard > .home-discover{
    grid-template-columns:1fr !important;
  }
}


/* V24 – Desktop wieder als echte Dreierreihe:
   Veranstaltungen | Über Dröschede | Interaktive Karte */
@media (min-width:1101px){
  .dashboard{
    display:grid !important;
    grid-template-columns:minmax(0,1.12fr) minmax(0,.94fr) minmax(0,.94fr) !important;
    gap:18px !important;
    align-items:stretch !important;
  }
  .dashboard > .events-panel{
    grid-column:auto !important;
    min-width:0;
    height:100%;
  }
  .dashboard > .home-discover{
    display:contents !important;
  }
  .home-discover-about,
  .home-discover-map{
    min-width:0;
    min-height:100% !important;
    height:auto;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 10px 28px rgba(25,55,37,.09);
  }
  .home-discover-about-inner{
    padding:30px 28px;
  }
  .home-discover-about h2{
    font-size:30px;
  }
  .home-discover-about p{
    font-size:15px;
    line-height:1.5;
  }
  .home-discover-wiki{
    padding:12px 18px;
    font-size:14px;
  }
  .home-discover-map:before{
    display:none;
  }
  .home-discover-map-inner{
    padding:30px 27px;
    max-width:none;
  }
  .home-discover-map-icon{
    width:48px;height:48px;margin-bottom:12px;
  }
  .home-discover-map h2{
    font-size:29px;
  }
  .home-discover-map p{
    font-size:15px;
    max-width:290px;
  }
  .home-discover-map-button{
    padding:12px 21px;
    font-size:15px;
  }
  .home-discover-pin{
    width:39px;height:39px;
  }
}
/* Unterhalb 1100 px bleiben Foto und Karte wie zuvor responsiv angeordnet. */


/* V25 – Titelbild: nur Bild und geschwungener Übergang.
   Logo, Hero-Texte, Suche und deren bestehendes Layout bleiben unverändert. */
.hero{
  background-image:url('../img/droeschede-hero-professionell.png');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
}
.hero:after{
  content:"";
  position:absolute;
  z-index:1;
  left:0;
  top:-1px;
  width:min(430px,32vw);
  height:34px;
  background:#fff;
  border-bottom-right-radius:110px 34px;
  pointer-events:none;
}
.hero-inner{z-index:2}

@media(max-width:900px){
  .hero:after{width:min(330px,46vw);height:25px;border-bottom-right-radius:85px 25px}
}
@media(max-width:600px){
  .hero:after{width:46vw;height:18px;border-bottom-right-radius:65px 18px}
}


/* V26 – deutlich geschwungener Übergang unter dem bestehenden Logo.
   Nur die weiße Überlagerung wird korrigiert; Bild, Logo und Hero-Inhalt bleiben unverändert. */
.hero:after{
  content:"";
  position:absolute;
  z-index:1;
  left:-2px;
  top:-2px;
  width:470px;
  height:76px;
  background:#fff;
  border-radius:0 0 72% 0 / 0 0 100% 0;
  transform:none;
  pointer-events:none;
}
.hero-inner{position:relative;z-index:2}

@media(max-width:900px){
  .hero:after{
    width:360px;
    height:58px;
    border-radius:0 0 72% 0 / 0 0 100% 0;
  }
}
@media(max-width:600px){
  .hero:after{
    width:62vw;
    height:42px;
    border-radius:0 0 72% 0 / 0 0 100% 0;
  }
}


/* V28 – abwechslungsreiche Kategorienmotive auf den Unternehmens-Kacheln */
.business-category-art{
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(145deg,#edf7e8,#dcefd6);
}
.business-category-illustration{
  width:100%;
  height:100%;
  max-height:96px;
  fill:none;
  stroke:#2f9228;
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.business-category-illustration .bg-line{stroke:#8fc98a;stroke-width:2;opacity:.55}
.business-category-bakery{background:linear-gradient(145deg,#fbf4df,#efe2bc)}
.business-category-health{background:linear-gradient(145deg,#edf8f2,#d9eee3)}
.business-category-food{background:linear-gradient(145deg,#f7f0e5,#eadcc8)}
.business-category-hair{background:linear-gradient(145deg,#f5edf5,#e8dbe8)}
.business-category-travel{background:linear-gradient(145deg,#eaf5f7,#d8e9ed)}
.business-category-flower{background:linear-gradient(145deg,#f1f6e5,#e2edcf)}
.business-category-tools{background:linear-gradient(145deg,#f3f1e8,#e4e0d2)}
.business-category-factory{background:linear-gradient(145deg,#eef1f2,#dce3e5)}
.business-category-finance{background:linear-gradient(145deg,#eef5e8,#dcebd3)}


/* V31 – Geschichte-Kachel: den im Bild vorhandenen linken Rand sauber ausblenden.
   Das Bild selbst wird nicht verändert. */
.feature-art.art3{
  background-size:108% auto;
  background-position:right center;
}


/* V34 – Smartphone-Optimierung. Nur bis 700px, Desktop bleibt unverändert. */
@media (max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  .topbar{height:auto!important}
  .nav-shell{width:100%!important;padding:8px 12px 0!important;display:block!important}
  .brand{width:auto!important;padding:0!important;display:flex;justify-content:center}
  .brand img{width:min(290px,82vw)!important;height:auto!important;max-height:106px;object-fit:contain!important}
  .navlinks{margin:2px -12px 0!important;padding:0 10px 3px!important;height:auto!important;display:flex!important;gap:3px!important;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-top:1px solid #edf2ea}
  .navlinks::-webkit-scrollbar{display:none}
  .navlinks a{flex:0 0 72px;min-width:72px!important;height:62px!important;padding:7px 3px 6px;font-size:9px!important;white-space:nowrap;border-bottom-width:2px!important}
  .navlinks b{font-size:21px!important;margin-bottom:5px!important}
  .navlinks b svg{width:22px!important;height:22px!important}

  .hero{height:auto!important;min-height:410px;background-position:58% center!important}
  .hero:before{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 50%,rgba(255,255,255,.30) 82%,rgba(255,255,255,.08) 100%)!important}
  .hero:after{width:45vw!important;height:28px!important}
  .hero-inner{width:calc(100% - 28px)!important;min-height:410px;padding:0}
  .hero-copy{width:100%!important;padding:42px 0 48px!important}
  .eyebrow{font-size:26px!important;letter-spacing:-.7px!important}
  .hero h1{font-size:clamp(40px,13vw,54px)!important;line-height:.98!important;letter-spacing:-2px!important}
  .hero h2{font-size:17px!important;line-height:1.25;margin-top:14px!important}
  .hero p{width:100%!important;max-width:390px;font-size:13px!important;line-height:1.5!important}
  .search{width:100%!important;height:50px!important;margin-top:20px!important;padding-left:12px!important}
  .glass{font-size:23px!important}.search input{min-width:0;font-size:14px!important}
  .search button{padding:11px 17px!important;font-size:12px!important}
  .chips{display:flex!important;gap:5px!important;flex-wrap:wrap}
  .chips span{font-size:9px!important;padding:4px 8px!important}

  .quick-shell{width:calc(100% - 24px)!important;margin-top:-24px!important}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .quick-card{height:112px!important;padding:8px}.quick-card i{font-size:31px!important;height:34px!important}
  .quick-card i svg{width:34px!important;height:34px!important}.quick-card h3{font-size:14px!important;margin:4px 0 2px!important}
  .quick-card p{font-size:11px!important}.quick-card em{font-size:20px!important;margin-top:3px!important}

  .page-shell{width:calc(100% - 24px)!important}
  .dashboard{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .dashboard>.events-panel,.dashboard>.home-discover{grid-column:1!important}
  .panel{padding:10px!important}.panel-head{height:auto!important;min-height:38px;gap:10px}.panel-head h2{font-size:17px!important}
  .event{height:auto!important;min-height:82px;grid-template-columns:52px minmax(0,1fr)!important;gap:10px!important;padding:9px 0}
  .event .event-art{display:none!important}.date{width:52px;height:58px!important}.event h4{font-size:13px!important;line-height:1.3}.event p{white-space:normal;line-height:1.35}

  .dashboard>.home-discover{display:grid!important;grid-template-columns:1fr!important}
  .home-discover{min-height:0!important;border-radius:14px!important}
  .home-discover-about,.home-discover-map{min-height:315px!important}
  .home-discover-about-inner,.home-discover-map-inner{padding:25px 22px!important}
  .home-discover-about h2{font-size:30px!important}.home-discover-map h2{font-size:28px!important}
  .home-discover-about p,.home-discover-map p{font-size:14px!important;line-height:1.5!important}
  .home-discover-wiki,.home-discover-map-button{padding:12px 18px!important;font-size:13px!important}

  .companies{margin-top:18px!important}.companies>.panel-head{padding:0 2px 8px!important}
  .business-grid{grid-template-columns:1fr!important;gap:10px!important}
  .business-art,.business-category-art{height:88px!important;min-height:88px!important}
  .business-category-illustration{max-height:82px!important}.business-body{padding:12px!important}
  .business h3{font-size:14px!important}.business p{font-size:11px!important}

  .feature-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:18px!important}
  .feature{height:auto!important;min-height:225px}.feature-art{height:118px!important}.feature i{top:94px!important}.feature h3{font-size:16px!important}

  .sub-hero-inner,.content-page,.business-subhero .subhero-inner,.business-directory,.map-subhero .subhero-inner,.map-page,.contact-subhero .subhero-inner,.contact-page,.legal-hero-inner,.legal-content,.local-content-hero .page-shell,.local-content-page,.local-detail-page{width:calc(100% - 24px)!important}
  .business-subhero,.map-subhero,.contact-subhero,.local-content-hero{padding-top:32px!important;padding-bottom:27px!important}
  .business-subhero h1,.map-subhero h1,.contact-subhero h1,.local-content-hero h1,.sub-hero h1{font-size:32px!important;line-height:1.08!important;letter-spacing:-.7px!important}

  .business-filter-card{padding:11px!important}.business-directory-card{padding:16px!important}.business-card-top{align-items:flex-start!important}
  .business-meta{grid-template-columns:1fr!important}.business-actions{align-items:flex-start;flex-direction:column;gap:9px}.business-note{align-items:flex-start!important}
  .local-content-card img{height:165px!important}.local-content-card-body{padding:17px!important}.local-content-card h2{font-size:19px!important}
  .contact-card{padding:18px!important}.contact-types{grid-template-columns:1fr!important}
  .map-consent{padding:22px!important}.map-toolbar{height:auto!important;min-height:58px;gap:10px;padding:10px 12px!important}
  .droeschede-map{height:420px!important}.map-popup{width:min(260px,calc(100vw - 42px))!important}
  .news-tip-box{grid-template-columns:1fr!important;text-align:left}.news-tip-icon{margin-bottom:2px}.news-tip-btn{grid-column:auto!important}
  .legal{width:calc(100% - 24px)!important;flex-wrap:wrap;gap:10px 18px!important}.hill-footer{height:82px!important}
}
@media (max-width:380px){
  .quick-grid{grid-template-columns:1fr!important}
  .hero h1{font-size:40px!important}
  .search button{padding-left:13px!important;padding-right:13px!important}
}

/* V38 – Bildergalerie Geschichte / Freizeit & Natur */
.local-detail-gallery{display:grid;gap:3px;background:#edf2ea}.local-detail-gallery a{display:block;overflow:hidden;background:#eef5ea}.local-detail-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.local-detail-gallery.count-1 a{height:min(52vw,520px)}.local-detail-gallery.count-2{grid-template-columns:1fr 1fr}.local-detail-gallery.count-2 a{height:360px}
.local-detail-gallery.count-3{grid-template-columns:2fr 1fr;grid-template-rows:180px 180px}.local-detail-gallery.count-3 a:first-child{grid-row:1/3;height:363px}.local-detail-gallery.count-3 a:not(:first-child){height:180px}
@media(max-width:700px){.local-detail-gallery.count-2,.local-detail-gallery.count-3{grid-template-columns:1fr 1fr;grid-template-rows:auto}.local-detail-gallery.count-1 a{height:230px}.local-detail-gallery.count-2 a{height:180px}.local-detail-gallery.count-3 a:first-child{grid-column:1/3;grid-row:auto;height:230px}.local-detail-gallery.count-3 a:not(:first-child){height:150px}}


/* V39 – kompaktere News-Karten auf der Übersichtsseite */
.news-grid{
  grid-template-columns:repeat(auto-fill,minmax(320px,420px));
  justify-content:start;
}
.news-card{
  width:100%;
  max-width:420px;
}
.news-card-image{
  height:230px;
}
.news-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

@media(max-width:700px){
  .news-grid{
    grid-template-columns:1fr;
  }
  .news-card{
    max-width:none;
  }
  .news-card-image{
    height:190px;
  }
}


/* V50 – gesammelte Startseiten-Optimierungen */
/* Header: zusätzliche Bereiche, auf Desktop kompakter; mobile Navigation bleibt horizontal scrollbar. */
@media (min-width:901px){
  .nav-shell{width:min(1280px,calc(100% - 34px))}
  .brand{width:330px;flex:0 0 330px}
  .brand img{width:315px}
  .navlinks{gap:10px;min-width:0}
  .navlinks a{min-width:68px;padding:0 3px;font-size:10px;text-align:center}
  .navlinks b{margin-bottom:7px}
}

/* Das frühere weiße Feld unter dem Logo wird entfernt: das Hero-Foto läuft wieder durch. */
.hero:after{display:none!important}

/* Die drei unteren Themenkacheln sind vollständig anklickbar. */
.feature-link{display:block;color:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.feature-link .feature-cta{display:inline-block;font-size:12px;color:var(--green);font-weight:700;margin-left:20px}
@media (hover:hover) and (pointer:fine){
  .feature-link:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(30,60,30,.11)}
  .feature-link:hover .feature-cta{text-decoration:underline}
}
.feature-link:focus-visible{outline:3px solid rgba(52,139,32,.45);outline-offset:3px}

/* Über Dröschede: komplettes Ortsschild sichtbar, Kachel zugleich ohne freie/dunkle Ränder. */
.home-discover-about{background:#244a2b;isolation:isolate}
.home-discover-about:before,
.home-discover-about:after{content:"";position:absolute;inset:0;pointer-events:none}
.home-discover-about:before{
  z-index:0;background:url('../img/droeschede-ortsschild.webp') center/cover no-repeat;
  transform:scale(1.035);filter:blur(5px);opacity:.82
}
.home-discover-about:after{
  z-index:1;background:
    linear-gradient(90deg,rgba(7,31,38,.76) 0%,rgba(7,31,38,.52) 52%,rgba(7,31,38,.22) 100%),
    url('../img/droeschede-ortsschild.webp') center/contain no-repeat
}
.home-discover-about-inner{z-index:2}

/* Footer-Landschaft: breite, ruhige Hügel mit Baumgruppen an beiden Seiten. */
.hill-footer{height:122px;background:linear-gradient(#fbfdf9 0%,#f3faef 48%,#e3f2dc 100%)}
.hill-footer .hill-layer{border-radius:50% 50% 0 0/100% 100% 0 0}
.hill-back{height:68px!important;bottom:13px!important;left:-5%!important;width:112%!important;background:#b9dca8!important;transform:rotate(-1deg)!important}
.hill-mid{height:63px!important;bottom:-1px!important;left:8%!important;width:102%!important;background:#83bd68!important;transform:rotate(1.5deg)!important}
.hill-front{height:54px!important;bottom:-21px!important;left:-12%!important;width:112%!important;background:#459532!important;transform:rotate(-1deg)!important}
.footer-tree{width:92px;height:112px}
.footer-tree:before,.footer-tree:after,.footer-tree span{border-radius:55% 55% 38% 38%}
.footer-tree:before{width:24px;height:82px;left:4px}
.footer-tree:after{width:28px;height:102px;left:55px}
.footer-tree span:nth-child(1){width:28px;height:70px;left:31px}
.footer-tree span:nth-child(2){width:17px;height:55px;left:0}
.footer-tree span:nth-child(3){width:20px;height:75px;left:73px}
@media(max-width:700px){
  .hill-footer{height:82px}
  .footer-tree{height:80px;transform:scale(.72);transform-origin:left bottom}
  .tree-right{transform:scaleX(-1) scale(.72);transform-origin:right bottom}
  .home-discover-about:before{filter:blur(3px)}
}


/* V51 – Footer näher an der gewünschten Wald-/Hügellandschaft:
   mehrere sichtbare Baumkronen an beiden Seiten statt schmaler Büsche. */
.hill-footer{height:125px!important}
.footer-tree{bottom:0!important;width:128px!important;height:122px!important;z-index:6!important}
.tree-left{left:0!important}
.tree-right{right:0!important;transform:scaleX(-1)!important}
.footer-tree:before,
.footer-tree:after,
.footer-tree span{
  bottom:0!important;
  border-radius:52% 52% 18% 18%!important;
  transform-origin:center bottom!important
}
.footer-tree:before{width:28px!important;height:104px!important;left:2px!important;transform:rotate(-5deg)!important;background:#2f7e2a!important}
.footer-tree:after{width:31px!important;height:121px!important;left:96px!important;transform:rotate(5deg)!important;background:#3d9132!important}
.footer-tree span:nth-child(1){width:34px!important;height:82px!important;left:27px!important;background:#62a94a!important}
.footer-tree span:nth-child(2){width:31px!important;height:94px!important;left:55px!important;background:#3d9132!important}
.footer-tree span:nth-child(3){width:29px!important;height:74px!important;left:82px!important;background:#6caf4d!important}
@media(max-width:700px){
  .hill-footer{height:92px!important}
  .footer-tree{width:104px!important;height:92px!important;transform:scale(.78)!important;transform-origin:left bottom!important}
  .tree-right{transform:scaleX(-1) scale(.78)!important;transform-origin:right bottom!important}
}


/* V52 – Footer exakt als zusammenhängende Landschaftsgrafik nach Referenz.
   Die bisherigen CSS-Hügel/Baumformen werden ausgeblendet. */
.hill-footer{
  height:125px!important;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201600%20150'%20preserveAspectRatio%3D'none'%3E%0A%3Cdefs%3E%0A%20%3ClinearGradient%20id%3D'sky'%20x1%3D'0'%20y1%3D'0'%20x2%3D'0'%20y2%3D'1'%3E%3Cstop%20stop-color%3D'%23fbfdf9'%2F%3E%3Cstop%20offset%3D'1'%20stop-color%3D'%23edf7e9'%2F%3E%3C%2FlinearGradient%3E%0A%3C%2Fdefs%3E%0A%3Crect%20width%3D'1600'%20height%3D'150'%20fill%3D'url(%23sky)'%2F%3E%0A%3Cpath%20d%3D'M0%20112%20C130%2045%20260%2058%20390%20108%20C540%20165%20660%2064%20805%2095%20C945%20126%201045%2037%201215%2072%20C1380%20105%201480%2093%201600%2072%20L1600%20150%20L0%20150Z'%20fill%3D'%23b9dca8'%2F%3E%0A%3Cpath%20d%3D'M0%20132%20C170%2095%20305%2084%20465%20121%20C615%20156%20705%2071%20875%20105%20C1010%20133%201125%2074%201280%20104%20C1400%20126%201505%20103%201600%20100%20L1600%20150%20L0%20150Z'%20fill%3D'%2382bd69'%2F%3E%0A%3Cpath%20d%3D'M0%20145%20C170%20130%20315%20118%20455%20143%20C590%20166%20710%2098%20850%20128%20C990%20158%201105%20102%201250%20130%20C1390%20154%201490%20129%201600%20126%20L1600%20150%20L0%20150Z'%20fill%3D'%23459532'%2F%3E%0A%3C%21--%20left%20tree%20cluster%20--%3E%0A%3Cg%20stroke%3D'%23244f2b'%20stroke-width%3D'3'%20stroke-linecap%3D'round'%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M10%20145V48M10%2092L0%2078M10%2078L24%2061M10%20112L28%2094'%2F%3E%3Cellipse%20cx%3D'10'%20cy%3D'70'%20rx%3D'22'%20ry%3D'52'%20fill%3D'%233d9132'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M48%20145V72M48%20102L35%2089M48%2091L62%2077'%2F%3E%3Cellipse%20cx%3D'48'%20cy%3D'91'%20rx%3D'21'%20ry%3D'39'%20fill%3D'%2362a94a'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M82%20145V55M82%2092L68%2078M82%2080L96%2064M82%20111L99%2096'%2F%3E%3Cellipse%20cx%3D'82'%20cy%3D'77'%20rx%3D'23'%20ry%3D'48'%20fill%3D'%233d9132'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M118%20145V88M118%20110L107%20100M118%20102L130%2091'%2F%3E%3Cellipse%20cx%3D'118'%20cy%3D'105'%20rx%3D'20'%20ry%3D'31'%20fill%3D'%236caf4d'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M148%20145V105'%2F%3E%3Cellipse%20cx%3D'148'%20cy%3D'116'%20rx%3D'22'%20ry%3D'25'%20fill%3D'%23459532'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%21--%20right%20tree%20cluster%20--%3E%0A%3Cg%20transform%3D'translate(1600%200)%20scale(-1%201)'%20stroke%3D'%23244f2b'%20stroke-width%3D'3'%20stroke-linecap%3D'round'%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M10%20145V48M10%2092L0%2078M10%2078L24%2061M10%20112L28%2094'%2F%3E%3Cellipse%20cx%3D'10'%20cy%3D'70'%20rx%3D'22'%20ry%3D'52'%20fill%3D'%233d9132'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M48%20145V72M48%20102L35%2089M48%2091L62%2077'%2F%3E%3Cellipse%20cx%3D'48'%20cy%3D'91'%20rx%3D'21'%20ry%3D'39'%20fill%3D'%2362a94a'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M82%20145V55M82%2092L68%2078M82%2080L96%2064M82%20111L99%2096'%2F%3E%3Cellipse%20cx%3D'82'%20cy%3D'77'%20rx%3D'23'%20ry%3D'48'%20fill%3D'%233d9132'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M118%20145V88M118%20110L107%20100M118%20102L130%2091'%2F%3E%3Cellipse%20cx%3D'118'%20cy%3D'105'%20rx%3D'20'%20ry%3D'31'%20fill%3D'%236caf4d'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%20%3Cg%3E%3Cpath%20d%3D'M148%20145V105'%2F%3E%3Cellipse%20cx%3D'148'%20cy%3D'116'%20rx%3D'22'%20ry%3D'25'%20fill%3D'%23459532'%20stroke%3D'none'%2F%3E%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E")!important;
  background-position:center bottom!important;
  background-size:100% 125px!important;
  background-repeat:no-repeat!important;
}
.hill-footer .hill-layer,.hill-footer .footer-tree{display:none!important}
@media(max-width:700px){
  .hill-footer{height:92px!important;background-size:100% 92px!important}
}

/* V54 – gesammeltes Portal-Update */
/* Headerlogo auf Desktop optisch etwas weiter nach rechts. */
@media (min-width:901px){.brand{transform:translateX(24px)}}

/* Live-Suche auf der Startseite */
.search{position:relative;overflow:visible!important;z-index:30}
.portal-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #dfe9dc;border-radius:14px;box-shadow:0 18px 44px rgba(22,53,31,.18);max-height:430px;overflow:auto;text-align:left;padding:7px;z-index:80}
.portal-search-results a{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:12px;padding:10px 12px;border-radius:9px;color:#18323d;text-decoration:none;border-bottom:1px solid #edf2ea}
.portal-search-results a:last-child{border-bottom:0}.portal-search-results a:hover,.portal-search-results a:focus{background:#f1f8ee;outline:0}
.portal-search-results span{grid-row:1/3;color:#348b20;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding-top:3px}.portal-search-results strong{font-size:13px}.portal-search-results small{margin-top:3px;color:#68766d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-search-empty{padding:15px;color:#64736a;font-size:13px}
@media(max-width:600px){.portal-search-results{left:-2px;right:-2px;max-height:55vh}.portal-search-results a{grid-template-columns:1fr}.portal-search-results span{grid-row:auto;margin-bottom:2px}.portal-search-results small{white-space:normal}}

/* Vereine: bei wenigen Einträgen eine ruhigere, hochwertigere Zweispalten-Anordnung. */
@media(min-width:850px){.clubs-hv-list{max-width:1120px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.club-hv-card{grid-template-columns:82px minmax(0,1fr)!important;align-items:start!important;min-height:210px!important;padding:24px!important;box-shadow:0 9px 28px rgba(30,67,39,.07)!important}.club-hv-content h3{font-size:1.32rem!important}.club-hv-content p{line-height:1.65!important}.club-hv-actions{gap:11px!important}.club-hv-icon{margin-top:2px}}
.map-entry-link{white-space:nowrap}

/* Kalenderaktionen */
.event-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-download{display:inline-flex;align-items:center;padding:8px 13px;border-radius:20px;background:#edf7e9;color:#2e7c24;font-size:12px;font-weight:800;text-decoration:none;border:1px solid #d8ead2}.calendar-download:hover{background:#e3f2dd}
@media(max-width:650px){.content-toolbar{align-items:flex-start!important;gap:10px}.event-toolbar-actions{width:100%;justify-content:space-between}}

/* Einheitliche Bild-Lightbox für News, Geschichte und Freizeit. */
body.lightbox-open{overflow:hidden}.site-lightbox[hidden]{display:none}.site-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(7,18,13,.92);display:grid;place-items:center;padding:34px 70px}.site-lightbox figure{margin:0;max-width:min(1200px,92vw);max-height:90vh;display:flex;flex-direction:column;align-items:center}.site-lightbox img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 18px 55px rgba(0,0,0,.35)}.site-lightbox figcaption{margin-top:10px;color:#fff;font-size:13px;text-align:center;max-width:900px}.site-lightbox-close,.site-lightbox-prev,.site-lightbox-next{position:fixed;border:0;background:rgba(255,255,255,.13);color:#fff;cursor:pointer;display:grid;place-items:center}.site-lightbox-close{top:18px;right:20px;width:46px;height:46px;border-radius:50%;font-size:32px}.site-lightbox-prev,.site-lightbox-next{top:50%;width:48px;height:64px;border-radius:12px;font-size:42px;transform:translateY(-50%)}.site-lightbox-prev{left:14px}.site-lightbox-next{right:14px}.site-lightbox button:hover{background:rgba(255,255,255,.24)}
.news-detail-gallery a,.local-detail-gallery a,.history-gallery-item{cursor:zoom-in}
@media(max-width:650px){.site-lightbox{padding:58px 12px 70px}.site-lightbox img{max-height:74vh}.site-lightbox-prev,.site-lightbox-next{top:auto;bottom:12px;width:52px;height:46px}.site-lightbox-prev{left:calc(50% - 62px)}.site-lightbox-next{right:calc(50% - 62px)}.site-lightbox-close{top:10px;right:10px}}

/* Historische Bildergalerie */
.history-gallery-section{margin:42px 0 8px;padding:34px;border-radius:18px;background:linear-gradient(145deg,#f3f8ef,#fff);border:1px solid #e0ebdc}.history-gallery-head{max-width:760px;margin-bottom:23px}.history-gallery-head>span{color:#3b823d;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.history-gallery-head h2{margin:5px 0 8px;color:#183e25;font-size:28px}.history-gallery-head p{margin:0;color:#627168;line-height:1.6}.history-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.history-gallery-item{position:relative;min-height:220px;border-radius:12px;overflow:hidden;background:#dfeadb;color:#fff;text-decoration:none}.history-gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.history-gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(7,25,14,.88))}.history-gallery-item>span{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:2px}.history-gallery-item strong{font-size:14px}.history-gallery-item small,.history-gallery-item em{font-size:10px;font-style:normal;opacity:.9}.history-gallery-item:hover img{transform:scale(1.025)}.history-gallery-empty{padding:20px;border:1px dashed #cbdcc5;border-radius:12px;color:#66756a;background:#fff}
@media(max-width:800px){.history-gallery-section{padding:22px 16px}.history-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-gallery-item{min-height:190px}}@media(max-width:520px){.history-gallery-grid{grid-template-columns:1fr}.history-gallery-item{min-height:230px}}
.local-card-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.local-card-actions a{margin-top:0!important}.local-card-actions .map-entry-link{font-weight:800;color:#3b7f3d}

/* V55 – Live-Suche muss über den darunterliegenden Startseiten-Kacheln liegen. */
.hero-inner{z-index:40!important}
.portal-search-results{z-index:120!important}
@media(max-width:900px){.hero-inner{z-index:40!important}}


/* V56 – Suchergebnisse wirklich über dem folgenden Startseitenbereich. */
.hero{overflow:visible!important;z-index:20}
.hero-inner,.hero-copy,.search{overflow:visible!important}
.search{z-index:1000!important}
.portal-search-results{z-index:1001!important}
.quick-shell{z-index:3!important}

/* Eigene Suchergebnisseite. */
.search-page{max-width:980px}
.search-page>h1{margin:8px 0 20px}
.search-page-form{display:flex;gap:10px;margin:0 0 22px}
.search-page-form input{flex:1;min-width:0;border:1px solid #d7e3d4;border-radius:26px;padding:13px 18px;font:inherit;background:#fff}
.search-page-form .green-btn{width:auto;min-width:120px;margin:0}
.search-page-count{color:#65746b;margin:0 0 12px}
.search-page-results{display:grid;gap:9px}
.search-page-results>a{display:grid;grid-template-columns:125px minmax(0,1fr) 24px;gap:14px;align-items:center;background:#fff;border:1px solid #e1e9df;border-radius:14px;padding:15px 17px;color:#18323d;text-decoration:none;box-shadow:0 4px 14px rgba(25,55,31,.05)}
.search-page-results>a:hover{border-color:#a8cfa0;box-shadow:0 7px 20px rgba(25,55,31,.09)}
.search-page-results>a>span{font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.04em;color:var(--green)}
.search-page-results strong{font-size:16px}
.search-page-results p{margin:4px 0 0;color:#68766d;font-size:13px}
.search-page-results b{font-size:20px;color:var(--green)}

/* Veranstaltungen/News: Bilder vollständig und in vernünftiger Größe darstellen. */
.event-detail-gallery,.news-detail-gallery,.local-detail-gallery{background:#f4f7f2}
.event-detail-gallery a{display:flex;justify-content:center;align-items:center;cursor:zoom-in}
.event-detail-gallery .detail-image{width:100%;height:auto;max-height:620px;object-fit:contain;background:#f4f7f2}
.news-detail-gallery a{display:flex;align-items:center;justify-content:center;background:#f4f7f2}
.news-detail-gallery img{width:100%!important;height:auto!important;max-height:620px!important;object-fit:contain!important}

/* Kalender-Aktion: Text bleibt sichtbar und Button ist nicht nur ein grüner Balken. */
.detail-actions .green-btn{display:inline-flex!important;width:auto!important;min-width:210px;align-items:center;justify-content:center;color:#fff!important;line-height:1.25;text-decoration:none!important;padding:12px 20px!important}
.detail-actions{align-items:flex-start!important}

@media(max-width:600px){
  .search-page-form{flex-direction:column}
  .search-page-form .green-btn{width:100%}
  .search-page-results>a{grid-template-columns:1fr 22px;gap:5px 10px}
  .search-page-results>a>span{grid-column:1/-1}
  .event-detail-gallery .detail-image,.news-detail-gallery img{max-height:70vh!important}
  .detail-actions .green-btn{width:100%!important}
}

/* V57 – Startseiten-Kacheln wieder sichtbar über dem unteren Rand des Hero-Bildes.
   Nur die Suche selbst bleibt als hohe Ebene für die Live-Treffer. */
.hero{z-index:auto!important}
.hero-inner{z-index:2!important}
.hero-copy{position:relative;z-index:2!important}
.search{position:relative;z-index:1000!important}
.portal-search-results{z-index:1001!important}
.quick-shell{position:relative;z-index:10!important}

/* V58 – saubere Ebenenlogik Startseite:
   Normal liegen die Schnellzugriff-Kacheln über dem Hero-Bild.
   Sobald die Suche aktiv ist, wird nur für diesen Zustand der Hero samt
   Trefferliste vor die Kacheln gehoben. So kollidieren beide Funktionen nicht. */
.hero{position:relative!important;z-index:20!important;overflow:visible!important}
.quick-shell{position:relative!important;z-index:30!important}
.hero:focus-within{z-index:40!important}
.hero-inner,.hero-copy{position:relative;z-index:2!important;overflow:visible!important}
.search{position:relative!important;z-index:50!important;overflow:visible!important}
.portal-search-results{z-index:60!important}

/* V59 – Suche und überlappende Startseiten-Kacheln unabhängig staffeln.
   Wichtig: NICHT den gesamten Hero bei Fokus nach vorne holen.
   Nur das Suchformular/Trefferfenster bekommt die hohe Ebene. */
.hero{
  position:relative!important;
  z-index:auto!important;
  overflow:visible!important;
}
.hero:focus-within{z-index:auto!important}
.hero-inner,
.hero-copy{
  position:relative!important;
  z-index:auto!important;
  overflow:visible!important;
}
.quick-shell{
  position:relative!important;
  z-index:10!important;
}
.search{
  position:relative!important;
  z-index:1000!important;
  overflow:visible!important;
}
.portal-search-results{
  position:absolute!important;
  z-index:1001!important;
}


/* V60 – einheitliches Kategorie-Icon-System für Unternehmen */
.business-category-art{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.business-icon-disc{
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(28,75,25,.08);
}
.business-icon-disc .business-category-svg{
  width:34px!important;
  height:34px!important;
  display:block;
  fill:none!important;
  stroke:var(--green);
  stroke-width:3.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.business-category-art .business-icon-disc .business-category-svg path,
.business-category-art .business-icon-disc .business-category-svg circle,
.business-category-art .business-icon-disc .business-category-svg rect{
  vector-effect:non-scaling-stroke;
}
@media(max-width:600px){
  .business-icon-disc{width:58px;height:58px}
  .business-icon-disc .business-category-svg{width:31px!important;height:31px!important}
}
