:root{font-family:"Segoe UI",Arial,sans-serif;--background:#f3f7f5;--menu-bg:#d5e8e1;--menu-text:#263c38;--hero-text:#263c38;--hero-subtitle:#5b7867;--main-bg:#fff;--main-text:#263c38;--main-line:#d1dfd7;--aside-bg:#e8f1eb;--aside-text:#263c38;--footer-bg:#e0eae4;--footer-text:#263c38;--top-bg:#e2eddb;--top-text:#263c38;--corner-bg:#c7dca8;--corner-text:#263c38;--footer-banner-bg:#d1e5d7;--footer-banner-text:#263c38}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--main-text)}a{color:inherit}button,input,select{font:inherit}button,.book-link{display:inline-block;padding:12px 20px;background:var(--menu-bg);color:var(--menu-text);border:1px solid #91ae9c;border-radius:5px;text-decoration:none;font-weight:600;cursor:pointer}.operator-strip{display:flex;justify-content:space-between;background:#294b3c;color:#fff;padding:10px 24px;font-size:12px}.web-shell{max-width:1300px;margin:0 auto}.web-menu{display:flex;align-items:center;gap:22px;padding:20px 30px;background:var(--menu-bg);color:var(--menu-text)}.web-menu strong{flex:1}.web-menu a{font-size:13px;text-decoration:none}.web-menu label{font-size:11px;display:grid;gap:5px}.web-menu select{max-width:180px;font-size:12px}.hero{padding:65px 45px;color:var(--hero-text)}.hero>p:first-child{letter-spacing:3px;font-size:10px}.hero h1{font-size:clamp(30px,5vw,60px);font-weight:500;letter-spacing:-2px;margin:20px 0}.hero p{color:var(--hero-subtitle);line-height:1.8}.web-columns{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px;padding:0 30px 30px}.web-columns>main{background:var(--main-bg);color:var(--main-text);padding:30px}.web-aside{background:var(--aside-bg);color:var(--aside-text);padding:24px}.content-block{margin-bottom:30px;overflow:auto}.content-block h2,.categories>h2{font-weight:500;font-size:25px}.content-block p{white-space:normal;line-height:1.85}.content-block img{max-width:100%;max-height:400px;object-fit:cover}.content-block.TextBild img{float:right;width:40%;margin:0 0 15px 22px}.content-block.Text_unter_Bild img{width:100%}.web-aside .content-block img{float:none;width:100%;margin:0}hr{border:0;border-top:1px solid var(--main-line);margin:32px 0}.web-footer{background:var(--footer-bg);color:var(--footer-text);padding:35px}.top-banner{background:var(--top-bg);color:var(--top-text)}.top-banner:empty,.corner-banner:empty,.footer-banner:empty{display:none}.top-banner .content-block,.footer-banner .content-block{margin:0;padding:12px 25px}.top-banner h2,.footer-banner h2{font-size:18px}.corner-banner{position:fixed;right:20px;bottom:20px;background:var(--corner-bg);color:var(--corner-text);padding:18px;max-width:250px;box-shadow:0 3px 20px #0002}.corner-banner h2{font-size:19px}.corner-banner .content-block{margin:0}.footer-banner{background:var(--footer-banner-bg);color:var(--footer-banner-text)}.category-grid,.pitch-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.category-grid article,.pitch-results article{border:1px solid #d2dfd6;padding:20px;border-radius:5px}.photo-gallery{display:flex;gap:8px;overflow:auto;margin:15px 0}.photo-gallery img{width:150px;height:110px;object-fit:cover}.booking{margin-top:45px}.date-form{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;align-items:end}.date-form label{display:grid;gap:6px;font-size:12px}.date-form input{padding:9px;border:1px solid #b8cbbc;border-radius:4px;max-width:160px}.date-form input[type=number]{width:86px}.pitch-results small{display:block;font-size:11px;line-height:1.6;margin:10px 0}.pitch-results details{font-size:12px;margin:15px 0}.guest-map{width:100%;max-height:430px;margin-bottom:25px}.guest-map polygon{fill:#86be91;fill-opacity:.6;stroke:#36623d;stroke-width:2}.guest-map polygon:hover{fill:#e3bf5d}.layout-modern .web-columns{grid-template-columns:1fr}.layout-rounded .web-menu,.layout-rounded .web-columns>main,.layout-rounded .web-aside{border-radius:24px}.layout-rounded .web-shell{padding-top:20px}.layout-sidebar .web-shell{display:grid;grid-template-columns:190px minmax(0,1fr)}.layout-sidebar .web-menu{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:30px 20px}.layout-sidebar .web-menu strong{flex:0}.layout-sidebar .web-columns{grid-template-columns:minmax(0,1fr) 200px;padding:0 20px 20px}.layout-sidebar .hero{padding:40px}.layout-sidebar .web-menu select{max-width:150px}@media(max-width:800px){.web-columns,.layout-sidebar .web-columns{grid-template-columns:1fr}.web-aside{order:2}.web-menu{flex-wrap:wrap;padding:20px}.layout-sidebar .web-shell{display:block}.layout-sidebar .web-menu{flex-direction:row;flex-wrap:wrap}.hero{padding:35px 23px}.web-columns{padding:0 14px 20px}.web-columns>main{padding:20px}.corner-banner{position:static;max-width:none}.content-block.TextBild img{float:none;width:100%;margin:0}.web-menu form{width:100%}}

.web-menu{flex-wrap:wrap}.web-columns>*{min-width:0}.aside-booking .date-form{display:grid;grid-template-columns:minmax(0,1fr)}.aside-booking .date-form input,.aside-booking .date-form input[type=number]{width:100%;max-width:100%;min-width:0}.aside-booking button{padding:10px;font-size:13px}.category-grid,.pitch-results{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.content-block,.web-footer{overflow-wrap:anywhere}
/* TopBar precedes the operator controls and every website layout. */
.top-banner{width:100%;text-align:center}
.top-banner .content-block{padding:8px 24px}
.top-banner h2,.top-banner p{margin:2px 0}
.corner-banner-frame{position:fixed;top:0;left:0;width:240px;height:240px;overflow:hidden;pointer-events:none;z-index:30}
.corner-banner{position:absolute;top:48px;left:-72px;right:auto;bottom:auto;width:300px;max-width:none;padding:10px 48px;transform:rotate(-45deg);text-align:center;pointer-events:auto;border-radius:0;box-shadow:0 3px 10px #0003}
.corner-banner h2{font-size:15px;margin:0 0 3px}
.corner-banner p{font-size:12px;line-height:1.4;margin:0}
.corner-banner .content-block{overflow-wrap:anywhere}
body:has(.corner-banner:not(:empty)) .operator-strip{padding-left:150px}
body:has(.corner-banner:not(:empty))>.top-banner .content-block{padding-left:150px;padding-right:150px}
.web-footer .footer-banner{width:fit-content;max-width:calc(100% + 70px);margin:24px 0 -35px -35px;text-align:left;border-radius:0}
.web-footer .footer-banner .content-block{padding:10px 18px}
.web-footer .footer-banner h2,.web-footer .footer-banner p{margin:3px 0}
