@font-face{font-family:FQSans;src:url('../fonts/SourceSans3-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:FQSans;src:url('../fonts/SourceSans3-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--sky:#69c9e8;--sky-dark:#238bb0;--blue:#0876a6;--navy:#16475b;--green:#5b9f55;--cream:#f7fcfd;--line:#d7e9ee;--text:#173f4d;--muted:#64808a;--white:#fff;--shadow:0 8px 26px rgba(18,92,117,.09)}*{box-sizing:border-box}html,body{margin:0;min-width:0;width:100%;overflow-x:hidden}body{font-family:FQSans,Arial,sans-serif;color:var(--text);background:linear-gradient(#f2fbfd,#fff);font-size:16px;line-height:1.55}.site-shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1480px;margin:0 auto;min-height:100vh;background:#fff}.sidebar{position:sticky;top:0;height:100vh;padding:26px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:block;text-align:center;margin-bottom:28px}.brand img{width:190px;max-width:100%;height:auto;display:block;margin:auto}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:11px;color:var(--navy);text-decoration:none;font-weight:600}.sidebar nav a:hover{background:#eaf8fc;color:var(--blue)}.sidebar-note{margin-top:auto;padding:18px 10px;text-align:center}.sidebar-note img{display:block;width:100%;max-width:180px;height:auto;margin:0 auto;border-radius:0}.main{min-width:0;background:#fff}.topbar{height:72px;display:flex;align-items:center;gap:18px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20}.mobile-logo{display:none}.mobile-logo img{width:110px;height:auto}.searchbar{flex:1;min-width:0;height:44px;display:flex;align-items:center;gap:10px;padding:0 15px;border-radius:24px;background:#eef8fb;border:1px solid #dceef2;color:var(--blue)}.searchbar input{width:100%;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--text)}.toplinks{display:flex;gap:18px}.toplinks a{color:var(--blue);text-decoration:none;font-size:22px}.content{max-width:1120px;margin:0 auto;padding:0 28px 50px}.page-title{padding:24px 0 14px}.page-title h1{margin:0;font-size:24px;color:var(--navy)}.hero{position:relative;min-height:440px;display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-radius:22px;overflow:hidden;background:#dff7fc;box-shadow:var(--shadow);margin-bottom:34px;isolation:isolate}.hero-slider,.hero-slide,.hero-overlay{position:absolute;inset:0}.hero-slider{z-index:-3;background:#cfeaf1}.hero-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.02);transition:opacity 1.15s ease,transform 7s ease}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-overlay{z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 39%,rgba(255,255,255,.42) 67%,rgba(11,61,79,.16) 100%),linear-gradient(180deg,rgba(8,118,166,.08),rgba(8,54,72,.18))}.hero-copy{position:relative;z-index:2;padding:58px 48px 54px}.hero-kicker{display:inline-block;color:var(--blue);font-weight:700;letter-spacing:.03em;margin-bottom:9px}.hero h2{font-size:45px;line-height:1.05;margin:0 0 18px;color:var(--navy)}.hero h2 em{color:var(--green);font-style:normal}.hero p{font-size:18px;color:var(--muted);max-width:590px}.hero-search{display:grid;grid-template-columns:1fr 150px auto;gap:9px;margin-top:25px}.hero-search input,.hero-search select,.filters input,.filters select,.form-card input,.form-card select,.form-card textarea,.auth-card input{width:100%;min-width:0;border:1px solid #cfe2e8;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:var(--text)}button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:var(--blue);color:#fff;padding:12px 18px;font:600 15px inherit;text-decoration:none;cursor:pointer}.button.secondary{background:#eaf7fb;color:var(--blue)}.hero-art{position:relative;z-index:2;min-height:440px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);overflow:hidden}.hero-art img{display:block;width:82%;max-width:480px;height:auto;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(17,66,82,.14))}.hero-dots{position:absolute;z-index:4;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(22,71,91,.28);backdrop-filter:blur(7px)}.hero-dots button{width:9px;height:9px;min-height:0;padding:0;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:none}.hero-dots button.is-active{width:24px;border-radius:999px;background:#fff}.hero-dots button:hover{background:#fff}.sun{position:absolute;width:150px;height:150px;border-radius:50%;background:#ffd76a;right:22%;top:48px;box-shadow:0 0 0 16px rgba(255,255,255,.25)}.lighthouse{position:absolute;right:31%;bottom:88px;font-size:86px;color:#e75a55;transform:rotate(-4deg)}.wave{position:absolute;left:-5%;right:-5%;bottom:-55px;height:170px;background:linear-gradient(180deg,#5dc5e5,#1e92c0);border-radius:50% 50% 0 0/45% 45% 0 0}
.intro{text-align:center;max-width:820px;min-height:185px;margin:0 auto 38px;padding:24px 30px 22px;position:relative;border:1px solid rgba(215,233,238,.95);border-radius:18px;background:linear-gradient(135deg,rgba(234,248,252,.72),rgba(247,252,253,.9) 55%,rgba(246,251,245,.72));box-shadow:0 5px 18px rgba(18,92,117,.055);overflow:hidden}.intro:before{content:"";position:absolute;left:50%;top:0;width:92px;height:3px;transform:translateX(-50%);border-radius:0 0 8px 8px;background:linear-gradient(90deg,var(--sky),var(--green));opacity:.75}.intro h2{font-size:28px;color:var(--navy);margin:0 0 7px;height:92px;min-height:92px;display:flex;align-items:center;justify-content:center;transition:opacity .38s ease,transform .38s ease;overflow:visible;line-height:1.2;font-family:"Playwrite DESAS Custom",cursive;font-weight:400}.intro h2.is-changing{opacity:0;transform:translateY(7px)}.intro p{color:var(--muted);margin:0;line-height:1.5}
@media(max-width:600px){.intro{min-height:180px;margin-bottom:30px;padding:22px 14px 20px;border-radius:15px}.intro h2{font-size:22px;line-height:1.22;padding:0 4px;height:88px;min-height:88px;overflow:visible}.intro p{font-size:15px}}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.section-head h2{margin:0;color:var(--navy)}.section-head a{color:var(--blue);text-decoration:none;font-weight:700}.accommodation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.accommodation-card{display:block;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(25,99,121,.06);transition:transform .15s,box-shadow .15s}.accommodation-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.accommodation-image,.detail-image{aspect-ratio:16/9;background:#dff4fa;overflow:hidden}.accommodation-image img,.detail-image img{width:100%;height:100%;object-fit:cover;display:block}.image-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#a8e4f2,#5bb8d5);color:#fff;font-size:25px;font-weight:700}.accommodation-body{padding:16px}.eyebrow{font-size:13px;color:var(--blue);font-weight:700}.accommodation-body h3{font-size:20px;margin:4px 0 7px;color:var(--navy)}.accommodation-body p{color:var(--muted);margin:0 0 13px}.meta,.detail-meta{display:flex;flex-wrap:wrap;gap:10px;color:#5b737c;font-size:14px}.meta strong,.detail-meta strong{margin-left:auto;color:var(--blue)}.premium-teaser-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:190px;padding:13px 18px;border-radius:14px;text-decoration:none;box-shadow:0 6px 16px rgba(8,118,166,.18)}.premium-teaser-button i:first-child{font-size:15px}.premium-teaser-button i:last-child{font-size:13px;transition:transform .15s ease}.premium-teaser-button:hover i:last-child{transform:translateX(3px)}.premium-teaser-button span{font-weight:700}.premium-teaser{margin-top:38px;padding:28px 30px;border-radius:18px;background:linear-gradient(135deg,#e8f8fb,#f4fbf4);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.premium-teaser h2{margin:3px 0 7px;color:var(--navy)}.premium-teaser p{margin:0;color:var(--muted)}.search-panel,.form-card,.empty-card,.detail-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px rgba(25,99,121,.05);padding:22px;margin-bottom:20px}.search-panel h2,.form-card h2{margin:0 0 15px;color:var(--navy)}.filters{display:grid;grid-template-columns:1fr 190px auto;gap:10px}.detail-card{padding:0;overflow:hidden}.detail-content{padding:26px}.detail-content h2{font-size:32px;color:var(--navy);margin:5px 0 12px}.detail-description{font-size:17px;color:#3f5d66}.detail-content h3{color:var(--navy);margin-top:28px}.calendar-list{display:grid;gap:8px;margin-top:10px}.calendar-row{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:9px;background:#eef9fb;color:#47616a}.calendar-row.booked{background:#fff0ef;color:#9b4b46}.calendar-row.blocked{background:#f4f1e9;color:#76684b}.available-note{padding:12px;border-radius:9px;background:#eff9ef;color:#4e8150}.host-box{margin-top:25px;padding:18px;border-radius:13px;background:#eef8fb;display:flex;align-items:center;justify-content:space-between;gap:15px}.dashboard-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-card label{display:block;font-weight:600;margin:0 0 13px}.form-card textarea{resize:vertical}.my-list{display:grid;gap:10px}.my-list>div,.admin-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:1px solid var(--line);border-radius:10px}.admin-list{display:grid;gap:10px}.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.my-list strong,.admin-row strong{display:block}.my-list span,.admin-row span{display:block;color:var(--muted);font-size:14px}.my-list .button{margin-left:5px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:22px}.benefits>div{padding:20px;background:#f5fbfc;border:1px solid var(--line);border-radius:14px}.benefits strong,.benefits span{display:block}.benefits strong{color:var(--navy);margin-bottom:6px}.benefits span{color:var(--muted)}.premium-hero{padding:40px;border-radius:20px;background:linear-gradient(135deg,#e5f8fc,#f4fbf2);border:1px solid var(--line)}.premium-hero h2{font-size:36px;max-width:760px;color:var(--navy);margin:5px 0 12px}.premium-hero p{max-width:760px;color:var(--muted);font-size:18px}.auth-card{max-width:620px;margin:45px auto;padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.auth-card h2{font-size:30px;color:var(--navy);margin-top:0}.auth-card label{display:block;font-weight:600;margin:14px 0}.auth-card p{text-align:center}.auth-card a{color:var(--blue);font-weight:700}.success{padding:12px;border-radius:9px;background:#eff9ef;color:#4e8150}.notice.error{padding:12px;border-radius:9px;background:#fff0ef;color:#994c47}.hp{position:absolute;left:-10000px}footer{margin-top:28px;border-top:1px solid var(--line);background:#fff}.footer-banner{width:100%;overflow:hidden;background:#fff;display:flex;justify-content:center;align-items:center;padding:0}.footer-banner img{display:block;width:100%;height:auto;max-height:170px;object-fit:contain;object-position:center;background:#fff}.footer-inner{max-width:1120px;margin:auto;padding:22px 28px 35px;display:flex;justify-content:space-between;gap:25px;color:#5c747d}.footer-inner strong{color:var(--blue)}.footer-links{display:flex;gap:15px;flex-wrap:wrap}.footer-links a{color:var(--blue);text-decoration:none}
.footer-copyright{border-top:1px solid #dbe8ec;background:#f4fafc}.footer-copyright-inner{max-width:1120px;margin:0 auto;padding:12px 28px;text-align:center;color:#78919a;font-size:13px;line-height:1.4}.footer-copyright-inner strong{color:var(--navy)}.footer-copyright-inner a{color:var(--navy);text-decoration:none;font-weight:600}.footer-copyright-inner a:hover{text-decoration:none;opacity:.85}
@media(max-width:1100px){.site-shell{grid-template-columns:210px minmax(0,1fr)}.accommodation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-art{min-height:230px}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:720px){.site-shell{display:block}.sidebar{position:fixed;left:0;bottom:0;top:auto;width:100%;height:62px;padding:4px 7px;z-index:50;border-right:0;border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(25,99,121,.08)}.sidebar .brand,.sidebar-note{display:none}.sidebar nav{height:100%;display:flex;flex-direction:row;justify-content:space-around;gap:2px}.sidebar nav a{flex:1;justify-content:center;padding:7px 4px;font-size:0}.sidebar nav a:first-letter{font-size:22px}.sidebar nav a span{display:none}.main{padding-bottom:62px}.topbar{height:62px;padding:0 10px;gap:10px}.mobile-logo{display:block;flex:0 0 auto}.mobile-logo img{width:72px}.searchbar{height:40px}.toplinks{gap:10px}.toplinks a{font-size:20px}.content{padding:0 10px 30px}.page-title{padding:16px 2px 10px}.page-title h1{font-size:22px}.hero{border-radius:16px;min-height:0}.hero-copy{padding:28px 20px}.hero h2{font-size:34px}.hero p{font-size:16px}.hero-search{grid-template-columns:1fr;gap:8px}.hero-art{min-height:180px}.accommodation-grid{grid-template-columns:1fr;gap:14px}.section-head{align-items:flex-start;flex-direction:column;gap:5px}.premium-teaser{flex-direction:column;align-items:flex-start;padding:22px}.filters{grid-template-columns:1fr}.detail-content{padding:20px}.detail-content h2{font-size:27px}.host-box{flex-direction:column;align-items:flex-start}.two,.three,.benefits{grid-template-columns:1fr}.form-card{padding:17px}.my-list>div,.admin-row{align-items:flex-start;flex-direction:column}.my-list .button{margin:4px 4px 0 0}.footer-banner img{width:100%;max-height:120px;object-fit:contain;object-position:center;background:#fff}.footer-inner{padding:20px 15px 30px;display:block;text-align:center}.footer-links{justify-content:center;margin-top:12px}.footer-copyright-inner{padding:11px 15px;font-size:12px}.auth-card{margin:25px 0;padding:22px 17px}}
@media(max-width:420px){.hero h2{font-size:30px}.hero-copy{padding:24px 16px}.searchbar input{font-size:13px}.toplinks{display:none}.content{padding-left:8px;padding-right:8px}}

/* 1.0.5 – Hero-Art vorerst durch das Original-Logo ersetzen */
.hero-art{display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}
.hero-art img{display:block;width:88%;max-width:520px;height:auto;object-fit:contain}
@media(max-width:940px){
  .hero-art{min-height:220px;padding:20px}
  .hero-art img{width:90%;max-width:420px}
}
@media(max-width:600px){
  .hero-art{min-height:190px;padding:16px}
  .hero-art img{width:94%}
}

.sidebar nav a .fa{width:18px;text-align:center;font-size:15px;color:var(--blue);flex:0 0 18px}.searchbar>.fa{flex:0 0 auto}.toplinks .fa{font-size:20px}

/* 1.0.18 – Unterkunftsdetail im Stil moderner Ferienportal-Detailseiten */
.accommodation-detail{max-width:1000px;margin:0 auto}.detail-hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:280px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 5px 22px rgba(25,99,121,.07);margin-bottom:0}.detail-hero-copy{padding:30px 32px;display:flex;flex-direction:column;justify-content:center}.detail-hero-copy h2{font-size:34px;line-height:1.12;color:var(--navy);margin:8px 0 20px}.detail-facts{display:flex;flex-wrap:wrap;gap:12px 18px;color:#5c747d;font-size:14px}.detail-facts span{display:inline-flex;align-items:center;gap:6px}.detail-facts .fa{color:var(--blue)}.hero-description{margin-top:18px;padding-top:14px;border-top:1px solid #edf3f5}.hero-description p{margin:0;color:#4f6972;font-size:14px;line-height:1.55}.hero-map{margin-top:18px}.hero-map h3{font-size:15px;color:var(--navy);margin:0 0 9px}.hero-map h3 .fa{color:var(--blue);margin-right:5px}.hero-map-frame{width:100%;height:180px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#eef8fa}.hero-map-frame iframe{width:100%;height:100%;border:0;display:block}.hero-map-link{display:inline-block;margin-top:7px;color:var(--blue);font-size:12px;font-weight:600;text-decoration:none}.hero-map-link:hover{text-decoration:underline}.amenities-box{margin-top:0}.amenities-box .amenities-list{grid-template-columns:repeat(2,1fr)}.detail-hero-photo{min-height:280px;background:#e7f7fa;overflow:hidden}.detail-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.detail-tabs{display:flex;overflow-x:auto;background:#fff;border:1px solid var(--line);border-top:0}.detail-tabs a{flex:1 0 auto;text-align:center;padding:12px 15px;border-right:1px solid var(--line);color:#49636c;text-decoration:none;font-size:13px;white-space:nowrap}.detail-tabs a:hover,.detail-tabs a:focus{background:#f0f9fb;color:var(--blue)}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.detail-section{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:0 3px 15px rgba(25,99,121,.04);margin-bottom:18px}.detail-section h3{font-size:18px;color:var(--navy);margin:0 0 15px}.detail-section p{color:#4f6972}.description-box p{margin:0}.photo-box{padding:16px}.photo-box h3{padding:0 6px}.photo-box img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:6px}.photo-empty{aspect-ratio:4/3;border-radius:6px;background:#eef8fa;color:#7b949c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.photo-empty .fa{font-size:32px;color:var(--blue)}.overview-row{display:grid;grid-template-columns:220px 1fr;padding:10px 0;border-bottom:1px solid #edf3f5;font-size:14px}.overview-row strong{color:#48626b}.overview-row span{color:#61777f}.overview-box h4{margin:25px 0 12px;color:var(--navy)}.amenities-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px}.amenities-list span{font-size:14px;color:#536d75}.amenities-list .fa{color:var(--green);margin-right:5px}.price-highlight{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);background:#f4fbfc;border-radius:8px}.price-highlight span{color:#5c747d}.price-highlight strong{color:var(--blue);font-size:26px}.price-highlight small{font-size:13px;font-weight:400;color:#647d85}.muted-note{font-size:13px!important;color:#71868d!important;margin-bottom:0}.calendar-box{scroll-margin-top:90px}.calendar-box .section-head{margin-bottom:10px}.calendar-box .section-head h3{margin:0}.calendar-legend{font-size:12px;color:#637a82;display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.calendar-legend .free{background:#bdf3c4}.calendar-legend .busy{background:#ffb7b0;margin-left:7px}.calendar-months{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.calendar-month{border:1px solid #e2ecef;border-radius:7px;overflow:hidden}.calendar-month h4{margin:0;padding:9px;text-align:center;background:#f4f9fa;color:var(--navy);font-size:14px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:5px}.calendar-weekdays span{text-align:center;font-size:10px;color:#8a9ba1;padding:3px 0}.calendar-days span{display:grid;place-items:center;min-height:24px;border-radius:2px;font-size:11px}.calendar-days .free{background:#bdf3c4;color:#37663c}.calendar-days .busy{background:#ffb7b0;color:#87403a}.calendar-days .blank{background:transparent}.calendar-note{font-size:12px!important;margin:12px 0 0!important;color:#71868d!important}.calendar-note .fa{color:var(--blue)}.request-box{background:linear-gradient(135deg,#eef9fb,#f7fbf5)}.request-box p{margin-top:0}.request-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:7px}.request-actions strong{color:var(--navy)}.request-actions .fa{margin-right:7px}.related-section{margin-top:28px}.related-section .section-head h3{margin:0;color:var(--navy)}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.related-grid .accommodation-card{border-radius:7px;box-shadow:none}.related-grid .accommodation-body{padding:9px}.related-grid .accommodation-body h3{font-size:15px}.related-grid .accommodation-body p{font-size:12px}.related-grid .meta{font-size:11px}.related-grid .accommodation-image{aspect-ratio:4/3}
@media(max-width:900px){.detail-hero{grid-template-columns:1fr}.detail-hero-photo{min-height:240px;order:-1}.detail-columns{grid-template-columns:1fr}.calendar-months{grid-template-columns:1fr 1fr}.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.detail-hero-copy{padding:22px 18px}.hero-description{margin-top:14px;padding-top:12px}.hero-description p{font-size:13px}.hero-map{margin-top:14px}.hero-map-frame{height:170px}.amenities-box .amenities-list{grid-template-columns:1fr}.detail-hero-copy h2{font-size:28px}.detail-hero-photo{min-height:190px}.detail-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;width:100%;}.detail-tabs a{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;padding:11px 8px;font-size:12px;white-space:normal;line-height:1.25;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-tabs a:nth-child(2n){border-right:0}.detail-tabs a:last-child{grid-column:1 / -1;border-right:0}.detail-section{padding:17px;min-width:0}.detail-columns,.detail-section,.photo-box,.overview-box{min-width:0;max-width:100%;}.photo-box img{max-width:100%;height:auto}.overview-row{grid-template-columns:1fr;gap:3px}.amenities-list{grid-template-columns:1fr}.calendar-months{grid-template-columns:1fr}.request-actions{flex-direction:column;align-items:flex-start}.request-actions .button{width:100%}.related-grid{grid-template-columns:1fr 1fr}.related-grid .accommodation-card:nth-child(n+7){display:none}.detail-content,.accommodation-detail{min-width:0;max-width:100%;}.accommodation-detail{width:100%;}.detail-hero{width:100%;max-width:100%;}.hero-map-frame iframe{max-width:100%;}.price-highlight{flex-wrap:wrap;gap:8px}.calendar-row{flex-wrap:wrap;word-break:break-word;}.footer-inner{min-width:0;max-width:100%;}}

/* 1.0.21 – unabhängiges Titelbild + weitere Fotos als anklickbare Slideshow */
.form-help{display:block;margin-top:6px;color:#6d838b;font-size:12px}
.photo-slideshow{position:relative}.slide-stage{position:relative;overflow:hidden;border-radius:8px;background:#eef8fa;aspect-ratio:4/3}.slide-image{display:none;width:100%;height:100%;object-fit:cover;cursor:zoom-in}.slide-image.is-active{display:block}.slide-arrow{position:absolute;top:calc(50% - 20px);z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--blue);box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer}.slide-prev{left:10px}.slide-next{right:10px}.slide-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px;color:#637a82;font-size:12px}.slide-open{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:6px;padding:6px 9px;cursor:pointer}.slideshow-lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);align-items:center;justify-content:center;padding:30px}.slideshow-lightbox.is-open{display:flex}.lightbox-stage{max-width:min(1100px,92vw);max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-stage img{display:block;max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain}.lightbox-close,.lightbox-arrow{position:absolute;border:0;background:rgba(255,255,255,.92);color:#145f7a;cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:18px}.lightbox-close{top:18px;right:18px}.lightbox-prev{left:18px;top:calc(50% - 22px)}.lightbox-next{right:18px;top:calc(50% - 22px)}body.lightbox-open{overflow:hidden}
@media(max-width:600px){.slide-arrow{width:34px;height:34px;top:calc(50% - 17px)}.slide-prev{left:7px}.slide-next{right:7px}.slide-controls{font-size:11px}.slide-open{padding:5px 8px}.slideshow-lightbox{padding:12px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:8px;right:8px}}

/* 1.0.24 – Back-to-Top Button */
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:90;width:42px;height:36px;border:1px solid #cfe2e8;border-radius:5px;background:#fff;color:var(--blue);box-shadow:0 3px 10px rgba(18,92,117,.12);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,visibility .18s ease}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover,.back-to-top:focus,.back-to-top:active{background:#fff;color:var(--blue);border-color:#cfe2e8;box-shadow:0 3px 10px rgba(18,92,117,.12);transform:none;outline:none}.back-to-top i{font-size:15px}.back-to-top span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.back-to-top{right:14px;bottom:72px;width:40px;height:34px}.back-to-top i{font-size:15px}}


/* 1.0.29 – mobile map iframe sizing */
@media(max-width:600px){.hero-map-frame{height:220px;min-height:200px}.hero-map-frame iframe{width:100%;height:100%;min-height:200px;display:block}}


/* 1.0.30 – Werbeblöcke an strategischen Stellen */
.site-ad{width:100%;max-width:100%;min-width:0;margin:28px 0;padding:18px 20px;background:linear-gradient(135deg,#f7fcfd,#eef9fb);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px rgba(25,99,121,.05);text-align:left;overflow:hidden;box-sizing:border-box}.site-ad-label{font-size:10px;letter-spacing:.12em;font-weight:700;color:#78919a;margin-bottom:8px}.site-ad-image{margin:-2px 0 12px;overflow:hidden;border-radius:9px;max-width:100%;box-sizing:border-box}.site-ad-image img{display:block;width:100%;max-width:100%;height:auto;max-height:220px;object-fit:cover;box-sizing:border-box}.site-ad h3{margin:5px 0 6px;color:var(--navy);font-size:19px}.site-ad p{margin:0;color:#5c747d;font-size:14px}.site-ad-html{width:100%;max-width:100%;min-width:0;color:#4f6972;font-size:14px;overflow:hidden;box-sizing:border-box}.site-ad-html *{max-width:100%;box-sizing:border-box}.site-ad-html img{display:block;max-width:100% !important;width:auto !important;height:auto !important}.site-ad-html iframe,.site-ad-html video,.site-ad-html object,.site-ad-html embed{display:block;max-width:100% !important;width:100% !important;min-width:0 !important;box-sizing:border-box}.site-ad-html table{display:block;max-width:100% !important;width:100% !important;overflow-x:auto;box-sizing:border-box}.site-ad-html a{color:var(--blue);max-width:100%;box-sizing:border-box}.site-ad-link{display:inline-flex;align-items:center;gap:7px;margin-top:11px;color:var(--blue);font-weight:700;font-size:13px;text-decoration:none}.site-ad-link:hover{text-decoration:underline}.site-ad-home-intro{margin-top:8px}.site-ad-home-after-quartiere{margin-top:30px}.site-ad-unterkuenfte-mitte{grid-column:1/-1;margin:0}.site-ad-detail-nach-fotos,.site-ad-detail-vor-buchung{margin-top:18px}
@media(max-width:600px){.site-ad{width:100%;max-width:100%;margin:20px 0;padding:15px 14px;border-radius:12px;overflow:hidden}.site-ad-html{width:100%;max-width:100%;overflow:hidden}.site-ad-html img{max-width:100% !important;width:auto !important;height:auto !important}.site-ad-html iframe,.site-ad-html video,.site-ad-html object,.site-ad-html embed{width:100% !important;max-width:100% !important;min-width:0 !important}.site-ad-image img{max-height:180px}.site-ad h3{font-size:17px}.site-ad p,.site-ad-html{font-size:13px}.site-ad-unterkuenfte-mitte{grid-column:1/-1}}

/* 1.0.34 – Support-Kontaktformular */
.support-card{max-width:720px}.support-card h2 .fa{color:var(--blue);margin-right:7px}.support-card form{margin-top:18px}.support-card textarea{min-height:180px}.support-note{text-align:left!important;margin-top:15px}.support-card .button .fa{margin-right:5px}


/* 1.0.35 – Support-Design, Sicherheitsabfrage und Datenschutz-Zustimmung */
.support-card{max-width:760px;margin:34px auto;padding:34px 36px}
.support-header{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.support-header h2{margin:0 0 7px;font-size:30px;color:var(--navy)}
.support-header p{margin:0;color:var(--muted);line-height:1.55;text-align:left}
.support-icon{width:48px;height:48px;min-width:48px;border-radius:50%;display:grid;place-items:center;background:#eaf7fb;color:var(--blue);font-size:24px}
.support-form{margin-top:4px}
.support-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.support-fields label{min-width:0}
.support-fields .support-full{grid-column:1/-1}
.support-card input:not([type="checkbox"]),.support-card textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #cfe2e8;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:var(--text)}
.support-card textarea{display:block;min-height:190px;resize:vertical;line-height:1.5}
.support-security{margin-top:7px;padding:17px 18px;background:#f4fbfd;border:1px solid #d5ebf0;border-radius:12px}
.support-security-title{font-weight:700;color:var(--navy);margin-bottom:8px}
.support-security-title .fa{color:var(--blue);margin-right:7px}
.support-security label{margin:0}
.privacy-consent{display:flex!important;align-items:flex-start;gap:10px;margin:18px 0 20px!important;font-weight:400!important;line-height:1.5}
.support-card .privacy-consent input[type="checkbox"]{width:18px;min-width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--blue)}
.privacy-consent span{flex:1}
.privacy-consent a{color:var(--blue);font-weight:700}
.support-card .button{margin-top:0}
.support-note{text-align:left!important;color:var(--muted);font-size:13px;line-height:1.5}
@media(max-width:600px){
 .support-card{margin:20px 0;padding:24px 16px;border-radius:14px}
 .support-header{gap:11px}
 .support-icon{width:42px;height:42px;min-width:42px;font-size:20px}
 .support-header h2{font-size:25px}
 .support-fields{display:block}
 .support-card textarea{min-height:180px}
 .support-security{padding:15px}
 .support-card .button{width:100%}
}


/* 1.0.37 – FAQ, Cookie-Richtlinie und Cookie-Hinweis */
.faq-list{display:grid;gap:0}.faq-item{padding:20px 0;border-bottom:1px solid var(--line)}.faq-item:first-child{padding-top:5px}.faq-item:last-child{border-bottom:0;padding-bottom:5px}.faq-item h3{margin:0 0 8px;color:var(--navy);font-size:18px}.faq-item p{margin:0;color:#4f6972}.faq-item a{color:var(--blue);font-weight:700}.legal-page a{color:var(--blue);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(8,118,166,.28);transition:background .15s ease,color .15s ease,border-color .15s ease;border-radius:4px;padding:1px 3px;margin:-1px -3px}.legal-page a:hover,.legal-page a:focus-visible{color:var(--navy);background:#eaf7fb;border-bottom-color:var(--blue);outline:none}.legal-page a:focus-visible{box-shadow:0 0 0 2px rgba(8,118,166,.18)}.legal-page .button{border-bottom:0;padding:11px 16px;margin:0;border-radius:9px}.legal-page .button:hover,.legal-page .button:focus-visible{background:var(--blue);color:#fff}.legal-page code{background:#f3fafb;border:1px solid #d9e9ed;border-radius:5px;padding:1px 5px;color:#365963}.legal-page p{line-height:1.65}.legal-page h3{scroll-margin-top:20px}.legal-table-wrap{width:100%;overflow-x:auto;margin:16px 0}.legal-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}.legal-table th,.legal-table td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.legal-table th{background:#eef8fb;color:var(--navy);font-weight:700}.legal-table code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}.cookie-consent{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:rgba(13,47,61,.32);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.cookie-consent.is-visible{opacity:1;visibility:visible;pointer-events:auto}.cookie-consent-box{position:relative;width:min(760px,100%);padding:26px 28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 45px rgba(12,70,91,.22)}.cookie-consent-box h2{margin:0 42px 10px 0;color:var(--navy);font-size:25px}.cookie-consent-box h2 .fa{color:var(--blue);margin-right:8px}.cookie-consent-box p{margin:0 0 10px;color:#4f6972}.cookie-consent-small{font-size:13px}.cookie-consent-box a{color:var(--blue);font-weight:700}.cookie-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#eef8fb;color:var(--navy);font-size:25px;line-height:1;cursor:pointer}.cookie-consent-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.cookie-consent-actions .button{min-width:180px}.cookie-consent-actions .secondary{border:1px solid #cfe2e8}.footer-links a{cursor:pointer}
.footer-social-link{display:inline-flex;align-items:center;gap:6px;font-weight:700}.footer-social-link i{font-size:18px;line-height:1}.footer-facebook-link{color:#1877f2 !important}.footer-facebook-link:hover,.footer-facebook-link:focus-visible{color:var(--navy) !important;text-decoration:none}
@media(max-width:600px){.cookie-consent{padding:10px;align-items:flex-end}.cookie-consent-box{padding:22px 17px 18px;border-radius:16px}.cookie-consent-box h2{font-size:21px}.cookie-consent-actions{display:grid;grid-template-columns:1fr;gap:8px}.cookie-consent-actions .button{width:100%;min-width:0}.legal-table{min-width:600px}.faq-item{padding:17px 0}.faq-item h3{font-size:17px}}


/* 1.0.41 – Beliebte Urlaubsorte: responsive Button-Karten */
.popular-destinations{margin:42px 0 0;padding:28px 0 30px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fcfd)}
.popular-destinations-inner{max-width:1120px;margin:0 auto;padding:0 28px}
.popular-destinations-head{margin-bottom:18px;align-items:flex-end}
.popular-destinations-head h2{font-size:24px;color:var(--navy)}
.popular-destinations-head span{color:var(--muted);font-size:14px}
.popular-destinations-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.popular-destination{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;min-height:72px;padding:12px 15px;border:1px solid #cfe2e8;border-radius:12px;background:#fff;color:var(--blue)!important;text-decoration:none!important;box-shadow:0 3px 12px rgba(25,99,121,.06);transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.popular-destination:hover,.popular-destination:focus{transform:translateY(-1px);box-shadow:var(--shadow);border-color:#9dcbd8;background:#eef8fb;color:var(--navy)!important;text-decoration:none!important}
.popular-destination:visited{text-decoration:none!important;color:var(--blue)!important}
.popular-destination span{display:block;font-weight:700;line-height:1.3;color:inherit;text-decoration:none!important}
.popular-destination small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.25;white-space:normal;text-decoration:none!important}
.destination-results{margin-top:10px}
.destination-intro{padding:26px 28px;margin-bottom:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#eaf8fc,#f6fbf5);box-shadow:0 4px 18px rgba(25,99,121,.05)}
.destination-intro h2{margin:3px 0 6px;color:var(--navy);font-size:30px}
.destination-intro p{margin:0;color:var(--muted)}
@media(max-width:900px){
 .popular-destinations-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 .popular-destinations{margin-top:28px;padding:22px 0 24px}
 .popular-destinations-inner{padding:0 14px}
 .popular-destinations-head{display:block;margin-bottom:14px}
 .popular-destinations-head h2{font-size:21px;margin-bottom:3px}
 .popular-destinations-list{grid-template-columns:1fr 1fr;gap:9px}
 .popular-destination{width:100%;min-height:68px;padding:11px 12px;border-radius:12px}
 .popular-destination span{font-size:14px}
 .popular-destination small{font-size:11px;margin-top:4px}
 .destination-intro{padding:20px 16px;margin-bottom:16px}
 .destination-intro h2{font-size:24px}
}

/* 1.0.45 – Erweiterte Unterkunftssuche */
.advanced-search-panel{padding:28px 30px}
.advanced-search-head{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.advanced-search-head h2{margin:2px 0 7px;color:var(--navy);font-size:30px}
.advanced-search-head p{margin:0;color:var(--muted)}
.direct-search-box{padding:20px;border-radius:14px;background:linear-gradient(135deg,#eef9fb,#f7fcfd);border:1px solid var(--line)}
.direct-search-box h3{margin:0 0 5px;color:var(--navy);font-size:21px}
.direct-search-box p{font-size:14px;margin-bottom:12px}
.direct-search-box input{width:100%;min-width:0;border:1px solid #cfe2e8;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:var(--text);box-sizing:border-box}
.advanced-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.filter-group{min-width:0;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff}
.filter-group>label,.filter-group>.two label{display:block;font-weight:600;color:var(--text)}
.filter-group select,.filter-group input[type="date"],.filter-group input[type="number"]{width:100%;min-width:0;border:1px solid #cfe2e8;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:var(--text);box-sizing:border-box;margin-top:6px}
.filter-title{font-weight:700;color:var(--navy);margin-bottom:10px}
.check-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-row label,.check-grid label{display:flex;align-items:flex-start;gap:8px;font-weight:400;color:#4f6972;line-height:1.4}
.check-row input,.check-grid input{width:17px;height:17px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--blue)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.advanced-filters .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:2px}
.filter-actions button{min-width:210px}
.filter-actions .button{min-width:180px}
.search-result-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}
.search-result-head h2{margin:0;color:var(--navy);font-size:23px}
@media(max-width:900px){
 .advanced-search-head{grid-template-columns:1fr}
 .advanced-filters{grid-template-columns:1fr}
 .filter-actions{grid-column:auto}
}
@media(max-width:600px){
 .advanced-search-panel{padding:20px 14px}
 .advanced-search-head{gap:18px;padding-bottom:18px;margin-bottom:18px}
 .advanced-search-head h2{font-size:25px}
 .advanced-filters{gap:12px}
 .filter-group{padding:14px}
 .check-row,.check-grid{grid-template-columns:1fr}
 .advanced-filters .two{grid-template-columns:1fr}
 .filter-actions{display:grid;grid-template-columns:1fr}
 .filter-actions button,.filter-actions .button{width:100%;min-width:0}
 .search-result-head{margin:22px 2px 12px}
 .search-result-head h2{font-size:20px}
}


/* Unterkunfts-ID */
.accommodation-id{font-size:.76rem;color:#7a929c;margin:4px 0 7px;font-weight:600;letter-spacing:.02em}
.detail-accommodation-id{display:inline-block;margin:8px 0 4px;padding:4px 9px;border:1px solid #d8e8ed;border-radius:999px;background:#f4fafb;color:#6d8791;font-size:.78rem;font-weight:600}
.edit-accommodation-id{display:inline-block;margin:-4px 0 18px;padding:7px 11px;border-radius:7px;background:#f3fafb;border:1px solid #d9e9ed;color:#66818c;font-size:.85rem}
@media(max-width:600px){.accommodation-id{font-size:.72rem}.detail-accommodation-id{font-size:.75rem}}


/* 1.0.47 – Preise & Tarife */
.pricing-page{max-width:1120px;margin:0 auto;padding:10px 0 42px}
.pricing-intro{text-align:center;padding:26px 18px 20px}
.pricing-intro h2{margin:7px 0 10px;color:var(--navy);font-size:30px}
.pricing-intro p{margin:5px auto;color:var(--muted);max-width:720px;line-height:1.55}
.pricing-intro .pricing-note{font-size:13px}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:12px}
.pricing-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 20px;text-align:center;box-shadow:0 4px 18px rgba(25,99,121,.06);min-width:0}
.pricing-name{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--blue);font-size:14px}
.pricing-price{margin-top:24px;color:var(--navy);font-size:34px;font-weight:800;line-height:1.1}
.pricing-price span{font-size:20px;font-weight:700}
.pricing-period{margin-top:8px;color:var(--muted);font-size:14px}
.pricing-divider{height:1px;background:var(--line);margin:22px 0}
.pricing-objects{color:var(--text);font-size:15px;min-height:24px}
.pricing-trial{max-width:680px;margin:30px auto 0;padding:25px 24px;text-align:center;border:1px solid #cfe2e8;border-radius:14px;background:linear-gradient(135deg,#eef9fb,#f7fcfd)}
.pricing-trial h3{margin:0 0 9px;color:var(--navy);font-size:20px}
.pricing-trial p{margin:0 auto 18px;color:var(--muted);line-height:1.5}
.pricing-admin-card{margin-top:22px}

/* Preise & Tarife – kompakte Admin-Tabelle */
.pricing-admin-table-wrap{width:100%;overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:12px;background:#fff}
.pricing-admin-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.pricing-admin-table th{padding:12px 14px;background:#eef8fb;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.pricing-admin-table th i{color:var(--blue);margin-right:6px}
.pricing-admin-table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.pricing-admin-table tbody tr:nth-child(even){background:#fbfdfe}
.pricing-admin-table tbody tr:hover{background:#f5fbfd}
.pricing-admin-table tbody tr:last-child td{border-bottom:0}
.pricing-admin-table th:nth-child(1){width:19%}.pricing-admin-table th:nth-child(2){width:29%}.pricing-admin-table th:nth-child(3){width:23%}.pricing-admin-table th:nth-child(4){width:29%}
.pricing-plan-name{color:var(--navy)}
.pricing-plan-name strong{display:inline-block}
.pricing-plan-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;margin-right:8px;border-radius:6px;background:#eaf7fb;color:var(--blue);font-size:11px;font-weight:800}
.pricing-admin-table input{width:100%;min-height:42px;box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.pricing-admin-table{min-width:720px}.pricing-admin-table th,.pricing-admin-table td{padding:10px 12px}}

.pricing-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}
.pricing-admin-plan{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fcfd}
.pricing-admin-plan h3{margin:0 0 12px;color:var(--navy);font-size:17px}
.pricing-admin-plan label,.pricing-admin-fields label{display:block;margin-bottom:10px;font-weight:600;color:var(--text)}
.pricing-admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-bottom:16px}
.pricing-admin-fields label:last-child{margin-bottom:0}
@media(max-width:900px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pricing-page{padding:4px 0 28px}.pricing-intro{padding:18px 8px}.pricing-intro h2{font-size:25px}.pricing-grid{grid-template-columns:1fr;gap:12px}.pricing-card{padding:22px 16px}.pricing-price{margin-top:18px;font-size:31px}.pricing-divider{margin:16px 0}.pricing-trial{margin:20px 0 0;padding:20px 16px}.pricing-admin-grid,.pricing-admin-fields{grid-template-columns:1fr}.pricing-admin-card{margin-top:14px}}

/* Administrationsbereich Ferienquartiere Ostfriesland */
.admin-hero{display:block;padding:30px 32px;margin-bottom:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#e7f8fc,#f5fbf4);box-shadow:var(--shadow)}
.admin-hero-copy h2{margin:4px 0 8px;color:var(--navy);font-size:30px}.admin-hero-copy p{margin:0;max-width:760px;color:var(--muted);font-size:16px}.admin-hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.admin-hero-actions .button{width:100%;min-width:0;white-space:nowrap}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.admin-stat{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(25,99,121,.05)}.admin-stat i{display:block;color:var(--blue);font-size:20px;margin-bottom:10px}.admin-stat strong{display:block;color:var(--navy);font-size:28px;line-height:1.1}.admin-stat span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.admin-section{padding:24px}.admin-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.admin-section-head h2{margin:2px 0 5px}.admin-section-head p{margin:0;color:var(--muted)}.admin-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}.admin-user{display:flex;align-items:center;gap:12px;min-width:0}.admin-user-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eaf7fb;color:var(--blue);flex:0 0 40px}.admin-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admin-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f1f5f6;color:#63777e;font-size:12px;font-weight:700}.admin-status.active{background:#eaf7ef;color:#4f875a}.admin-status.pending{background:#fff7e7;color:#9b7737}.pricing-admin-plan{position:relative}.pricing-admin-number{position:absolute;top:14px;right:14px;color:#a0b6bd;font-size:11px;font-weight:800;letter-spacing:.08em}.pricing-admin-plan h3{padding-right:30px}.pricing-admin-fields label.full{grid-column:1/-1}.admin-save-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.admin-save-row span{color:var(--muted);font-size:13px}.admin-save-row strong{color:var(--navy)}
@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.admin-hero{display:block;padding:22px 18px}.admin-hero-copy h2{font-size:25px}.admin-hero-actions{grid-template-columns:1fr;margin-top:16px}.admin-hero-actions .button{white-space:normal;min-height:44px}.admin-stats{grid-template-columns:1fr 1fr;gap:9px}.admin-stat{padding:14px}.admin-stat strong{font-size:24px}.admin-section{padding:17px}.admin-section-head{display:block}.admin-section-head>.button{margin-top:12px}.admin-row{align-items:flex-start!important}.admin-status-actions{justify-content:flex-start}.admin-save-row{display:block}.admin-save-row .button{margin-top:12px;width:100%}.pricing-admin-fields label.full{grid-column:auto}}

/* Adminbereich: eigenständige Ferienquartiere-Ostfriesland-Darstellung */
.admin-page .content{max-width:1240px;padding:0 32px 60px}
.admin-page .page-title{display:flex;align-items:center;gap:12px;padding:28px 0 18px}
.admin-page .page-title h1{font-size:30px;color:var(--navy)}
.admin-page .admin-hero{border-radius:22px;padding:34px 36px;background:linear-gradient(135deg,#dff7fc 0%,#f7fcf5 100%);border:1px solid #cfe8ee;box-shadow:0 10px 30px rgba(22,71,91,.08)}
.admin-page .admin-hero-copy h2{font-size:34px}
.admin-page .admin-stat{min-height:128px;display:flex;flex-direction:column;justify-content:center}
.admin-page .admin-stat i{font-size:22px}
.admin-page .admin-section{background:#fff;border-radius:18px;border:1px solid #cfe5ea;box-shadow:0 6px 22px rgba(22,71,91,.06)}
.admin-page .admin-section h2{font-size:23px}
.admin-page .button{box-shadow:0 3px 10px rgba(8,118,166,.12)}
.admin-page .admin-row{background:#fbfeff}
@media(max-width:600px){.admin-page .content{padding:0 14px 40px}.admin-page .page-title h1{font-size:25px}.admin-page .admin-hero{padding:24px 18px}.admin-page .admin-hero-copy h2{font-size:27px}.admin-page .admin-stats{grid-template-columns:1fr 1fr}.admin-page .admin-stat{min-height:110px}}
.admin-trial-alert{display:flex;align-items:center;gap:15px;margin:0 0 20px;padding:16px 18px;border:1px solid #f0d9a7;border-radius:16px;background:#fff8e9;color:#725b2e}.admin-trial-alert-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff0c9;color:#b27a20;font-size:19px;flex:0 0 auto}.admin-trial-alert strong{color:#654f27}.admin-trial-alert p{margin:2px 0 0;color:#806d48}.admin-trial-days{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.admin-trial-days.active{background:#eaf7ef;color:#4f875a}.admin-trial-days.expired{background:#fff0ef;color:#a14e48}.admin-trial-days.pending{background:#f2f5f6;color:#687c83}.status-card{max-width:850px;margin:24px auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:30px}.status-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px}.status-card-head h2{margin:2px 0 8px;color:var(--navy);font-size:30px}.status-card-head p{margin:0;color:var(--muted)}.status-card-icon{font-size:42px;color:var(--blue);padding:8px}.status-result{margin-top:22px;padding:24px;border-radius:16px;border:1px solid var(--line)}.status-result strong{display:block;color:var(--navy);font-size:20px}.status-result p{color:var(--muted)}.status-result.active{background:#eff9f1;border-color:#cfe8d3}.status-result.pending{background:#fff9ec;border-color:#f0dfb5}.status-result.expired{background:#fff1ef;border-color:#efd0cc}.status-result.neutral{background:#f4fafc}.status-days{display:flex;align-items:baseline;gap:10px;margin:15px 0 2px}.status-days b{font-size:42px;line-height:1;color:var(--green)}.status-days span{color:var(--muted);font-weight:700}.status-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.status-meta>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfeff}.status-meta span,.status-meta strong{display:block}.status-meta span{font-size:13px;color:var(--muted)}.status-meta strong{color:var(--navy);margin-top:3px}@media(max-width:600px){.admin-trial-alert{align-items:flex-start}.admin-trial-days{width:100%;justify-content:center}.status-card{padding:20px 16px;margin:15px 0}.status-card-head{display:block}.status-card-icon{display:none}.status-card-head h2{font-size:25px}.status-meta{grid-template-columns:1fr}.status-result{padding:18px}.status-days b{font-size:36px}}

.admin-ad-form textarea{width:100%;min-height:160px}.admin-ad-form small{display:block;color:#6d8580;margin-top:6px}.admin-check{display:flex;gap:8px;align-items:center;margin:16px 0}.admin-check input{width:auto}.admin-row small{display:block;color:#71817c;margin-top:4px}.admin-status-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-status-actions form{margin:0}

.profile-page{max-width:1000px;margin:0 auto}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-card{padding:24px}.profile-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.profile-card-head h2{margin:5px 0 8px}.profile-card-head p{margin:0;color:var(--muted);line-height:1.6}.profile-icon{font-size:34px;color:var(--accent,#0d7ea8)}.profile-form{display:grid;gap:16px}.profile-form input[disabled]{background:#f3f6f7;color:#667b82;cursor:not-allowed}.profile-info{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#eefafd,#f5fbf7);padding:16px 20px;display:flex;align-items:center;gap:12px;color:#255566}.profile-info>i{font-size:20px}.profile-info div{display:flex;flex-direction:column;gap:3px}.profile-info span{font-size:14px;color:var(--muted)}
@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.profile-card{padding:20px}}

.visitor-filter{display:grid;grid-template-columns:170px 1fr 1fr auto;gap:12px;align-items:end}.visitor-filter label{margin:0!important}.visitor-filter .button{min-height:44px}.visitor-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}/* Besucherstatistik – kompakte Vollbreiten-Tabelle */
.visitor-log-section .admin-section-head{align-items:flex-start}
.visitor-log-section .admin-section-head>div{min-width:0}
.visitor-log-section .admin-section-head h2{margin-bottom:7px}
.visitor-log-section .admin-section-head p{max-width:820px}
.visitor-table-wrap{width:100%;overflow-x:hidden;border:1px solid #d6e9ef;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(20,76,103,.055)}
.visitor-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff}
.visitor-table .col-time{width:11%}.visitor-table .col-ip{width:12%}.visitor-table .col-page{width:13%}.visitor-table .col-user{width:12%}.visitor-table .col-referrer{width:22%}.visitor-table .col-whois{width:10%}.visitor-table .col-guest{width:7%}.visitor-table .col-actions{width:13%}
.visitor-table th,.visitor-table td{padding:13px 12px;border-right:1px solid #e2eef2;border-bottom:1px solid #e3eef2;text-align:left;vertical-align:middle}
.visitor-table th:last-child,.visitor-table td:last-child{border-right:0}
.visitor-table th{height:48px;background:#edf8fb;color:var(--navy);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.visitor-table th .fa{display:inline-block;margin-right:6px;color:var(--blue);font-size:12px}
.visitor-table tbody tr:nth-child(even){background:#fafdfe}
.visitor-table tbody tr:hover{background:#f0fafc}
.visitor-table tr:last-child td{border-bottom:0}
.visitor-time{white-space:nowrap;color:#486a79;font-size:12px;line-height:1.3}
.visitor-time span,.visitor-time small{display:block}
.visitor-time span{font-weight:600;color:#426476}
.visitor-time small{margin-top:3px;color:#78909a;font-size:11px}
.visitor-ip{white-space:nowrap}.visitor-table code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#214f69;font-size:12px;font-weight:600;background:none;border:0;padding:0}
.visitor-page{display:inline-flex;align-items:center;gap:7px;max-width:100%;box-sizing:border-box;padding:7px 10px;border-radius:8px;background:#e8f6fb;color:#126487;font-weight:700;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.visitor-page .fa{font-size:12px;flex:0 0 auto}
.visitor-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:700}.visitor-status-user{color:#23764a}.visitor-status-guest{color:#667d86}
.visitor-status-user .fa{color:#2ca765}.visitor-status-guest .fa{color:#8aa0a8}
.visitor-referrer-cell{display:flex;align-items:center;gap:7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#315c6b;font-size:12px}.visitor-referrer-cell .fa{color:var(--blue);flex:0 0 auto}
.visitor-whois{min-height:36px!important;padding:7px 10px!important;font-size:11px!important;border-radius:9px!important;white-space:nowrap}
.visitor-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.visitor-badge-guest{background:#e8f7ef;color:#23764a}.visitor-badge-muted{background:#edf3f5;color:#71858d}
.visitor-actions{width:auto;min-width:0}.visitor-actions form{margin:0}.visitor-block-form{display:flex;align-items:center;gap:6px}.visitor-block-form select{min-height:36px;width:78px;min-width:0;padding:7px 20px 7px 8px;border:1px solid #d3e6ec;border-radius:8px;background:#fff;color:var(--navy);font-size:10px}.visitor-action-button{min-height:36px!important;padding:7px 8px!important;font-size:10px!important;border-radius:8px!important;white-space:nowrap}
.visitor-action-empty{color:#a0b1b8}
.visitor-empty{text-align:center!important;color:var(--muted);padding:28px!important}
.visitor-count-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#eef8fb;color:var(--blue);font-size:12px;font-weight:800;white-space:nowrap}
.visitor-referrer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.visitor-referrer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e3eef1;border-radius:10px;background:#fbfeff;min-width:0}.visitor-referrer-row>div{display:flex;align-items:center;gap:10px;min-width:0}.visitor-referrer-row>div i{width:18px;text-align:center;color:var(--blue);flex:0 0 18px}.visitor-referrer-row strong{font-size:14px;color:var(--navy);overflow-wrap:anywhere}.visitor-referrer-row>span{white-space:nowrap;font-weight:800;color:var(--navy);font-size:13px}.visitor-referrer-special{background:#f3fafb}.visitor-referrer-note{margin:14px 0 0}
.visitor-top-list{grid-template-columns:1fr 1fr;gap:8px 10px}.visitor-top-list .admin-row{min-height:58px;padding:11px 13px;background:#fbfeff}.visitor-top-list .admin-row>div{display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px}.visitor-top-list .admin-row strong{font-size:14px;word-break:break-word}.visitor-top-list .admin-row span{white-space:nowrap}
@media(max-width:900px){.visitor-filter{grid-template-columns:1fr 1fr}.visitor-referrer-grid{grid-template-columns:1fr}.visitor-top-list{grid-template-columns:1fr}.whois-grid{grid-template-columns:1fr}.visitor-table-wrap{border-radius:12px}.visitor-actions{min-width:185px}}
@media(max-width:600px){.visitor-filter{grid-template-columns:1fr}.visitor-filter .button{width:100%}.visitor-table{min-width:1120px}.visitor-count-badge{margin-top:10px}.visitor-referrer-row{padding:11px 12px}.visitor-top-list .admin-row>div{display:block}.visitor-top-list .admin-row span{margin-top:3px}.whois-grid{grid-template-columns:1fr}.profile-info-data{display:grid!important;gap:7px}}


/* Website-Suche mit Google Programmable Search – passend zum Seitendesign */
.site-search-panel{padding:28px 30px;overflow:hidden}
.site-search-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.site-search-head h2{margin:2px 0 7px;color:var(--navy);font-size:30px}
.site-search-head p{margin:0;color:var(--muted)}
.site-search-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#eaf8fb;color:var(--blue);font-size:24px;flex:0 0 58px}
.site-search-box{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;box-shadow:0 4px 18px rgba(25,99,121,.05);min-width:0}
.site-search-box .gsc-control-cse{font-family:inherit!important;border:0!important;background:transparent!important;padding:0!important}
.site-search-box .gsc-control-wrapper-cse{width:100%!important}
.site-search-box .gsc-search-box-tools .gsc-search-box{margin-bottom:18px!important}
.site-search-box table.gsc-search-box{margin-bottom:18px!important}
.site-search-box .gsc-input-box{border:1px solid #cfe2e8!important;border-radius:10px!important;box-shadow:none!important;background:#fff!important;height:44px!important}
.site-search-box input.gsc-input{font-family:inherit!important;font-size:15px!important;color:var(--text)!important;padding:9px 12px!important}
.site-search-box .gsc-search-button-v2{height:44px!important;min-width:48px!important;padding:0 16px!important;border:0!important;border-radius:10px!important;background:var(--blue)!important;box-shadow:none!important}
.site-search-box .gsc-search-button-v2:hover{background:var(--navy)!important}
.site-search-box .gsc-search-button-v2 svg{fill:#fff!important}
.site-search-box .gsc-result-info{font-family:inherit!important;color:var(--muted)!important;padding:0 0 12px!important}
.site-search-box .gsc-webResult.gsc-result,.site-search-box .gsc-results .gsc-result{border:0!important;border-bottom:1px solid #e6f0f3!important;padding:18px 0!important}
.site-search-box .gsc-webResult.gsc-result:last-child{border-bottom:0!important}
.site-search-box .gs-title,.site-search-box .gs-title b{font-family:inherit!important;color:var(--navy)!important;text-decoration:none!important}
.site-search-box .gs-title{font-size:18px!important}
.site-search-box .gs-title:hover{color:var(--blue)!important}
.site-search-box .gs-snippet{font-family:inherit!important;color:#5f737a!important;line-height:1.6!important}
.site-search-box .gsc-url-top,.site-search-box .gsc-url-bottom{font-family:inherit!important;color:var(--blue)!important}
.site-search-box .gsc-thumbnail-inside,.site-search-box .gsc-url-top{padding-left:0!important}
.site-search-box .gsc-cursor-box{border-top:1px solid #e6f0f3!important;margin-top:10px!important;padding-top:18px!important}
.site-search-box .gsc-cursor-page{font-family:inherit!important;color:var(--blue)!important}
@media(max-width:600px){.site-search-panel{padding:20px 14px}.site-search-head{align-items:flex-start;gap:15px;padding-bottom:18px;margin-bottom:18px}.site-search-head h2{font-size:25px}.site-search-icon{width:46px;height:46px;flex-basis:46px;border-radius:13px;font-size:20px}.site-search-box{padding:10px;border-radius:13px}.site-search-box .gsc-search-box-tools .gsc-search-box{margin-bottom:14px!important}.site-search-box .gsc-input-box,.site-search-box .gsc-search-button-v2{height:42px!important}.site-search-box .gs-title{font-size:16px!important}}
.legal-agb ul{margin:8px 0 18px;padding-left:24px;color:#4f6972}.legal-agb li{margin:7px 0;line-height:1.6}.legal-agb strong{color:var(--navy)}

/* Unterkunftsübertragung im Adminbereich */
.accommodation-transfer-row{align-items:center;gap:24px}
.accommodation-transfer-row .admin-user{flex:1;min-width:260px}
.accommodation-transfer-row .admin-user small{display:block;margin-top:5px;color:var(--muted,#667085);font-size:.82rem}
.transfer-form{display:flex;align-items:end;gap:12px;min-width:420px}
.transfer-form label{margin:0;min-width:280px}
.transfer-form select{margin-top:6px}
.transfer-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.transfer-info-grid>div{padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:rgba(255,255,255,.65)}
.transfer-info-grid i{display:block;font-size:1.35rem;margin-bottom:10px}
.transfer-info-grid strong,.transfer-info-grid span{display:block}
.transfer-info-grid span{margin-top:6px;color:var(--muted,#667085);line-height:1.5;font-size:.9rem}
@media (max-width:900px){.transfer-form{min-width:0;width:100%;flex-wrap:wrap}.transfer-form label{min-width:0;flex:1}.accommodation-transfer-row{align-items:stretch}.transfer-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.transfer-form{display:grid;grid-template-columns:1fr}.transfer-form label{width:100%}.transfer-form .button{width:100%}.transfer-info-grid{grid-template-columns:1fr}.accommodation-transfer-row{gap:14px}}

/* 1.0.64 – Admin: Benutzer anlegen */
.admin-create-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:6px}
.admin-create-user-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.admin-create-user-grid input{width:100%;box-sizing:border-box}
.admin-create-user-form .admin-save-row{margin-top:20px}
.admin-create-user-card .admin-section-head{margin-bottom:4px}
@media (max-width:760px){
  .admin-create-user-grid{grid-template-columns:1fr;gap:14px}
  .admin-create-user-form .admin-save-row{align-items:flex-start;flex-direction:column}
  .admin-create-user-form .admin-save-row .button{width:100%;justify-content:center}
}

/* 1.0.65 – Admin: Benutzer anlegen und Unterkünfte übertragen */
.admin-message{margin:0 0 18px}
.admin-section-icon{font-size:28px;opacity:.75}
.admin-transfer-list{display:flex;flex-direction:column;gap:14px}
.admin-transfer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:20px;align-items:center;padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:rgba(255,255,255,.65)}
.admin-transfer-object{display:flex;gap:14px;align-items:flex-start;min-width:0}
.admin-transfer-object>.fa{font-size:22px;margin-top:3px;opacity:.7}
.admin-transfer-object div{min-width:0;display:flex;flex-direction:column;gap:4px}
.admin-transfer-object strong{font-size:17px;overflow-wrap:anywhere}
.admin-transfer-object span,.admin-transfer-object small{display:block;opacity:.72}
.admin-transfer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.admin-transfer-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.admin-transfer-form select{width:100%;box-sizing:border-box}
.admin-transfer-form .button{white-space:nowrap}
@media(max-width:800px){
 .admin-transfer-row{grid-template-columns:1fr}
 .admin-transfer-form{grid-template-columns:1fr}
 .admin-transfer-form .button{width:100%;justify-content:center}
}
/* 1.0.65 – Admin: Benutzer anlegen und Unterkünfte übertragen */
.admin-message{margin:0 0 18px}.admin-section-icon{font-size:28px;opacity:.75}.admin-transfer-list{display:flex;flex-direction:column;gap:14px}.admin-transfer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:20px;align-items:center;padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:rgba(255,255,255,.65)}.admin-transfer-object{display:flex;gap:14px;align-items:flex-start;min-width:0}.admin-transfer-object>.fa{font-size:22px;margin-top:3px;opacity:.7}.admin-transfer-object div{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-transfer-object strong{font-size:17px;overflow-wrap:anywhere}.admin-transfer-object span,.admin-transfer-object small{display:block;opacity:.72}.admin-transfer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.admin-transfer-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.admin-transfer-form select{width:100%;box-sizing:border-box}.admin-transfer-form .button{white-space:nowrap}@media(max-width:800px){.admin-transfer-row{grid-template-columns:1fr}.admin-transfer-form{grid-template-columns:1fr}.admin-transfer-form .button{width:100%;justify-content:center}}

/* Admin 1.0.66 – übersichtliche Schnellnavigation */
.admin-hero-actions .button{min-height:46px;text-align:center}
.admin-message{margin:0 0 14px}
.admin-create-user-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.admin-create-user-grid label{margin-bottom:14px}
.admin-transfer-list{display:grid;gap:12px}
.admin-transfer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfeff}
.admin-transfer-object{display:flex;align-items:center;gap:12px;min-width:0}
.admin-transfer-object>.fa{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eaf7fb;color:var(--blue);font-size:18px;flex:0 0 42px}
.admin-transfer-object strong,.admin-transfer-object span,.admin-transfer-object small{display:block}
.admin-transfer-object strong{color:var(--navy);font-size:16px}
.admin-transfer-object span,.admin-transfer-object small{color:var(--muted);font-size:13px}
.admin-transfer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.admin-transfer-form label{margin:0}
.admin-transfer-form .button{height:46px;white-space:nowrap}
@media(max-width:900px){.admin-transfer-row{grid-template-columns:1fr}.admin-transfer-form{grid-template-columns:1fr auto}}
@media(max-width:600px){.admin-create-user-grid{grid-template-columns:1fr}.admin-transfer-form{grid-template-columns:1fr}.admin-transfer-form .button{width:100%}.admin-transfer-row{padding:14px}}


/* 1.0.67 – final Admin-Übersicht */
.admin-hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%;box-sizing:border-box}
.admin-hero-actions .button{box-sizing:border-box;width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere;text-align:center;justify-content:center}
.admin-create-user-card,.admin-section#admin-transfer{overflow:hidden}
.admin-create-user-grid{min-width:0}
.admin-transfer-list{min-width:0}
@media(max-width:700px){.admin-hero-actions{grid-template-columns:1fr!important}.admin-section{padding:20px!important}.admin-section-head{gap:12px!important}.admin-transfer-row{grid-template-columns:1fr!important}.admin-transfer-form{grid-template-columns:1fr!important}.admin-transfer-form .button{width:100%!important}}

/* 1.0.69 – Benutzerverwaltung & Moderation */
.admin-moderation-list{display:grid;gap:14px}.admin-moderation-row{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfeff;display:grid;grid-template-columns:minmax(260px,1fr);gap:12px}.admin-moderation-row .admin-user small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.moderation-badges{display:flex;flex-wrap:wrap;gap:7px}.admin-status.spam{background:#fff4e8;color:#a5652a}.admin-status.blocked{background:#fff0ef;color:#9a4c47}.admin-moderation-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:4px;border-top:1px solid var(--line)}.admin-moderation-actions form{margin:0}.moderation-inline{display:flex;gap:7px;align-items:center}.moderation-inline select{height:40px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font:inherit}.danger-button{color:#9a4c47!important}.moderation-protected-note{padding:10px 12px;border-radius:9px;background:#f3f7f8;color:var(--muted);font-size:13px}.moderation-warning{display:block;margin-top:9px;color:#8a6b38;font-size:12px;line-height:1.5}.moderation-warning i{margin-right:5px}.admin-moderation-row code{font-size:12px}
@media(max-width:800px){.admin-moderation-actions{display:grid;grid-template-columns:1fr}.admin-moderation-actions form,.moderation-inline{width:100%}.moderation-inline{display:grid;grid-template-columns:1fr}.admin-moderation-actions .button{width:100%;justify-content:center}.moderation-inline select{width:100%}}


/* 1.0.74 – Icons & Buttons Design Polish
   Einheitliches UI-System für Desktop und Mobile */
:root{
  --button-blue:#0876a6;
  --button-blue-dark:#075f86;
  --button-soft:#eef8fb;
  --icon-bg:#edf8fb;
  --icon-border:#d5ebf1;
  --focus-ring:rgba(8,118,166,.20);
}

/* Navigation icons */
.sidebar nav a{
  position:relative;
  min-height:46px;
  border:1px solid transparent;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.sidebar nav a .fa{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--icon-bg);
  border:1px solid var(--icon-border);
  color:var(--blue);
  font-size:15px;
  line-height:1;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.sidebar nav a:hover{
  background:#f4fbfd;
  border-color:#dceef3;
  box-shadow:0 4px 12px rgba(25,99,121,.06);
  transform:translateX(1px);
}
.sidebar nav a:hover .fa{
  background:#dff3f9;
  border-color:#c9e7ef;
  color:var(--button-blue-dark);
  transform:scale(1.04);
}

/* Topbar icons */
.toplinks{
  align-items:center;
  gap:8px;
}
.toplinks a{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#f4fafc;
  border:1px solid #deedf1;
  color:var(--blue);
  font-size:18px;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.toplinks a:hover{
  background:#e7f6fa;
  border-color:#cce6ee;
  color:var(--button-blue-dark);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(25,99,121,.08);
}
.toplinks .fa{font-size:17px}

/* Search icon */
.searchbar{
  border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.searchbar>.fa{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#e1f3f8;
  color:var(--blue);
}

/* Buttons */
button,.button{
  min-height:44px;
  padding:11px 18px;
  gap:7px;
  border:1px solid transparent;
  border-radius:12px;
  background:linear-gradient(180deg,#0b82b3,#0876a6);
  box-shadow:0 4px 12px rgba(8,118,166,.16);
  letter-spacing:.005em;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
button:hover,.button:hover{
  background:linear-gradient(180deg,#0c8bbd,#075f86);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 7px 17px rgba(8,118,166,.22);
}
button:active,.button:active{
  transform:translateY(0);
  box-shadow:0 3px 8px rgba(8,118,166,.16);
}
button:focus-visible,.button:focus-visible,
.toplinks a:focus-visible,.sidebar nav a:focus-visible{
  outline:0;
  box-shadow:0 0 0 4px var(--focus-ring),0 4px 12px rgba(25,99,121,.08);
}
.button.secondary{
  background:#fff;
  color:var(--blue);
  border-color:#cfe5eb;
  box-shadow:0 3px 10px rgba(25,99,121,.07);
}
.button.secondary:hover{
  background:#eef8fb;
  color:var(--button-blue-dark);
  border-color:#bcdce5;
  box-shadow:0 6px 15px rgba(25,99,121,.11);
}
.button .fa, button .fa{
  font-size:14px;
  line-height:1;
}

/* Hero search action */
.hero-search button{
  min-width:150px;
  border-radius:11px;
}
.hero-search button .fa{
  margin-right:1px;
}

/* Section/action links */
.section-head a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border-radius:10px;
  transition:background .18s ease,color .18s ease;
}
.section-head a:hover{
  background:#eef8fb;
  color:var(--button-blue-dark);
}

/* Accommodation metadata icons */
.meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.meta .fa{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#eef8fb;
  border:1px solid #dceef2;
  color:var(--blue);
  font-size:12px;
}
.meta strong{
  padding:5px 9px;
  border-radius:9px;
  background:#f1faf2;
  border:1px solid #dcefd9;
  color:#4e8b4a;
}

/* Detail-page facts and amenities */
.detail-facts span{
  padding:6px 9px;
  border-radius:9px;
  background:#f4fafc;
  border:1px solid #e0eef2;
}
.detail-facts .fa,
.amenities-list .fa{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#eaf7fb;
  color:var(--blue);
  margin-right:4px;
}
.amenities-list span{
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px 8px;
  border-radius:9px;
  background:#f8fcfd;
  border:1px solid #e8f1f3;
}

/* Slideshow / lightbox controls */
.slide-arrow,.lightbox-close,.lightbox-arrow{
  border:1px solid rgba(215,233,238,.95);
  background:rgba(255,255,255,.96);
  box-shadow:0 5px 16px rgba(0,0,0,.16);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.slide-arrow:hover,.lightbox-close:hover,.lightbox-arrow:hover{
  background:#fff;
  transform:scale(1.05);
  box-shadow:0 7px 20px rgba(0,0,0,.20);
}

/* Admin/stat icons */
.admin-stat .fa,.site-search-icon .fa{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eaf7fb;
  border:1px solid #d3eaf0;
  color:var(--blue);
}

/* Small controls should still have a comfortable hit area */
.visitor-whois{
  min-height:38px;
  padding:8px 12px;
}
.slide-open{
  min-height:38px;
}

/* Mobile navigation: show the actual Font Awesome icons instead of text hacks */
@media(max-width:720px){
  .sidebar nav a{
    min-height:54px;
    padding:5px 3px;
    border-radius:10px;
    transform:none;
    border:0;
  }
  .sidebar nav a:hover{
    transform:none;
    box-shadow:none;
    background:#f4fbfd;
  }
  .sidebar nav a .fa{
    width:40px;
    height:40px;
    flex-basis:40px;
    border-radius:11px;
    font-size:16px;
  }
  .sidebar nav a span{display:none}
  .sidebar nav a:first-letter{font-size:inherit}
  .toplinks a{
    width:38px;
    height:38px;
    border-radius:10px;
  }
  button,.button{
    min-height:46px;
    padding:11px 16px;
  }
  .hero-search button{
    width:100%;
    min-width:0;
  }
  .section-head a{
    padding:8px 9px;
  }
}

@media(max-width:420px){
  .sidebar nav a .fa{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
}

/* 1.0.75 – Ostfriesland Hero Background-Slider */
@media(max-width:900px){.hero{min-height:430px;grid-template-columns:1fr}.hero-copy{padding:42px 34px 72px;max-width:720px}.hero-art{position:absolute;right:0;top:0;width:42%;height:100%;min-height:0;background:rgba(255,255,255,.08);pointer-events:none}.hero-art img{width:82%;max-width:300px;opacity:.9}.hero-overlay{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.83) 48%,rgba(255,255,255,.34) 100%),linear-gradient(180deg,rgba(8,118,166,.08),rgba(8,54,72,.2))}}
@media(max-width:600px){.hero{min-height:520px;margin-bottom:28px;border-radius:16px}.hero-copy{padding:34px 20px 74px;display:flex;flex-direction:column;justify-content:center}.hero h2{font-size:34px;line-height:1.08;margin-bottom:14px}.hero p{font-size:16px;max-width:100%;margin:0}.hero-search{grid-template-columns:1fr;margin-top:20px;gap:9px}.hero-search button{width:100%;min-width:0}.hero-art{right:0;top:auto;bottom:34px;width:100%;height:155px;min-height:0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.5))}.hero-art img{width:245px;max-width:65%;opacity:.92}.hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.84) 52%,rgba(255,255,255,.38) 100%),linear-gradient(180deg,rgba(8,118,166,.05),rgba(8,54,72,.16))}.hero-dots{bottom:12px}.hero-kicker{font-size:14px}.hero-dots button{width:8px;height:8px}.hero-dots button.is-active{width:20px}}
@media(max-width:420px){.hero{min-height:500px}.hero-copy{padding:30px 17px 70px}.hero h2{font-size:31px}.hero-art{height:135px}.hero-art img{max-width:62%}}


/* 1.0.76 – Hero-Slider als vollständige Fläche, Logo als Overlay */
.hero{
  display:block;
  min-height:500px;
  position:relative;
}
.hero-slider,.hero-slide,.hero-overlay{
  position:absolute;
  inset:0;
}
.hero-slider{z-index:0}
.hero-slide{z-index:0}
.hero-overlay{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(9,48,64,.58) 0%,rgba(9,48,64,.30) 48%,rgba(9,48,64,.10) 100%),
    linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(0,0,0,.16) 100%);
}
.hero-copy{
  position:relative;
  z-index:3;
  width:min(720px,72%);
  min-height:500px;
  padding:70px 48px 82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-kicker{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.hero h2{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.hero h2 em{color:#8fdf80}
.hero p{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.30)}
.hero-search{position:relative;z-index:4}
.hero-art{
  position:absolute;
  z-index:4;
  top:20px;
  right:24px;
  width:auto;
  height:150px;
  min-height:0!important;
  padding:0!important;
  display:block;
  background:transparent!important;
  overflow:visible;
  pointer-events:none;
}
.hero-art img{
  display:block;
  width:auto!important;
  height:150px!important;
  max-width:320px!important;
  object-fit:contain;
  opacity:.98;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.20));
}
.hero-dots{z-index:5}
@media(max-width:900px){
  .hero{min-height:470px}
  .hero-copy{width:min(760px,78%);min-height:470px;padding:58px 34px 78px}
  .hero-art{top:16px;right:18px;height:120px}
  .hero-art img{height:120px!important;max-width:260px!important}
  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(9,48,64,.62) 0%,rgba(9,48,64,.34) 70%,rgba(9,48,64,.16) 100%),
      linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.18));
  }
}
@media(max-width:600px){
  .hero{min-height:540px;border-radius:16px}
  .hero-copy{
    width:100%;
    min-height:540px;
    padding:142px 20px 72px;
    justify-content:flex-start;
  }
  .hero-art{top:12px;right:14px;height:92px}
  .hero-art img{height:92px!important;max-width:210px!important}
  .hero h2{font-size:34px;line-height:1.08}
  .hero p{font-size:16px}
  .hero-overlay{
    background:
      linear-gradient(180deg,rgba(9,48,64,.28) 0%,rgba(9,48,64,.48) 52%,rgba(9,48,64,.68) 100%),
      linear-gradient(90deg,rgba(255,255,255,.02),rgba(0,0,0,.08));
  }
}
@media(max-width:420px){
  .hero{min-height:530px}
  .hero-copy{min-height:530px;padding:128px 17px 70px}
  .hero-art{top:10px;right:10px;height:82px}
  .hero-art img{height:82px!important;max-width:185px!important}
  .hero h2{font-size:31px}
}

/* 1.0.77 – Hero-Navigation ausgeblendet */
.hero-dots{display:none!important}


/* 1.0.84 – Startseiten-Hero nach dem neuen Ostfriesland-Design */
.hero-home-redesign{
  min-height:620px;
  border-radius:0;
  margin-left:-28px;
  margin-right:-28px;
  width:calc(100% + 56px);
  box-shadow:none;
}
.hero-home-redesign .hero-slider,.hero-home-redesign .hero-slide,.hero-home-redesign .hero-overlay{z-index:0}
.hero-home-redesign .hero-slide{background-position:center 48%;transform:scale(1.015)}
.hero-home-redesign .hero-slide.is-active{transform:scale(1)}
.hero-home-redesign .hero-overlay{
  background:
    linear-gradient(90deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.05) 48%,rgba(8,54,72,.12) 100%),
    linear-gradient(180deg,rgba(5,45,62,.04) 0%,rgba(5,45,62,.16) 100%);
}
.hero-home-redesign .hero-copy{
  z-index:3;
  width:min(650px,64%);
  min-height:0;
  margin:72px 0 72px 46px;
  padding:30px 38px 28px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:24px;
  background:rgba(255,255,255,.76);
  box-shadow:0 16px 40px rgba(19,64,78,.15);
  backdrop-filter:blur(4px);
}
.hero-home-redesign .hero-kicker{color:var(--blue);text-shadow:none;margin-bottom:10px;font-size:17px}
.hero-home-redesign h2{font-size:46px;line-height:1.04;color:var(--navy);text-shadow:none;margin:0 0 17px;letter-spacing:-.02em}
.hero-home-redesign h2 em{color:#29964a}
.hero-home-redesign p{color:#174d66;text-shadow:none;font-size:18px;line-height:1.5;margin:0;max-width:570px}
.hero-home-redesign .hero-search{grid-template-columns:minmax(0,1fr) 178px;gap:10px;margin-top:25px}
.hero-home-redesign .hero-search input{height:58px;border-radius:16px;border-color:#d6e8ed;padding:0 18px;box-shadow:0 4px 12px rgba(18,92,117,.06)}
.hero-home-redesign .hero-search button{height:58px;border-radius:16px;font-size:17px}
.hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.hero-benefits>div{display:flex;align-items:center;gap:10px;min-width:0;color:var(--navy)}
.hero-benefit-icon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);box-shadow:0 3px 10px rgba(18,92,117,.10);font-size:21px}
.hero-benefits strong{font-size:15px;line-height:1.2;font-weight:700}
.hero-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:50px;height:50px;min-height:0;padding:0;border:2px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(20,58,72,.58);color:#fff;box-shadow:0 4px 15px rgba(0,0,0,.16);font-size:19px;backdrop-filter:blur(4px)}
.hero-arrow:hover{background:rgba(20,58,72,.78);transform:translateY(-50%) scale(1.03)}
.hero-prev{left:16px}.hero-next{right:16px}
@font-face{font-family:"Playwrite DESAS Custom";src:url("../fonts/PlaywriteDESAS-VariableFont_wght.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bradley Jermaine Custom";src:url("../fonts/BradleyjermaineRegular-GOGXm.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Segoe Print Custom";src:url("../fonts/segoepr.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
.hero-signature{position:absolute;z-index:4;right:48px;bottom:82px;color:#fff;font-size:42px;font-style:normal;font-weight:500;line-height:1;text-align:center;transform:rotate(-4deg);text-shadow:0 2px 8px rgba(0,0,0,.35);font-family:"Playwrite DESAS Custom",cursive}
.hero-signature span{display:block;font-size:19px;font-weight:400;margin-top:9px;letter-spacing:.02em}
.hero-home-redesign .hero-dots{z-index:6;bottom:18px;background:rgba(22,71,91,.34)}
.hero-home-redesign .hero-dot{cursor:pointer}
@media(max-width:1100px){
  .hero-home-redesign{min-height:570px;margin-left:-20px;margin-right:-20px;width:calc(100% + 40px)}
  .hero-home-redesign .hero-copy{width:min(650px,68%);margin:58px 0 58px 32px;padding:28px 30px}
  .hero-home-redesign h2{font-size:42px}
  .hero-signature{right:34px;bottom:75px;font-size:34px}
}
@media(max-width:720px){
  .hero-home-redesign{min-height:610px;margin-left:-8px;margin-right:-8px;width:calc(100% + 16px);border-radius:0}
  .hero-home-redesign .hero-copy{width:auto;margin:22px 16px 70px;padding:24px 18px 22px;border-radius:20px;background:rgba(255,255,255,.78)}
  .hero-home-redesign .hero-kicker{font-size:14px}
  .hero-home-redesign h2{font-size:34px}
  .hero-home-redesign p{font-size:16px}
  .hero-home-redesign .hero-search{grid-template-columns:1fr;margin-top:20px}
  .hero-home-redesign .hero-search input,.hero-home-redesign .hero-search button{height:52px}
  .hero-benefits{gap:9px;margin-top:19px}
  .hero-benefits>div{gap:6px}
  .hero-benefit-icon{width:38px;height:38px;flex-basis:38px;font-size:17px}
  .hero-benefits strong{font-size:12px}
  .hero-arrow{width:40px;height:40px;font-size:15px}
  .hero-prev{left:9px}.hero-next{right:9px}
  .hero-signature{right:18px;bottom:62px;font-size:27px}
  .hero-signature span{font-size:14px;margin-top:5px}
  .hero-home-redesign .hero-dots{bottom:13px}
}
@media(max-width:460px){
  .hero-home-redesign{min-height:650px}
  .hero-home-redesign .hero-copy{margin:16px 10px 78px;padding:21px 15px 19px}
  .hero-home-redesign h2{font-size:29px}
  .hero-benefits{grid-template-columns:1fr;gap:8px}
  .hero-benefits>div{justify-content:flex-start}
  .hero-signature{right:12px;bottom:57px;font-size:23px}
  .hero-signature span{font-size:12px}
}

/* Besucherstatistik 1.0.93 – volle Breite, variable Eintragszahl, ohne Seitennavigation */
@media(min-width:901px){
  .visitor-log-section{width:calc(100% + 56px);margin-left:-28px;}
}
.visitor-log-section .visitor-table-wrap{width:100%;}
.visitor-filter{grid-template-columns:160px minmax(180px,1fr) minmax(180px,1fr) 150px auto;}
.visitor-filter label{min-width:0;}
.visitor-table{width:100%;min-width:0;table-layout:auto;}
.visitor-table th,.visitor-table td{padding-left:16px;padding-right:16px;}
.visitor-table th:nth-child(1){width:120px}.visitor-table th:nth-child(2){width:150px}.visitor-table th:nth-child(3){width:150px}.visitor-table th:nth-child(4){width:145px}.visitor-table th:nth-child(5){width:auto}.visitor-table th:nth-child(6){width:105px}.visitor-table th:nth-child(7){width:75px}.visitor-table th:nth-child(8){width:180px}
@media(max-width:1100px){
  .visitor-filter{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .visitor-log-section{width:100%;margin-left:0;}
  .visitor-filter{grid-template-columns:1fr;}
  .visitor-table{min-width:1120px;}
}

/* Adminbereich: eigenständige, LKGER-inspirierte Architektur ohne Portal-Seitennavigation.
   Die bestehenden Ferienquartiere-Ostfriesland-Farben bleiben unverändert. */
.admin-shell{display:block;max-width:1180px;margin:0 auto;min-height:100vh;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 10px rgba(18,92,117,.04)}
.admin-shell .main{width:100%;background:#fff}
.admin-topbar{height:auto;display:block;padding:0;border-bottom:1px solid var(--line);background:#fff;position:relative}
.admin-brand{padding:18px 22px 15px;border-bottom:1px solid var(--line)}
.admin-brand strong{display:block;font-size:25px;line-height:1.2;color:var(--navy)}
.admin-brand span{display:block;margin-top:3px;color:var(--muted);font-size:14px}
.admin-nav{display:flex;align-items:center;gap:0;padding:0 18px;min-height:46px;overflow-x:auto;white-space:nowrap}
.admin-nav a{display:inline-flex;align-items:center;gap:7px;padding:12px 13px;color:var(--navy);text-decoration:none;font-size:14px;font-weight:700;border-bottom:2px solid transparent}
.admin-nav a:hover{background:#f5fbfd;color:var(--blue)}
.admin-nav a.is-active{color:var(--blue);border-bottom-color:var(--blue)}
.admin-nav a .fa{color:var(--blue)}
.admin-shell .content{max-width:none;width:100%;padding:0 22px 45px}
.admin-shell .page-title{display:none}
.admin-shell .form-card,.admin-shell .admin-section{width:100%}
.admin-shell .visitor-table-wrap{width:100%;overflow-x:auto}
.admin-shell .visitor-table{width:100%;min-width:920px}
@media(max-width:720px){
  .admin-shell{border-radius:0;border-left:0;border-right:0;max-width:none}
  .admin-brand{padding:15px 14px 12px}
  .admin-brand strong{font-size:21px}
  .admin-nav{padding:0 8px}
  .admin-nav a{padding:11px 9px;font-size:13px}
  .admin-shell .content{padding:0 12px 35px}
}

@media (max-width:1100px) and (min-width:761px){
 .visitor-table th,.visitor-table td{padding-left:8px;padding-right:8px}
 .visitor-table th{font-size:10px}
 .visitor-table th .fa{margin-right:4px}
 .visitor-table code,.visitor-referrer-cell,.visitor-status{font-size:11px}
 .visitor-whois{padding-left:7px!important;padding-right:7px!important}
 .visitor-whois span{display:none}
 .visitor-action-button span{display:none}
 .visitor-block-form select{width:64px;font-size:9px}
}
@media (max-width:760px){
 .visitor-table-wrap{overflow-x:auto}
 .visitor-table{min-width:980px;table-layout:fixed}
}

/* Besucherstatistik – kompakte Aktions-Dropdowns */
.visitor-log-section .visitor-table-wrap{overflow:visible;}
.visitor-log-section .visitor-table{overflow:visible;}
.visitor-actions{position:relative;width:58px!important;min-width:58px!important;text-align:center!important;padding-left:8px!important;padding-right:8px!important;}
.visitor-action-menu{position:relative;display:inline-block;}
.visitor-action-trigger{list-style:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0 auto;border:1px solid #d4e8ef;border-radius:8px;background:#fff;color:var(--blue);cursor:pointer;box-shadow:0 2px 6px rgba(20,76,103,.06);transition:all .16s ease;}
.visitor-action-trigger::-webkit-details-marker{display:none;}
.visitor-action-trigger:hover,.visitor-action-menu[open] .visitor-action-trigger{background:#eef8fb;border-color:#b9dce8;transform:translateY(-1px);}
.visitor-action-trigger .fa{font-size:16px;}
.visitor-action-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:1000;width:215px;padding:10px;border:1px solid #d4e8ef;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(20,76,103,.16);}
.visitor-action-popover form{margin:0;}
.visitor-menu-label{display:flex;flex-direction:column;gap:6px;margin:0 0 9px!important;color:var(--navy);font-size:12px;font-weight:700;}
.visitor-menu-label>span{display:inline-flex;align-items:center;gap:6px;}
.visitor-menu-label .fa{color:var(--blue);}
.visitor-menu-label select{width:100%;min-height:38px;padding:8px 30px 8px 10px;border:1px solid #cfe4ec;border-radius:7px;background:#fff;color:var(--navy);font:inherit;font-size:13px;}
.visitor-menu-button{width:100%;min-height:40px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:9px 11px;border:1px solid #cfe4ec;border-radius:7px;background:#fff;color:var(--blue);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.visitor-menu-button:hover{background:#eef8fb;border-color:#b9dce8;}
.visitor-menu-button.visitor-menu-danger{color:#9a3b35;border-color:#ecd3d0;}
.visitor-menu-button.visitor-menu-danger:hover{background:#fff5f4;border-color:#e4b8b3;}
@media(max-width:600px){.visitor-action-popover{position:fixed;right:12px;top:auto;width:220px;}.visitor-actions{min-width:58px!important;width:58px!important;}}

/* Benutzer & Moderation – kompakte Admin-Tabelle */
.admin-moderation-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-moderation-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed}.admin-moderation-table th{padding:12px 13px;background:#eef8fb;border-bottom:1px solid var(--line);color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}.admin-moderation-table th i{color:var(--blue);margin-right:6px}.admin-moderation-table td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:middle;color:#47616a;font-size:13px}.admin-moderation-table tbody tr:last-child td{border-bottom:0}.admin-moderation-table tbody tr:nth-child(even){background:#fbfeff}.admin-moderation-table tbody tr:hover{background:#f4fbfd}.mod-user{width:24%}.mod-contact{width:24%}.mod-ip{width:18%}.mod-status{width:24%}.mod-actions{width:10%}.mod-user-cell{display:flex;align-items:center;gap:10px;min-width:0}.mod-user-cell .admin-user-icon{width:36px;height:36px;flex:0 0 36px}.mod-user-cell strong{display:block;color:var(--navy);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-user-cell span,.mod-user-cell small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.mod-email{display:block;color:var(--blue);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod-email:hover{text-decoration:none}.mod-email i{margin-right:5px}.mod-ip-cell code{font-size:12px;color:var(--navy);white-space:nowrap}.mod-status-list{display:flex;flex-wrap:wrap;gap:5px}.mod-status-list .admin-status{font-size:11px;padding:5px 8px}.mod-actions-cell{text-align:center}.mod-action-menu{position:relative;display:inline-block}.mod-action-trigger{list-style:none;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--blue);cursor:pointer;box-shadow:0 2px 7px rgba(25,99,121,.06)}.mod-action-trigger::-webkit-details-marker{display:none}.mod-action-trigger:hover{background:#eef8fb}.mod-action-popover{position:absolute;right:0;top:44px;z-index:30;width:245px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(25,99,121,.16);text-align:left}.mod-action-popover form{margin:0}.mod-menu-button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff;color:var(--navy);font:inherit;font-size:13px;text-align:left;cursor:pointer}.mod-menu-button:hover{background:#eef8fb}.mod-menu-danger{color:#9a4c47}.mod-menu-inline label{display:flex;align-items:center;gap:7px;padding:4px 8px;color:var(--muted);font-size:12px}.mod-menu-inline select{flex:1;height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font:inherit;padding:0 7px}.mod-protected-icon{color:#4f875a;font-size:18px}.admin-moderation-table .muted{font-size:12px}
@media(max-width:900px){.admin-moderation-table{min-width:820px}.mod-contact{width:22%}.mod-status{width:22%}.mod-actions{width:11%}}

/* Premium-Account-Verwaltung – kompakte Tabellenansicht */
.premium-admin-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.premium-admin-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.premium-admin-table th{padding:12px 14px;background:#eef8fb;border-bottom:1px solid var(--line);color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}
.premium-admin-table th i{color:var(--blue);margin-right:6px}
.premium-admin-table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;color:#47616a;font-size:13px}
.premium-admin-table tbody tr:last-child td{border-bottom:0}
.premium-admin-table tbody tr:nth-child(even){background:#fbfeff}
.premium-admin-table tbody tr:hover{background:#f4fbfd}
.premium-user{width:27%}.premium-status{width:20%}.premium-validity{width:18%}.premium-objects{width:15%}.premium-actions{width:20%}
.premium-user-cell{display:flex;align-items:center;gap:11px;min-width:0}
.premium-user-cell .admin-user-icon{width:38px;height:38px;flex:0 0 38px}
.premium-user-cell strong{display:block;color:var(--navy);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.premium-user-cell span{display:block;color:var(--muted);font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.premium-user-cell span i{color:var(--blue);margin-right:4px}
.premium-user-cell small{display:block;color:#7a9097;font-size:11px;margin-top:2px}
.premium-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.premium-status-cell .admin-status{white-space:nowrap}
.premium-status-cell .admin-status i{margin-right:3px}
.premium-note{font-size:11px;color:#9b7737}
.premium-note.expired{color:#a45a52}
.premium-field-cell label{display:block;margin:0}
.premium-field-cell label>span{display:block;color:var(--muted);font-size:11px;font-weight:700;margin:0 0 5px}
.premium-field-cell input{width:100%;min-height:40px;margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font:inherit;box-sizing:border-box}
.premium-field-cell input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,118,166,.12)}
.premium-validity-note{display:block;margin-top:5px;color:var(--muted);font-size:11px;white-space:nowrap}
.premium-validity-note i{color:var(--blue);margin-right:3px}
.premium-actions-cell{text-align:right}
.premium-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.premium-action-buttons form{margin:0}
.premium-action-buttons .button{min-height:40px;padding:9px 12px;white-space:nowrap}
.premium-admin-help{margin:13px 2px 0;color:var(--muted);font-size:12px}
.premium-admin-help i{color:var(--blue);margin-right:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.premium-admin-table{min-width:860px}.premium-user{width:26%}.premium-status{width:20%}.premium-validity{width:18%}.premium-objects{width:14%}.premium-actions{width:22%}}

/* PayPal-Buchungsformular */
.booking-page{max-width:1120px;margin:0 auto;padding-bottom:40px}.booking-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:20px;padding:28px 30px;border:1px solid #cfe5ea;border-radius:20px;background:linear-gradient(135deg,#eefbfe 0%,#f8fcf8 100%)}.booking-head h2{margin:3px 0 8px;color:var(--navy);font-size:32px}.booking-head p{margin:0;max-width:820px;color:var(--muted)}.booking-head-icon{font-size:52px;color:var(--blue);padding:8px}.booking-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:20px}.booking-form-card,.booking-summary{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:26px}.booking-form-card h3,.booking-summary h3{margin:0 0 6px;color:var(--navy)}.booking-form-card .section-head p{margin:0 0 18px;color:var(--muted)}.booking-form label{display:flex;flex-direction:column;gap:7px;margin:0 0 16px;font-weight:700;color:var(--navy)}.booking-form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;box-sizing:border-box}.booking-form-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px;font-weight:600!important;color:var(--muted)!important}.booking-form-check input{width:auto;margin-top:3px}.booking-paypal-box{margin-top:22px;padding:20px;border:1px solid #d5e8ed;border-radius:16px;background:#fafdfe}.booking-paypal-box h3{font-size:20px}.booking-paypal-box p{color:var(--muted);font-size:13px;margin:4px 0 16px}.booking-plan-name{font-size:24px;font-weight:800;color:var(--navy);margin-top:12px}.booking-summary-price{display:flex;align-items:baseline;gap:8px;margin:8px 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.booking-summary-price strong{font-size:34px;color:var(--blue)}.booking-summary-price span{color:var(--muted);font-size:13px}.booking-summary-list{display:grid;gap:12px}.booking-summary-list div{display:flex;align-items:flex-start;gap:10px;color:var(--navy)}.booking-summary-list i{width:18px;color:var(--blue);margin-top:2px}.booking-success{margin-bottom:18px}.booking-success a{margin-left:8px}.payment-table small{display:block;color:var(--muted);margin-top:3px}.payment-table code{font-size:11px;word-break:break-all}.payment-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#f2f5f6;color:#60757d}.payment-status.paid{background:#eaf7ef;color:#438052}.payment-status.created{background:#fff7e5;color:#8b6a26}.payment-status.error{background:#fff0ef;color:#a14e48}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-head{display:block}.booking-head-icon{display:none}}
@media(max-width:600px){.booking-page{padding-bottom:25px}.booking-head{padding:22px 18px}.booking-head h2{font-size:26px}.booking-form-card,.booking-summary{padding:18px}.booking-form .two{grid-template-columns:1fr;gap:0}.payment-table{min-width:900px}}


/* PayPal-Admin-Einstellungen */
.paypal-settings-form .admin-create-user-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.paypal-settings-form select,.paypal-settings-form input{width:100%;}
.paypal-settings-section .admin-section-head p{max-width:820px;}
@media(max-width:760px){.paypal-settings-form .admin-create-user-grid{grid-template-columns:1fr;}}

/* 1.0.106 – Rechtstexte und Datenschutz-Update */
.booking-page{max-width:1120px;margin:0 auto;padding:0 0 48px}
.booking-head{position:relative;display:flex;justify-content:space-between;gap:28px;align-items:center;margin:8px 0 22px;padding:30px 34px;border:1px solid #cfe5ea;border-radius:20px;background:linear-gradient(135deg,#eaf9fc 0%,#f8fcf8 100%);box-shadow:0 6px 20px rgba(25,99,121,.06);overflow:hidden}
.booking-head:after{content:"";position:absolute;right:-45px;bottom:-75px;width:190px;height:190px;border-radius:50%;background:rgba(105,201,232,.12);pointer-events:none}
.booking-head h2{margin:2px 0 7px;color:var(--navy);font-size:32px;line-height:1.15}
.booking-head p{margin:0;max-width:760px;color:var(--muted);line-height:1.55}
.booking-head .hero-kicker{margin-bottom:6px}
.booking-head-icon{position:relative;z-index:1;flex:0 0 64px;width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#fff;color:var(--blue);font-size:35px;box-shadow:0 7px 18px rgba(18,92,117,.10)}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.72fr);gap:22px;align-items:start}
.booking-form-card,.booking-summary{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 22px rgba(18,92,117,.07);padding:28px}
.booking-form-card .section-head{display:flex;align-items:flex-start;margin:0 0 22px;padding-bottom:17px;border-bottom:1px solid #e3eff2}
.booking-form-card .section-head h3{font-size:22px;margin:0 0 4px;color:var(--navy)}
.booking-form-card .section-head h3 .fa{color:var(--blue);margin-right:7px}
.booking-form-card .section-head p{margin:0;color:var(--muted);font-size:14px}
.booking-form label{display:flex;flex-direction:column;gap:7px;margin:0 0 17px;font-weight:700;color:var(--navy);font-size:14px}
.booking-form label>span{display:block}
.booking-form label>span .fa{width:17px;color:var(--blue);margin-right:4px;text-align:center}
.booking-form label small{font-weight:400;color:var(--muted);font-size:12px;margin-left:3px}
.booking-form .two{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfe2e8;border-radius:11px;background:#fff;padding:12px 13px;font:inherit;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#78bfd3;box-shadow:0 0 0 3px rgba(105,201,232,.15);background:#fcfeff}
.booking-form select{appearance:auto;min-height:46px;font-weight:600}
.booking-form textarea{min-height:112px;resize:vertical;line-height:1.45}
.booking-plan-field{margin-bottom:20px!important}
.booking-plan-field select{font-weight:700;color:var(--navy);background:#f9fdfe}
.booking-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;margin:4px 0 20px!important;padding:13px 14px;border:1px solid #dcebef;border-radius:11px;background:#f8fcfd;font-weight:600!important;color:#506d77!important;line-height:1.45}
.booking-check input{width:18px!important;min-width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--blue)}
.booking-check span{flex:1}
.booking-check a{color:var(--blue);font-weight:700;text-decoration:none}
.booking-check a:hover{text-decoration:underline}
.booking-paypal-box{margin-top:8px;padding:20px;border:1px solid #cfe3e8;border-radius:16px;background:linear-gradient(135deg,#f8fdfe,#f4faf7);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.booking-paypal-box h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;color:var(--navy);font-size:20px}
.booking-paypal-box h3 .fa{color:#0070ba;font-size:22px}
.booking-paypal-box p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.5}
#paypal-button-container{max-width:100%;min-height:45px}
#paypal-button-container iframe{max-width:100%!important}
#paypal-message{margin-top:10px}
.booking-summary{position:sticky;top:92px;padding:24px}
.booking-summary .hero-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.booking-summary h3{margin:0;color:var(--navy);font-size:22px}
.booking-plan-name{font-size:25px;font-weight:800;color:var(--navy);margin-top:14px}
.booking-summary-price{display:flex;align-items:baseline;gap:7px;margin:5px 0 20px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.booking-summary-price strong{font-size:35px;line-height:1;color:var(--blue)}
.booking-summary-price span{color:var(--muted);font-size:13px}
.booking-summary-list{display:grid;gap:0}
.booking-summary-list div{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid #edf3f5;color:var(--navy);font-size:14px}
.booking-summary-list div:last-child{border-bottom:0}
.booking-summary-list i{width:18px;color:var(--blue);margin-top:3px;text-align:center}
.booking-summary:after{content:"Sichere Zahlung über PayPal";display:block;margin-top:18px;padding:10px 12px;border-radius:10px;background:#eef8fb;color:#4f717b;font-size:12px;text-align:center;font-weight:600}
.booking-success{margin-bottom:18px;border:1px solid #cde7d3}
.notice.warning{margin-bottom:18px}
@media(max-width:900px){
 .booking-grid{grid-template-columns:1fr}
 .booking-summary{position:static;order:-1}
 .booking-head{display:block}
 .booking-head-icon{position:absolute;right:24px;top:24px}
 .booking-head h2{padding-right:80px}
}
@media(max-width:600px){
 .booking-page{padding:0 0 25px}
 .booking-head{margin:4px 0 15px;padding:22px 18px;border-radius:15px}
 .booking-head h2{font-size:26px;padding-right:0}
 .booking-head p{font-size:14px}
 .booking-head-icon{display:none}
 .booking-form-card,.booking-summary{padding:18px;border-radius:15px}
 .booking-form .two{grid-template-columns:1fr;gap:0}
 .booking-paypal-box{padding:16px}
 .booking-summary{order:-1}
}

/* 1.0.108 – Mobiles Hauptmenü / Hamburger */
.hamburger-button{display:none;position:relative;flex:0 0 44px;width:44px;height:44px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#eef8fb;color:var(--blue);cursor:pointer;box-shadow:0 3px 10px rgba(18,92,117,.07);z-index:60}
.hamburger-button span{display:block;width:22px;height:2px;margin:4px auto;border-radius:3px;background:var(--blue);transition:transform .2s ease,opacity .2s ease}
.hamburger-button.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger-button.is-open span:nth-child(2){opacity:0}
.hamburger-button.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu-backdrop{display:none}
.mobile-menu-close{display:none}
@media(max-width:760px){
 .site-shell{display:block;max-width:none;min-height:100vh}
 .topbar{height:64px;padding:0 12px;gap:9px;position:sticky;top:0;z-index:70}
 .hamburger-button{display:block}
 .mobile-logo{display:block;flex:0 0 auto;line-height:0}
 .mobile-logo img{width:88px;max-height:48px;object-fit:contain}
 .searchbar{height:42px;padding:0 12px;gap:7px;border-radius:21px}
 .searchbar input{font-size:14px}
 .toplinks{gap:6px;margin-left:auto}
 .toplinks a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:18px}
 .sidebar{position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);height:100dvh;padding:18px 14px 20px;background:#fff;border-right:1px solid var(--line);box-shadow:12px 0 32px rgba(17,66,82,.16);z-index:100;transform:translateX(-105%);transition:transform .24s ease;overflow-y:auto;overscroll-behavior:contain}
 .sidebar.is-open{transform:translateX(0)}
 .sidebar .brand{margin:4px auto 18px;padding:4px 12px 12px;border-bottom:1px solid #edf4f6}
 .sidebar .brand img{width:190px;max-width:82%}
 .sidebar nav{gap:4px}
 .sidebar nav a{min-height:48px;padding:12px 13px;border-radius:11px;font-size:16px}
 .sidebar nav a:active{background:#eaf8fc;color:var(--blue)}
 .sidebar-note{padding:20px 10px 8px}
 .sidebar-note img{max-width:185px}
 .mobile-menu-close{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;margin:0 0 10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#f7fcfd;color:var(--navy);font:600 14px inherit;cursor:pointer}
 .mobile-menu-close i{color:var(--blue)}
 .mobile-menu-backdrop{display:block;position:fixed;inset:0;background:rgba(11,49,63,.42);z-index:90;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
 .mobile-menu-backdrop.is-visible{opacity:1;visibility:visible}
 body.mobile-menu-open{overflow:hidden}
 .content{padding-left:14px;padding-right:14px}
}

/* 1.0.109 – Benutzer im Adminbereich bearbeiten */
.admin-user-edit-details{margin:0 0 8px;border-bottom:1px solid #e6f0f3;padding-bottom:8px}
.admin-user-edit-details>summary{list-style:none;cursor:pointer}
.admin-user-edit-details>summary::-webkit-details-marker{display:none}
.admin-edit-trigger{width:100%;text-align:left;display:flex;align-items:center;gap:8px}
.admin-user-edit-form{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid #dcebef;border-radius:11px;background:#f8fcfd}
.admin-user-edit-form label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--navy)}
.admin-user-edit-form label span{font-weight:500;color:var(--muted)}
.admin-user-edit-form input{width:100%;min-width:0;padding:9px 10px;border:1px solid #cfe2e8;border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-size:13px}
.admin-user-edit-form input:focus{outline:2px solid rgba(0,125,170,.16);border-color:var(--blue)}
.admin-edit-save{justify-content:center!important;margin-top:2px!important}
@media(max-width:760px){
 .admin-user-edit-form{padding:11px}
 .admin-user-edit-form input{font-size:16px}
}

/* 1.0.110 – Mobile-Menü korrigiert: vertikale Navigation und sichtbare Beschriftungen */
@media(max-width:760px){
 .sidebar nav{display:flex!important;flex-direction:column!important;align-items:stretch;justify-content:flex-start;gap:5px!important;height:auto!important}
 .sidebar nav a{display:flex!important;flex:0 0 auto!important;align-items:center;justify-content:flex-start!important;gap:13px!important;min-height:48px;padding:12px 13px!important;font-size:16px!important;line-height:1.3}
 .sidebar nav a i{display:inline-block!important;flex:0 0 24px;width:24px;text-align:center;font-size:18px!important;color:var(--blue)}
 .sidebar nav a span{display:inline!important;visibility:visible!important;color:inherit}
 .sidebar .brand{display:block!important}
 .sidebar-note{display:block!important;margin-top:auto!important}
 .sidebar-note img{display:block!important}
 .mobile-menu-close{min-height:44px}
}

/* 1.0.112 – Benutzerbearbeitung: sichtbarer und nicht durch Tabellen-Overflow verdeckt */
.mod-action-popover{overflow:visible}
.mod-menu-button.admin-edit-trigger{color:var(--navy)!important;background:#fff!important;font-weight:600;opacity:1!important;visibility:visible!important;filter:none!important}
.mod-menu-button.admin-edit-trigger i{color:var(--blue)!important;flex:0 0 auto}
.mod-menu-button.admin-edit-trigger:hover{background:#eef8fb!important;color:var(--blue)!important}
.admin-user-edit-dialogs{position:fixed;inset:0;z-index:500;pointer-events:none}
.admin-user-edit-dialogs .admin-user-edit-dialog{pointer-events:auto}
.admin-user-edit-dialog[open]{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}
@media(max-width:760px){
 .admin-user-edit-dialog[open]{top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow:auto}
}

/* 1.0.111 – Benutzerbearbeitung als übersichtlicher Dialog */
.admin-user-edit-details{display:none!important}
.admin-user-edit-trigger{width:100%;justify-content:flex-start!important;text-align:left;cursor:pointer}
.admin-user-edit-dialogs{position:relative;z-index:300}
.admin-user-edit-dialog{width:min(720px,calc(100vw - 32px));max-width:720px;border:1px solid #cfe4ea;border-radius:18px;padding:0;background:#fff;color:var(--navy);box-shadow:0 24px 70px rgba(10,61,78,.28);overflow:hidden}
.admin-user-edit-dialog::backdrop{background:rgba(7,42,54,.52);backdrop-filter:blur(2px)}
.admin-user-edit-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 17px;background:linear-gradient(135deg,#eefafd,#f9fcfd);border-bottom:1px solid #dcecf0}
.admin-user-edit-dialog-head h3{margin:3px 0 4px;font-size:22px;color:var(--navy)}
.admin-user-edit-dialog-head h3 i{color:var(--blue);margin-right:7px}
.admin-user-edit-dialog-head p{margin:0;color:var(--muted);font-size:13px}
.admin-dialog-close{width:38px;height:38px;flex:0 0 38px;border:1px solid #cfe2e8;border-radius:10px;background:#fff;color:var(--navy);cursor:pointer;font-size:17px}
.admin-dialog-close:hover{background:#eef8fb;color:var(--blue)}
.admin-user-edit-dialog .admin-user-edit-form{display:block;margin:0;padding:22px 24px 20px;border:0;border-radius:0;background:#fff}
.admin-user-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-user-edit-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--navy)}
.admin-user-edit-form label>span{display:block;color:var(--navy)}
.admin-user-edit-form label>span i{width:18px;color:var(--blue);margin-right:4px}
.admin-user-edit-form label em{font-style:normal;font-weight:500;color:var(--muted)}
.admin-user-edit-form input{box-sizing:border-box;width:100%;min-width:0;padding:12px 13px;border:1px solid #cfe2e8;border-radius:10px;background:#fff;color:var(--navy);font:inherit;font-size:14px;box-shadow:inset 0 1px 2px rgba(15,70,88,.03)}
.admin-user-edit-form input:focus{outline:3px solid rgba(0,125,170,.12);border-color:var(--blue)}
.admin-user-edit-form small{font-size:11px;font-weight:500;color:var(--muted);line-height:1.35}
.admin-user-edit-wide{grid-column:1 / -1}
.admin-user-edit-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding-top:16px;border-top:1px solid #e5f0f3}
.admin-user-edit-dialog-foot>span{font-size:11px;color:var(--muted);line-height:1.4;max-width:50%}
.admin-user-edit-dialog-foot>span i{color:var(--blue);margin-right:4px}
.admin-user-edit-dialog-foot>div{display:flex;gap:9px;align-items:center}
@media(max-width:760px){
 .admin-user-edit-dialog{width:calc(100vw - 20px);border-radius:14px}
 .admin-user-edit-dialog-head{padding:18px 16px 14px}
 .admin-user-edit-dialog-head h3{font-size:19px}
 .admin-user-edit-dialog .admin-user-edit-form{padding:17px 16px 16px}
 .admin-user-edit-grid{grid-template-columns:1fr;gap:13px}
 .admin-user-edit-wide{grid-column:auto}
 .admin-user-edit-dialog-foot{align-items:stretch;flex-direction:column;gap:12px}
 .admin-user-edit-dialog-foot>span{max-width:none}
 .admin-user-edit-dialog-foot>div{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .admin-user-edit-dialog-foot button{width:100%;justify-content:center}
}

/* 1.0.113 – Moderation direkt im Benutzer-Bearbeitungs-Popup */
.admin-user-edit-moderation{margin:0 24px 20px;padding:18px;border:1px solid #d8e9ee;border-radius:14px;background:#f7fbfc}
.admin-user-edit-section-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;color:var(--navy)}
.admin-user-edit-section-title>i{color:var(--blue);font-size:18px;margin-top:2px}
.admin-user-edit-section-title strong{display:block;font-size:15px}
.admin-user-edit-section-title small{display:block;margin-top:3px;color:var(--muted);font-weight:500;font-size:11px}
.admin-edit-moderation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-edit-moderation-card{padding:14px;border:1px solid #d9e9ee;border-radius:12px;background:#fff}
.admin-edit-moderation-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--navy);font-weight:700;font-size:13px}
.admin-edit-moderation-card-head i{color:var(--blue);margin-right:5px}
.admin-edit-moderation-card p{margin:7px 0 11px;color:var(--muted);font-size:11px;line-height:1.45}
.admin-edit-moderation-card code{font-size:11px}
.admin-edit-lock-status,.admin-edit-unlock-status{padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700}
.admin-edit-lock-status{background:#fff0f0;color:#b3261e}
.admin-edit-unlock-status{background:#eaf8ef;color:#34804b}
.admin-edit-moderation-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;align-items:center}
.admin-edit-moderation-form select{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cfe2e8;border-radius:9px;background:#fff;color:var(--navy);font:inherit;font-size:12px}
.admin-edit-mod-button{white-space:nowrap;min-height:40px}
.admin-edit-mod-danger{background:#b33b34!important;border-color:#b33b34!important;color:#fff!important}
.admin-edit-protected-note{padding:11px 13px;border-radius:10px;background:#eef4f6;color:#5e7680;font-size:12px;line-height:1.45}
.admin-edit-protected-note i{color:#718891;margin-right:5px}
@media (max-width:760px){
 .admin-user-edit-moderation{margin:0 16px 16px;padding:14px}
 .admin-edit-moderation-grid{grid-template-columns:1fr}
 .admin-edit-moderation-form{grid-template-columns:1fr}
 .admin-edit-mod-button{width:100%;justify-content:center}
}

/* 1.0.114 – Popup-Fix: Benutzerbearbeitung */
.admin-user-edit-dialog[open]{
  display:block !important;
  position:fixed !important;
  z-index:10001 !important;
  top:50% !important;
  left:50% !important;
  margin:0 !important;
  transform:translate(-50%,-50%) !important;
}
.admin-user-edit-dialog.is-open-fallback{
  position:fixed !important;
  inset:auto !important;
}
.admin-user-edit-dialog::backdrop{
  z-index:10000;
}


/* 1.0.115 – Robustes Benutzer-Modal ohne natives dialog-Element */
body.admin-user-modal-open{overflow:hidden}
.admin-user-edit-modals{position:static!important}
.admin-user-edit-modal{display:none;position:fixed!important;inset:0!important;width:100%!important;height:100%!important;z-index:99999!important;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.admin-user-edit-modal.is-open{display:flex!important}
.admin-user-edit-modal-backdrop{position:absolute;inset:0;background:rgba(7,42,54,.58);backdrop-filter:blur(2px);cursor:pointer}
.admin-user-edit-modal-box{position:relative;z-index:2;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid #cfe4ea;border-radius:18px;background:#fff;color:var(--navy);box-shadow:0 24px 70px rgba(10,61,78,.32);animation:adminUserModalIn .16s ease-out}
@keyframes adminUserModalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.admin-user-edit-modal .admin-user-edit-dialog-head{position:sticky;top:0;z-index:3}
.admin-user-edit-modal .admin-user-edit-form{display:block;margin:0;padding:22px 24px 20px;border:0;border-radius:0;background:#fff}
.admin-user-edit-modal .admin-user-edit-moderation{margin:0 24px 20px}
.admin-user-edit-modal .admin-user-edit-dialog-foot{padding:16px 24px 22px;margin:0;background:#fff;position:sticky;bottom:0;z-index:3}
.admin-edit-delete-card{grid-column:1 / -1}
.admin-edit-delete-card p{margin-bottom:11px}
@media(max-width:760px){
 .admin-user-edit-modal{padding:10px}
 .admin-user-edit-modal-box{width:100%;max-height:calc(100vh - 20px);border-radius:14px}
 .admin-user-edit-modal .admin-user-edit-dialog-head{position:relative}
 .admin-user-edit-modal .admin-user-edit-form{padding:17px 16px 16px}
 .admin-user-edit-modal .admin-user-edit-moderation{margin:0 16px 16px}
 .admin-user-edit-modal .admin-user-edit-dialog-foot{position:relative;padding:14px 16px 17px}
 .admin-edit-delete-card{grid-column:auto}
}


/* 1.0.116 – DEFINITIVER POPUP-FIX
   Das Modal wird per JS direkt unter body abgelegt. Dadurch wirken keine
   Overflow-/Transform-Container der Benutzerverwaltung mehr auf das Popup. */
body.admin-user-modal-open{overflow:hidden!important}
.admin-user-edit-modals{display:none!important}
body > .admin-user-edit-modal{display:none!important;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:2147483000!important;align-items:center!important;justify-content:center!important;padding:20px!important;box-sizing:border-box!important;margin:0!important;visibility:hidden!important;opacity:0!important}
body > .admin-user-edit-modal.is-open{display:flex!important;visibility:visible!important;opacity:1!important}
body > .admin-user-edit-modal .admin-user-edit-modal-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:rgba(7,42,54,.62)!important;z-index:0!important}
body > .admin-user-edit-modal .admin-user-edit-modal-box{position:relative!important;z-index:1!important;width:min(760px,calc(100vw - 40px))!important;max-width:760px!important;max-height:calc(100vh - 40px)!important;overflow:auto!important;margin:0!important;background:#fff!important}
@media(max-width:760px){body > .admin-user-edit-modal{padding:10px!important}body > .admin-user-edit-modal .admin-user-edit-modal-box{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}}

/* 1.0.117 – Drei-Punkte-Button öffnet das Benutzer-Popup direkt */
.mod-action-trigger.admin-user-direct-trigger{cursor:pointer!important}
.mod-action-menu:has(.admin-user-direct-trigger[aria-expanded="true"]) .mod-action-popover{display:none!important}


/* 1.0.118 – Buchungsanfrage als modernes Modal für Urlauber */
body.booking-modal-open{overflow:hidden}
.request-box .booking-open{background:var(--blue);color:#fff;border-color:var(--blue);white-space:nowrap}
.request-box .booking-open:hover{filter:brightness(.96)}
.booking-flash{display:flex;align-items:flex-start;gap:9px;margin:15px 0;padding:13px 15px;border-radius:11px;font-size:14px}
.booking-flash.success{background:#eaf8ef;border:1px solid #c7ead4;color:#287247}
.booking-flash.error{background:#fff4f1;border:1px solid #f0cfc7;color:#9b4034}
.booking-modal{display:none;position:fixed;inset:0;z-index:10000}
.booking-modal.is-open{display:block}
.booking-modal-backdrop{position:absolute;inset:0;background:rgba(9,39,53,.68);backdrop-filter:blur(5px)}
.booking-modal-dialog{position:relative;width:min(860px,calc(100vw - 34px));max-height:calc(100vh - 34px);overflow:auto;margin:17px auto;background:#fff;border:1px solid #d8e9ee;border-radius:18px;box-shadow:0 22px 70px rgba(0,38,54,.28);z-index:2}
.booking-modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:21px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.1);z-index:3}
.booking-modal-head{display:flex;justify-content:space-between;gap:20px;padding:27px 68px 22px 30px;background:linear-gradient(135deg,#eef9fb,#f5fbf7);border-radius:18px 18px 0 0;border-bottom:1px solid #dbecef}
.booking-modal-head .eyebrow{display:block;color:var(--blue);font-weight:700;margin-bottom:5px}
.booking-modal-head h2{margin:0 0 7px;color:var(--navy);font-size:30px}
.booking-modal-head p{margin:0;color:#607e89}
.booking-modal-icon{font-size:64px;color:var(--blue);align-self:center;opacity:.9}
.booking-accommodation{display:flex;align-items:center;gap:14px;margin:20px 30px;padding:16px;border:1px solid #d8e9ee;border-radius:13px;background:#f7fcfd}
.booking-accommodation-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:#e5f5f9;color:var(--blue);font-size:22px}
.booking-accommodation div{display:flex;flex-direction:column;gap:2px}.booking-accommodation strong{font-size:17px;color:var(--navy)}.booking-accommodation span,.booking-accommodation small{color:#607e89}
.booking-form{padding:0 30px 28px}.booking-form fieldset{margin:0 0 20px;padding:0;border:0}.booking-form legend{display:block;margin-bottom:12px;color:var(--navy);font-size:17px;font-weight:700}.booking-form legend .fa{color:var(--blue);margin-right:7px}.booking-form legend small{font-weight:400;color:#71868d}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form label{display:block;color:var(--navy);font-weight:600;font-size:13px}.booking-form label>span{color:#c44b3e}.booking-form label small{font-weight:400;color:#71868d}
.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #cfe3ea;border-radius:10px;background:#fff;color:var(--navy);font:inherit;font-weight:400;padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
.booking-form textarea{resize:vertical;min-height:120px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(9,130,177,.1)}
.booking-guests{max-width:50%}.booking-consent{display:flex!important;align-items:flex-start;gap:10px;margin:3px 0 20px;color:#526f7b!important;font-weight:400!important;line-height:1.45}.booking-consent input{width:17px;height:17px;margin:2px 0 0;flex:0 0 17px}.booking-consent strong{color:var(--navy)}
.booking-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid #e2edf0}.booking-modal-actions .button{min-width:145px;justify-content:center}.booking-submit{background:#168b68!important;border-color:#168b68!important;color:#fff!important}.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:700px){
 .booking-modal-dialog{width:calc(100vw - 14px);max-height:calc(100vh - 14px);margin:7px auto;border-radius:15px}
 .booking-modal-head{padding:22px 58px 18px 20px}.booking-modal-head h2{font-size:25px}.booking-modal-head p{font-size:13px}.booking-modal-icon{display:none}
 .booking-accommodation{margin:15px 20px;padding:13px}.booking-form{padding:0 20px 22px}.booking-grid{grid-template-columns:1fr;gap:12px}.booking-guests{max-width:none}
 .booking-modal-close{right:12px;top:12px}.booking-modal-actions{flex-direction:column-reverse}.booking-modal-actions .button{width:100%}
}

/* 1.0.119 – Buchungsanfrage: neues Design nach Designvorlage */
.booking-modal-dialog{width:min(780px,calc(100vw - 30px));max-height:calc(100vh - 24px);margin:12px auto;border-radius:18px;overflow:auto;border:1px solid #d4e6eb;background:#fff;box-shadow:0 28px 80px rgba(0,38,54,.34)}
.booking-modal-backdrop{background:rgba(7,35,48,.70);backdrop-filter:blur(6px)}
.booking-modal-head{position:relative;display:flex;justify-content:space-between;align-items:stretch;gap:20px;min-height:142px;padding:18px 28px 18px 28px;background:linear-gradient(100deg,rgba(238,249,251,.98),rgba(247,252,248,.96)),url('../assets/hero/leuchtturm.jpg') center/cover;border-bottom:1px solid #d7e9ed;overflow:hidden}
.booking-modal-head:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,253,254,.97) 0%,rgba(247,253,254,.90) 48%,rgba(247,253,254,.28) 100%);pointer-events:none}
.booking-modal-brand,.booking-modal-head-art{position:relative;z-index:1}
.booking-modal-brand{display:flex;align-items:center;gap:18px;min-width:0}
.booking-modal-brand img{width:190px;height:auto;max-height:92px;object-fit:contain;object-position:left center}
.booking-modal-brand>div{min-width:0}
.booking-modal-head .eyebrow{display:block;color:var(--blue);font-size:12px;font-weight:800;margin-bottom:4px}
.booking-modal-head h2{font-size:29px;margin:0 0 6px;color:var(--navy);line-height:1.1}
.booking-modal-head p{margin:0;max-width:500px;color:#557480;line-height:1.4;font-size:13px}
.booking-modal-head-art{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:150px;color:var(--navy);text-align:center}
.booking-modal-head-art span{font-family:"PlaywriteDESAS",cursive;font-size:18px;line-height:1.15;transform:rotate(-3deg);color:#075b7d}
.booking-modal-head-art .fa{font-size:44px;color:var(--blue);margin-top:5px}
.booking-modal-close{right:12px;top:12px;width:38px;height:38px;background:#fff;color:var(--navy);box-shadow:0 4px 14px rgba(0,0,0,.13);z-index:4}
.booking-accommodation{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 28px 14px;padding:13px 15px;border:1px solid #d4e7ed;border-radius:12px;background:#f4fbfd}
.booking-accommodation-main{display:flex;align-items:center;gap:12px;min-width:0}
.booking-accommodation-icon{width:48px;height:48px;flex:0 0 48px;background:#e3f4f8;color:var(--blue);font-size:21px}
.booking-accommodation-main div{display:flex;flex-direction:column;gap:2px;min-width:0}
.booking-accommodation strong{font-size:16px;color:var(--navy)}
.booking-accommodation span,.booking-accommodation small{color:#607d87;font-size:13px}
.booking-accommodation span .fa{color:var(--blue);margin-right:3px}
.booking-trust{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;min-width:190px;padding:9px 11px;border:1px solid #c9ead6;border-radius:10px;background:#f2fbf5;color:#28734c}
.booking-trust>.fa{grid-row:1 / span 2;font-size:25px}
.booking-trust strong{font-size:12px;line-height:1.2}.booking-trust small{font-size:10px;color:#5f7c6b;line-height:1.25}
.booking-form{padding:0 28px 22px}
.booking-form fieldset{margin:0 0 15px;padding:0;border:0}
.booking-form legend{margin-bottom:8px;font-size:16px}
.booking-form legend .fa{color:var(--blue);margin-right:6px}
.booking-form legend>span{color:#c44b3e}
.booking-grid{gap:11px 14px}
.booking-form label{font-size:12px}
.booking-form input,.booking-form select,.booking-form textarea{margin-top:4px;border-radius:9px;padding:10px 12px;font-size:13px}
.booking-form textarea{min-height:88px}
.booking-security{padding:12px 13px!important;margin-top:2px!important;border:1px solid #d4e7ed!important;border-radius:11px!important;background:#f7fbfc}
.booking-security legend{margin-bottom:2px}.booking-security p{margin:0 0 8px;color:#607d87;font-size:11px}
.booking-captcha{display:flex;align-items:center;gap:9px;min-height:38px}
.booking-captcha strong{font-size:16px;color:var(--navy);white-space:nowrap}
.booking-captcha input{width:62px!important;margin:0!important;text-align:center;font-weight:800;font-size:16px;padding:8px!important}
.booking-captcha span{margin-left:auto;padding:8px 10px;border-radius:8px;background:#eaf5f8;color:#50717c;font-size:11px;font-weight:700;white-space:nowrap}
.booking-captcha span .fa{color:var(--blue);margin-right:4px}
.booking-consent{margin:4px 0 13px!important;padding:10px 12px;border:1px solid #dcebef;border-radius:9px;background:#f8fcfd;font-size:11px!important}
.booking-consent input{margin-top:2px!important}
.booking-modal-actions{padding-top:12px}
.booking-modal-actions .button{min-height:42px;border-radius:9px;font-size:13px}
.booking-submit{background:#198c68!important;border-color:#198c68!important;box-shadow:0 5px 12px rgba(25,140,104,.18)}
.booking-modal-actions .secondary{background:#fff;border-color:#b9d3dc;color:var(--navy)}
@media(max-width:700px){
 .booking-modal-dialog{width:calc(100vw - 10px);max-height:calc(100vh - 10px);margin:5px auto;border-radius:14px}
 .booking-modal-head{padding:16px 48px 15px 18px;min-height:120px}.booking-modal-brand{gap:10px}.booking-modal-brand img{width:125px;max-height:62px}.booking-modal-head h2{font-size:23px}.booking-modal-head p{font-size:11px}.booking-modal-head-art{display:none}
 .booking-accommodation{margin:12px 18px;padding:10px;display:block}.booking-trust{margin-top:9px;min-width:0}.booking-form{padding:0 18px 18px}.booking-grid{grid-template-columns:1fr}.booking-captcha{flex-wrap:wrap}.booking-captcha span{margin-left:0}.booking-modal-actions{flex-direction:column-reverse}.booking-modal-actions .button{width:100%}
}
@font-face{font-family:"PlaywriteDESAS";src:url('../fonts/PlaywriteDESAS-VariableFont_wght.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
.booking-accommodation-photo{width:64px;height:52px;flex:0 0 64px;object-fit:cover;border-radius:9px;border:1px solid #d1e5eb;box-shadow:0 2px 8px rgba(17,80,99,.08)}
@media(max-width:700px){.booking-accommodation-photo{width:58px;height:48px;flex-basis:58px}}


/* 1.0.120 – Buchungsanfrage: Header-Fix und finale Designanpassung */
.booking-modal-dialog{
  position:relative;
  width:min(780px,calc(100vw - 30px));
  max-height:calc(100vh - 24px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.booking-modal-head{
  flex:0 0 auto;
  min-height:148px;
  padding:18px 78px 18px 28px;
  gap:16px;
  align-items:center;
  overflow:hidden;
}
.booking-modal-brand{flex:1 1 auto;min-width:0}
.booking-modal-brand img{width:180px;max-height:82px}
.booking-modal-head-art{
  flex:0 0 190px;
  min-width:190px;
  height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px 0 0;
}
.booking-modal-head-art img{
  display:block;
  width:190px;
  height:118px;
  object-fit:contain;
  margin:0;
}
.booking-modal-head-art .fa{display:none}
.booking-modal-close{
  position:absolute;
  right:12px;
  top:12px;
  width:38px;
  height:38px;
  z-index:20;
}
.booking-modal-dialog>.booking-modal-head,
.booking-modal-dialog>.booking-accommodation,
.booking-modal-dialog>.booking-form{position:relative;z-index:1}
.booking-modal-dialog>.booking-form{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.booking-modal-dialog>.booking-form::-webkit-scrollbar{width:8px}
.booking-modal-dialog>.booking-form::-webkit-scrollbar-thumb{background:#b9d7e1;border-radius:8px}
.booking-modal-dialog>.booking-form::-webkit-scrollbar-track{background:#f4fafc}
@media(max-width:700px){
  .booking-modal-dialog{width:calc(100vw - 10px);max-height:calc(100vh - 10px);margin:5px auto}
  .booking-modal-head{min-height:118px;padding:15px 52px 14px 16px;gap:10px}
  .booking-modal-brand{gap:9px}
  .booking-modal-brand img{width:116px;max-height:58px}
  .booking-modal-head h2{font-size:23px}
  .booking-modal-head p{font-size:11px;line-height:1.3}
  .booking-modal-head-art{display:block;flex:0 0 102px;min-width:102px;height:78px;padding:0}
  .booking-modal-head-art img{width:102px;height:78px;margin:0}
  .booking-modal-close{right:9px;top:9px;width:34px;height:34px}
}

/* 1.0.122 – Buchungsanfrage: Headergrafik sichtbar und sauber proportioniert */
.booking-modal-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 235px;
  align-items:center;
  gap:18px;
  min-height:164px;
  padding:18px 62px 18px 28px;
  background:linear-gradient(135deg,#f5fcfe 0%,#f8fcf8 100%);
}
.booking-modal-brand{min-width:0;display:flex;align-items:center;gap:16px}
.booking-modal-brand img{width:170px;max-height:82px;object-fit:contain}
.booking-modal-head-art{display:flex !important;align-items:center;justify-content:center;width:235px;height:130px;min-width:235px;padding:0}
.booking-modal-head-art img{width:235px;height:130px;max-width:none;object-fit:contain;display:block}
.booking-modal-head h2{font-size:29px;line-height:1.08;margin:0 0 6px}
.booking-modal-head p{font-size:13px;line-height:1.4;max-width:390px}
.booking-modal-close{right:12px;top:12px;z-index:50}
@media(max-width:700px){
 .booking-modal-head{grid-template-columns:minmax(0,1fr) 128px;gap:8px;min-height:132px;padding:14px 48px 13px 15px}
 .booking-modal-brand{gap:8px}
 .booking-modal-brand img{width:108px;max-height:55px}
 .booking-modal-head h2{font-size:22px}
 .booking-modal-head p{font-size:10.5px;line-height:1.28}
 .booking-modal-head-art{width:128px;min-width:128px;height:94px}
 .booking-modal-head-art img{width:128px;height:94px}
 .booking-modal-close{right:8px;top:8px;width:34px;height:34px}
}


/* 1.0.123 – Buchungsanfrage: finale Headergrafik + 4:3 Vermieter-Thumbnail */
.booking-modal-head-art{
  flex:0 0 245px !important;
  width:245px !important;
  min-width:245px !important;
  height:128px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  overflow:visible !important;
}
.booking-modal-head-art img{
  display:block !important;
  width:245px !important;
  height:128px !important;
  object-fit:contain !important;
  max-width:none !important;
  margin:0 !important;
}
.booking-accommodation-photo{
  width:72px !important;
  height:54px !important;
  flex:0 0 72px !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
  border-radius:9px !important;
}
@media(max-width:700px){
  .booking-modal-head{
    grid-template-columns:minmax(0,1fr) 118px !important;
    min-height:122px !important;
    padding:14px 48px 13px 16px !important;
    gap:7px !important;
  }
  .booking-modal-brand img{width:112px !important;max-height:56px !important}
  .booking-modal-head-art{
    display:flex !important;
    flex:0 0 118px !important;
    width:118px !important;
    min-width:118px !important;
    height:78px !important;
  }
  .booking-modal-head-art img{width:118px !important;height:78px !important}
  .booking-accommodation-photo{width:64px !important;height:48px !important;flex-basis:64px !important}
}

/* 1.0.125 – Buchungsanfrage: konsequentes Projekt-Design und neuer Formularabschluss */
.booking-modal-dialog{background:#fff;color:var(--navy);}
.booking-modal-head{background:linear-gradient(135deg,#eef9fb 0%,#f5fbf7 100%);border-bottom:1px solid #d8e9ee;}
.booking-accommodation{background:#f6fbfd;border-color:#cfe5ec;box-shadow:0 2px 10px rgba(12,83,105,.04)}
.booking-accommodation-photo{width:72px;height:54px;flex:0 0 72px;aspect-ratio:4/3;object-fit:cover;border-radius:9px}
.booking-form{background:#fff;padding:0 28px 0}
.booking-form fieldset:not(.booking-security){margin:0 0 18px;padding:16px 16px 17px;border:1px solid #d8e9ee;border-radius:13px;background:#fbfdfe;box-shadow:0 1px 5px rgba(17,80,99,.025)}
.booking-form fieldset:not(.booking-security) legend{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:0;color:var(--navy);font-size:16px;font-weight:800}
.booking-form fieldset:not(.booking-security) legend .fa{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e7f5f9;color:var(--blue);margin:0;font-size:13px}
.booking-grid{gap:13px 14px}
.booking-form input,.booking-form select,.booking-form textarea{background:#fff;border-color:#c9e0e8;border-radius:9px;min-height:42px}
.booking-form input:hover,.booking-form select:hover,.booking-form textarea:hover{border-color:#a9cbd7}
.booking-form textarea{min-height:104px}
.booking-security{margin:0 0 16px!important;padding:14px 15px!important;border:1px solid #cfe4eb!important;border-radius:13px!important;background:#f4fafc!important}
.booking-security legend{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:800}
.booking-security legend .fa{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e4f3f7;color:var(--blue);margin:0}
.booking-captcha{background:#fff;border:1px solid #d8e9ee;border-radius:9px;padding:9px 10px}
.booking-form-footer{margin:0 -28px;padding:17px 28px 16px;border-top:1px solid #d8e9ee;background:linear-gradient(180deg,#f4fafc 0%,#eef8fb 100%);box-shadow:0 -5px 18px rgba(14,78,99,.05)}
.booking-footer-notice{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;margin-bottom:10px;border:1px solid #cfe5ec;border-radius:11px;background:#fff}
.booking-footer-notice-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#e7f5f9;color:var(--blue)}
.booking-footer-notice strong{display:block;color:var(--navy);font-size:13px;margin-bottom:2px}
.booking-footer-notice span{display:block;color:#607d87;font-size:11px;line-height:1.4}
.booking-consent{display:flex!important;align-items:flex-start;gap:9px;margin:0 0 12px!important;padding:0!important;border:0!important;background:transparent!important;color:#4f6e79!important;font-size:11px!important;line-height:1.4}
.booking-consent input{width:17px!important;height:17px!important;min-height:17px!important;flex:0 0 17px;margin:1px 0 0!important;accent-color:var(--blue)}
.booking-modal-actions{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:0;border:0}
.booking-modal-actions .button{min-height:43px;border-radius:10px;font-size:13px;font-weight:700}
.booking-modal-actions .secondary{background:#fff;border:1px solid #bfd7df;color:var(--navy)}
.booking-submit{background:#198c68!important;border-color:#198c68!important;color:#fff!important;box-shadow:0 5px 14px rgba(25,140,104,.2)}
.booking-footer-legal{margin:9px 0 0;text-align:center;color:#76909a;font-size:10px}
.booking-footer-legal a{color:var(--blue);font-weight:700;text-decoration:none}
.booking-footer-legal a:hover{text-decoration:underline}
@media(max-width:700px){
 .booking-accommodation-photo{width:64px;height:48px;flex-basis:64px}
 .booking-form{padding:0 18px}
 .booking-form fieldset:not(.booking-security){padding:14px 13px 15px;border-radius:12px}
 .booking-form-footer{margin:0 -18px;padding:14px 18px 15px}
 .booking-modal-actions{grid-template-columns:1fr;gap:8px}
 .booking-modal-actions .button{width:100%}
 .booking-footer-notice{padding:10px 11px}
}
.booking-form-footer{position:sticky;bottom:0;z-index:5}


/* 1.0.126 – Buchungsanfrage: Header ohne Zusatzgrafik + konsistentes Projekt-Design */
.booking-modal-dialog{
  width:min(820px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  border:1px solid #cfe5ec;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 70px rgba(8,52,67,.28);
}
.booking-modal-head{
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr);
  align-items:center;
  gap:24px;
  min-height:148px;
  padding:22px 64px 22px 28px;
  background:linear-gradient(135deg,#eef9fb 0%,#f7fcfa 100%);
  border-bottom:1px solid #d6e9ee;
}
.booking-modal-brand{
  display:contents;
}
.booking-modal-brand img{
  grid-column:1;
  width:165px;
  max-width:165px;
  max-height:82px;
  object-fit:contain;
  align-self:center;
}
.booking-modal-brand > div{
  grid-column:2;
  min-width:0;
}
.booking-modal-head .eyebrow{
  display:block;
  margin-bottom:4px;
  color:#087eae;
  font-size:12px;
  font-weight:800;
}
.booking-modal-head h2{
  margin:0 0 6px;
  color:#164f68;
  font-size:29px;
  line-height:1.08;
}
.booking-modal-head p{
  margin:0;
  max-width:510px;
  color:#5d7884;
  font-size:13px;
  line-height:1.45;
}
.booking-modal-close{
  position:absolute !important;
  right:14px !important;
  top:14px !important;
  z-index:50 !important;
  width:38px !important;
  height:38px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#164f68 !important;
  box-shadow:0 4px 14px rgba(12,68,86,.14) !important;
}
.booking-accommodation{
  margin:14px 24px 0 !important;
  padding:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  border:1px solid #cfe5ec !important;
  border-radius:13px !important;
  background:#f5fbfd !important;
  box-shadow:none !important;
}
.booking-accommodation-main{display:flex;align-items:center;gap:13px;min-width:0}
.booking-accommodation-main > div{min-width:0}
.booking-accommodation-main strong{display:block;color:#164f68;font-size:15px;margin-bottom:3px}
.booking-accommodation-main span{display:block;color:#5b7782;font-size:12px;margin-bottom:3px}
.booking-accommodation-main small{display:block;color:#718992;font-size:11px}
.booking-accommodation-photo{
  width:80px !important;
  height:60px !important;
  flex:0 0 80px !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  border:1px solid #c8dfe7 !important;
  border-radius:9px !important;
}
.booking-trust{
  flex:0 0 185px;
  min-width:185px;
  padding:10px 12px;
  border:1px solid #cce8d9;
  border-radius:10px;
  background:#f3fbf6;
  text-align:center;
}
.booking-trust > .fa{display:block;margin-bottom:3px;color:#25875c;font-size:18px}
.booking-trust strong{display:block;color:#286d51;font-size:11px;line-height:1.25}
.booking-trust small{display:block;margin-top:4px;color:#70867c;font-size:9px;line-height:1.25}
.booking-form{
  overflow-y:auto !important;
  padding:16px 24px 0 !important;
  background:#fff !important;
}
.booking-form fieldset:not(.booking-security){
  margin:0 0 14px !important;
  padding:14px 15px 15px !important;
  border:1px solid #d5e8ee !important;
  border-radius:12px !important;
  background:#fbfdfe !important;
  box-shadow:none !important;
}
.booking-form fieldset:not(.booking-security) legend{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 11px !important;
  padding:0 !important;
  color:#164f68 !important;
  font-size:15px !important;
  font-weight:800 !important;
}
.booking-form fieldset:not(.booking-security) legend .fa{
  display:grid !important;
  place-items:center !important;
  width:27px !important;
  height:27px !important;
  border-radius:8px !important;
  background:#e6f4f8 !important;
  color:#087eae !important;
  margin:0 !important;
}
.booking-grid{gap:11px 14px !important}
.booking-form label{color:#164f68 !important;font-weight:700 !important}
.booking-form label small{color:#718992 !important;font-weight:400 !important}
.booking-form label > span{color:#d85b4d !important}
.booking-form input,.booking-form select,.booking-form textarea{
  width:100% !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border:1px solid #c9e0e8 !important;
  border-radius:9px !important;
  color:#164f68 !important;
  min-height:42px !important;
  padding:10px 12px !important;
}
.booking-form textarea{min-height:104px !important;resize:vertical}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{
  border-color:#0c88b7 !important;
  box-shadow:0 0 0 3px rgba(12,136,183,.10) !important;
  outline:none !important;
}
.booking-security{
  margin:0 0 14px !important;
  padding:13px 14px !important;
  border:1px solid #cfe4eb !important;
  border-radius:12px !important;
  background:#f5fafc !important;
}
.booking-security legend{display:flex;align-items:center;gap:7px;color:#164f68;font-size:14px;font-weight:800}
.booking-security legend .fa{color:#087eae}
.booking-security p{margin:0 0 8px;color:#66818b;font-size:11px}
.booking-captcha{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:9px 10px !important;
  border:1px solid #d5e8ee !important;
  border-radius:9px !important;
  background:#fff !important;
}
.booking-captcha strong{color:#164f68;font-size:15px}
.booking-captcha input{width:58px !important;min-height:36px !important;margin:0 !important;text-align:center;font-weight:800}
.booking-captcha span{margin-left:auto;padding:7px 9px;border-radius:8px;background:#eaf5f8;color:#597580;font-size:10px;font-weight:700}
.booking-form-footer{
  position:sticky !important;
  bottom:0 !important;
  z-index:10 !important;
  margin:0 -24px !important;
  padding:14px 24px 15px !important;
  border-top:1px solid #d4e7ed !important;
  background:linear-gradient(180deg,#f5fafc 0%,#edf8fb 100%) !important;
  box-shadow:0 -7px 20px rgba(17,80,99,.07) !important;
}
.booking-footer-notice{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:0 0 9px !important;
  padding:9px 11px !important;
  border:1px solid #cfe3ea !important;
  border-radius:10px !important;
  background:#fff !important;
}
.booking-footer-notice-icon{
  flex:0 0 31px !important;
  width:31px !important;
  height:31px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:8px !important;
  background:#e7f5f9 !important;
  color:#087eae !important;
}
.booking-footer-notice strong{display:block;color:#164f68;font-size:12px;margin-bottom:2px}
.booking-footer-notice span{display:block;color:#667f89;font-size:10px;line-height:1.35}
.booking-consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#58727d !important;
  font-size:10px !important;
  line-height:1.35 !important;
}
.booking-consent input{width:16px !important;height:16px !important;min-height:16px !important;flex:0 0 16px !important;margin:1px 0 0 !important;accent-color:#087eae}
.booking-modal-actions{display:grid !important;grid-template-columns:145px 1fr !important;gap:9px !important;padding:0 !important}
.booking-modal-actions .button{min-height:42px !important;border-radius:9px !important;font-size:12px !important;font-weight:700 !important}
.booking-modal-actions .secondary{background:#fff !important;border:1px solid #bfd7df !important;color:#164f68 !important}
.booking-submit{background:#198c68 !important;border-color:#198c68 !important;color:#fff !important;box-shadow:0 4px 12px rgba(25,140,104,.18) !important}
.booking-footer-legal{margin:7px 0 0 !important;text-align:center;color:#78919a;font-size:9px}
@media(max-width:700px){
  .booking-modal-dialog{width:calc(100vw - 10px);max-height:calc(100vh - 10px);border-radius:15px}
  .booking-modal-head{grid-template-columns:105px minmax(0,1fr);gap:11px;min-height:116px;padding:15px 48px 14px 15px}
  .booking-modal-brand img{width:105px;max-width:105px;max-height:55px}
  .booking-modal-head h2{font-size:23px}
  .booking-modal-head p{font-size:10.5px;line-height:1.3}
  .booking-accommodation{margin:11px 14px 0 !important;display:block !important;padding:10px !important}
  .booking-accommodation-main{gap:10px}
  .booking-accommodation-photo{width:64px !important;height:48px !important;flex-basis:64px !important}
  .booking-trust{margin-top:9px;min-width:0;display:block}
  .booking-form{padding:12px 14px 0 !important}
  .booking-form fieldset:not(.booking-security){padding:13px 12px 14px !important}
  .booking-form-footer{margin:0 -14px !important;padding:12px 14px 13px !important}
  .booking-modal-actions{grid-template-columns:1fr !important;gap:7px !important}
  .booking-modal-actions .button{width:100% !important}
}

/* Buchungsanfrage – finaler Header nach dem abgestimmten Design */
.booking-modal-head{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  border:0!important;
  overflow:hidden!important;
}
.booking-header-banner{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:185px!important;
  object-fit:cover!important;
  object-position:center top!important;
  margin:0!important;
}
.booking-modal-brand,.booking-modal-head-art{display:none!important}
.booking-modal-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,285px)!important;
  gap:22px!important;
  align-items:center!important;
  padding:18px 28px 16px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f4fbfc 100%)!important;
  border-bottom:1px solid #d9eaf0!important;
}
.booking-modal-intro-copy .eyebrow{display:block;color:var(--blue);font-size:12px;font-weight:800;margin-bottom:4px}
.booking-modal-intro-copy h2{margin:0 0 7px;color:var(--navy);font-size:29px;line-height:1.1}
.booking-modal-intro-copy h2 .fa{font-size:.85em;margin-right:6px}
.booking-modal-intro-copy p{margin:0;max-width:620px;color:#557480;line-height:1.4;font-size:13px}
.booking-modal-benefits{display:flex;flex-direction:column;gap:7px;padding-left:8px}
.booking-modal-benefits div{display:flex;align-items:center;gap:8px;color:#164b62;font-size:13px;font-weight:600}
.booking-modal-benefits .fa{color:#169b62;font-size:16px}
.booking-modal-dialog>.booking-modal-intro{position:relative;z-index:1}
@media(max-width:760px){
 .booking-header-banner{max-height:145px!important;object-fit:cover!important}
 .booking-modal-intro{grid-template-columns:1fr!important;gap:10px!important;padding:14px 18px!important}
 .booking-modal-intro-copy h2{font-size:23px!important}
 .booking-modal-intro-copy p{font-size:11.5px!important}
 .booking-modal-benefits{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding-left:0}
 .booking-modal-benefits div{font-size:11px}
 .booking-modal-benefits div:first-child{grid-column:1/-1}
}
@media(max-width:480px){
 .booking-header-banner{max-height:112px!important}
 .booking-modal-benefits{grid-template-columns:1fr!important}
 .booking-modal-benefits div:first-child{grid-column:auto}
}

/* 1.0.129 – Buchungsanfrage: Headergrafik vollständig sichtbar + Projekt-Checkbox */
.booking-modal-head:after{
  display:none !important;
  content:none !important;
}
.booking-header-banner{
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

/* Einheitliche Projekt-Checkbox für die unverbindliche Buchungsanfrage */
.booking-consent{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-height:44px !important;
  margin:0 0 12px !important;
  padding:9px 12px !important;
  border:1px solid #cfe5ec !important;
  border-radius:10px !important;
  background:#f4fafc !important;
  color:#164f68 !important;
  font-size:11px !important;
  line-height:1.4 !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
}
.booking-consent:hover{
  border-color:#b7d6e1 !important;
  background:#eef8fb !important;
}
.booking-consent input{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  min-height:1px !important;
  margin:0 !important;
  pointer-events:none !important;
}
.booking-consent span{
  position:relative !important;
  display:block !important;
  padding-left:31px !important;
  color:#315e70 !important;
  font-weight:600 !important;
}
.booking-consent span:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  box-sizing:border-box;
  border:1px solid #b9d4de;
  border-radius:6px;
  background:#fff;
  box-shadow:0 1px 3px rgba(20,75,95,.08);
}
.booking-consent input:focus-visible + span:before{
  outline:3px solid rgba(8,126,174,.18);
  outline-offset:2px;
}
.booking-consent input:checked + span:before{
  content:"✓";
  display:grid;
  place-items:center;
  border-color:#087eae;
  background:#087eae;
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.booking-consent input:invalid + span:before{
  border-color:#d8b6b0;
}

/* Footer im Stil der übrigen Projektkarten */
.booking-form-footer{
  background:linear-gradient(180deg,#f7fcfd 0%,#eef8fb 100%) !important;
}
.booking-footer-notice{
  border-color:#cfe5ec !important;
  background:#fff !important;
  border-radius:10px !important;
}
.booking-modal-actions .secondary{
  background:#fff !important;
  border:1px solid #bfd7df !important;
  color:#164f68 !important;
}
.booking-modal-actions .secondary:hover{
  background:#f4fafc !important;
  border-color:#9fc5d2 !important;
}
.booking-submit{
  background:#198c68 !important;
  border-color:#198c68 !important;
}
@media(max-width:700px){
  .booking-consent{
    align-items:flex-start !important;
    min-height:48px !important;
    padding:10px 11px !important;
  }
  .booking-consent span{padding-left:31px !important}
}

/* 1.0.130 – Buchungsanfrage: Headergrafik exakt auf Dialogbreite begrenzen */
.booking-modal-head{
  width:100% !important;
  box-sizing:border-box !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.booking-header-banner{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  .booking-header-banner{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
}

/* =========================================================
   1.0.132 – Neues Gesamt-Design Ferienquartiere Ostfriesland
   Öffentlicher Bereich: maritime Premium-Optik, Admin bleibt separat.
   Hero-Slider, Slogan-Wechsel und vorhandene Funktionalität bleiben erhalten.
   ========================================================= */
:root{
  --fq-navy:#0d3f72;
  --fq-blue:#087eae;
  --fq-blue2:#0d6fa5;
  --fq-sky:#dff4fb;
  --fq-green:#15966e;
  --fq-gold:#f2a51a;
  --fq-line:#d7e8ef;
  --fq-bg:#f7fbfd;
  --fq-shadow:0 14px 38px rgba(8,63,91,.10);
}
body:not(.admin-page){
  background:linear-gradient(180deg,#f7fbfd 0,#fff 34%,#f8fbfd 100%);
}
body:not(.admin-page) .site-shell{
  display:block;
  max-width:none;
  width:100%;
  min-height:100vh;
  background:transparent;
}
body:not(.admin-page) .sidebar{display:none!important}
body:not(.admin-page) .main{width:100%;background:transparent}
body:not(.admin-page) .content{
  max-width:1440px;
  padding:0 28px 60px;
  margin:0 auto;
}
body:not(.admin-page) .topbar.public-topbar{
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  z-index:80;
  width:min(1320px,calc(100% - 56px));
  height:56px;
  padding:0 12px 0 18px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:15px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 28px rgba(7,52,73,.12);
  backdrop-filter:blur(13px) saturate(1.15);
}
.public-logo{display:flex;align-items:center;flex:0 0 auto;height:52px}
.public-logo img{display:block;width:205px;max-height:52px;object-fit:contain}
.public-nav{display:flex;align-items:stretch;justify-content:center;gap:4px;flex:1;height:100%;margin:0 12px}
.public-nav a{display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--fq-navy);text-decoration:none;font-weight:700;font-size:14px;border-bottom:3px solid transparent;transition:.2s ease}
.public-nav a:hover,.public-nav a.is-active{color:var(--fq-blue);background:rgba(232,247,252,.62);border-bottom-color:var(--fq-blue)}
.public-nav a i{font-size:15px}
.public-admin-nav-link{color:var(--fq-blue)!important;background:rgba(232,247,252,.42)}
.public-admin-nav-link:hover{background:rgba(232,247,252,.9)!important}
.public-admin-icon{color:var(--fq-blue)!important;background:#eef8fb!important}
 .public-facebook-icon{color:#1877f2!important;background:rgba(255,255,255,.9)!important}
.public-facebook-icon:hover,.public-facebook-icon:focus-visible{color:#1877f2!important;background:#eef8fb!important}
.public-actions{display:flex;gap:7px;align-items:center}
.public-icon-button,.public-account-button{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--fq-navy);border:1px solid #d7e8ef;background:rgba(255,255,255,.82);height:40px;border-radius:10px;transition:.2s ease}
.public-icon-button{width:40px;font-size:17px}
.public-account-button{gap:8px;padding:0 15px;background:var(--fq-navy);color:#fff;border-color:var(--fq-navy);font-weight:700}
.public-icon-button:hover{background:#eef8fb;color:var(--fq-blue)}
.public-account-button:hover{background:#0a527f;color:#fff}
body:not(.admin-page) .hamburger-button{display:none}
body:not(.admin-page) .hero-home-redesign{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-bottom:0;
  min-height:520px;
  height:min(62vw,620px);
  max-height:620px;
  border-radius:0;
  box-shadow:none;
}
body:not(.admin-page) .hero-home-redesign .hero-slide{background-position:center 52%}
body:not(.admin-page) .hero-home-redesign .hero-overlay{
  background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.04) 28%,rgba(5,44,67,.12) 100%),linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,0) 60%);
}
body:not(.admin-page) .hero-home-redesign .hero-copy{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:105px 24px 100px;
  text-align:center;
  color:#fff;
}
body:not(.admin-page) .hero-home-redesign .hero-kicker{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.26);font-size:16px}
body:not(.admin-page) .hero-home-redesign h2{
  margin:0;
  color:#fff;
  font-size:clamp(48px,7vw,92px);
  line-height:.98;
  font-family:"Playwrite DESAS Custom",cursive;
  font-weight:400;
  text-shadow:0 4px 18px rgba(0,42,69,.28);
}
body:not(.admin-page) .hero-home-redesign .hero-main-slogan{
  margin:8px 0 0;
  max-width:none;
  color:#fff;
  font-size:clamp(28px,3.7vw,54px);
  line-height:1.05;
  font-family:"Playwrite DESAS Custom",cursive;
  text-shadow:0 3px 14px rgba(0,42,69,.28);
}
body:not(.admin-page) .hero-home-redesign .hero-subline{margin-top:18px;color:#fff;font-size:18px;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.3)}
body:not(.admin-page) .hero-home-redesign .hero-search{display:none}
body:not(.admin-page) .hero-home-redesign .hero-benefits{display:none}
body:not(.admin-page) .hero-signature{
  position:absolute;right:6%;bottom:84px;z-index:5;padding:12px 20px 14px;background:rgba(255,255,255,.86);color:var(--fq-navy);border-radius:2px 18px 2px 18px;transform:rotate(-3deg);font-family:"Playwrite DESAS Custom",cursive;font-size:28px;line-height:1.05;box-shadow:0 8px 24px rgba(0,42,69,.12)
}
body:not(.admin-page) .hero-signature span{display:block;font-size:18px;text-align:right}
body:not(.admin-page) .hero-home-redesign .hero-arrow{position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:46px;height:46px;padding:0;border-radius:50%;background:rgba(5,47,71,.46);border:2px solid rgba(255,255,255,.85);box-shadow:0 5px 18px rgba(0,0,0,.14)}
body:not(.admin-page) .hero-home-redesign .hero-prev{left:28px}.hero-home-redesign .hero-next{right:28px}
body:not(.admin-page) .hero-home-redesign .hero-arrow:hover{background:rgba(5,47,71,.72)}
body:not(.admin-page) .hero-home-redesign .hero-dots{bottom:20px;background:rgba(4,51,74,.35)}
.home-search-panel{
  position:relative;z-index:20;width:min(1110px,calc(100% - 40px));margin:-46px auto 30px;background:#fff;border:1px solid rgba(210,230,238,.95);border-radius:17px;box-shadow:0 14px 35px rgba(12,76,102,.14);overflow:hidden
}
.home-search-tabs{display:flex;align-items:stretch;background:#eef8fb;border-bottom:1px solid var(--fq-line)}
.home-search-tabs button,.home-search-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:49px;padding:0 22px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#54717e;text-decoration:none;font:600 15px inherit}
.home-search-tabs button.is-active{background:#fff;color:var(--fq-blue);border-bottom-color:var(--fq-blue)}
.home-search-tabs a:hover{background:#f8fcfd;color:var(--fq-blue)}
.home-search-fields{display:grid;grid-template-columns:1.55fr 1fr 1fr .9fr auto;gap:12px;padding:18px 20px 20px;align-items:end}
.home-search-fields label{display:block;margin:0}.home-search-fields label>span{display:block;margin:0 0 6px;color:var(--fq-navy);font-size:12px;font-weight:800}
.home-search-fields label>div{height:48px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #cfe2e9;border-radius:10px;background:#fff;color:var(--fq-blue)}
.home-search-fields input,.home-search-fields select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit}
.home-search-submit{height:48px;min-width:180px;border-radius:10px;background:#0c70aa;box-shadow:0 7px 17px rgba(8,118,166,.18)}
.home-search-submit:hover{background:#075e91}
.home-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1110px;margin:0 auto 34px;padding:0 8px}
.home-benefits>div{display:grid;grid-template-columns:58px 1fr;column-gap:13px;align-items:center}.home-benefits>div>span{grid-row:1/3;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#e3f3fa;color:var(--fq-navy);font-size:24px}.home-benefits strong{color:var(--fq-navy);font-size:16px}.home-benefits small{color:var(--muted);font-size:13px}
.home-accommodations{max-width:1110px;margin:0 auto}.home-accommodations .section-head{align-items:end;margin-bottom:17px}.home-accommodations .section-head h2{font-size:31px;margin:2px 0 3px}.home-accommodations .section-head p{margin:0;color:var(--muted)}.home-accommodations .section-head>a{white-space:nowrap}
.home-accommodation-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:stretch}.home-accommodation-layout .accommodation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-accommodation-layout .accommodation-card{border-radius:13px}.home-accommodation-layout .accommodation-image{aspect-ratio:16/9}.home-accommodation-layout .accommodation-body{padding:13px 14px}.home-accommodation-layout .accommodation-body h3{font-size:18px}
.home-region-card{border:1px solid #cfe2e9;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(25,99,121,.07);display:flex;flex-direction:column}.home-region-image{height:145px;overflow:hidden}.home-region-image img{width:100%;height:100%;object-fit:cover;display:block}.home-region-card>div:last-child{padding:15px}.home-region-card h3{margin:2px 0 15px;color:var(--fq-navy);font-size:18px;line-height:1.3}.home-region-card .button{width:100%;gap:8px}
.home-categories{max-width:1110px;margin:34px auto 16px;padding:18px 10px 10px;border-top:1px solid var(--fq-line);display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.home-categories a{display:grid;grid-template-columns:45px 1fr;column-gap:11px;text-decoration:none;color:var(--fq-navy);align-items:center}.home-categories a>i{grid-row:1/3;font-size:28px;color:var(--fq-blue);text-align:center}.home-categories strong{font-size:15px}.home-categories small{color:var(--muted);font-size:12px}
.home-slogan-panel{max-width:900px;margin:25px auto 34px}
body:not(.admin-page) .premium-teaser{max-width:1110px;margin:34px auto 0}
body:not(.admin-page) .accommodation-card{box-shadow:0 5px 18px rgba(25,99,121,.07)}
body:not(.admin-page) .page-title{padding-top:105px}
body:not(.admin-page) .page-title h1{font-size:34px;color:var(--fq-navy)}
body:not(.admin-page) .search-panel,body:not(.admin-page) .form-card,body:not(.admin-page) .detail-card,body:not(.admin-page) .empty-card{box-shadow:0 8px 25px rgba(25,99,121,.07);border-radius:15px}

@media(max-width:1050px){
  .public-nav a{padding:0 7px;font-size:12px}.public-nav{gap:0}.public-logo img{width:170px}.public-account-button{padding:0 10px}.public-admin-nav-link{display:none!important}
  .home-search-fields{grid-template-columns:1.5fr 1fr 1fr 1fr}.home-search-submit{grid-column:1/-1;width:100%}
  .home-benefits{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  body:not(.admin-page) .topbar.public-topbar{top:10px;width:calc(100% - 20px);height:54px;padding:0 8px;border-radius:13px}
  .public-logo{margin-left:44px}.public-logo img{width:150px;max-height:45px}.public-nav,.public-actions,.public-account-button{display:none!important}
  body:not(.admin-page) .hamburger-button{display:flex;position:absolute;left:8px;top:7px;width:40px;height:40px;padding:0;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:#fff;border:1px solid #d5e8ee;color:var(--fq-navy);border-radius:10px}
  body:not(.admin-page) .hamburger-button span{display:block;width:18px;height:2px;background:var(--fq-navy);border-radius:2px}
  body:not(.admin-page) .content{padding:0 14px 35px}
  body:not(.admin-page) .hero-home-redesign{min-height:500px;height:72vh;max-height:650px}
  body:not(.admin-page) .hero-home-redesign .hero-copy{padding:90px 22px 80px}
  body:not(.admin-page) .hero-home-redesign h2{font-size:clamp(42px,12vw,66px)}
  body:not(.admin-page) .hero-home-redesign .hero-main-slogan{font-size:clamp(25px,7vw,40px)}
  body:not(.admin-page) .hero-home-redesign .hero-subline{font-size:15px;max-width:330px}
  body:not(.admin-page) .hero-signature{right:18px;bottom:72px;font-size:20px;padding:9px 13px}.hero-signature span{font-size:14px!important}
  body:not(.admin-page) .hero-home-redesign .hero-arrow{width:38px;height:38px}.hero-home-redesign .hero-prev{left:12px}.hero-home-redesign .hero-next{right:12px}
  .home-search-panel{width:calc(100% - 20px);margin:-30px auto 24px;border-radius:14px}.home-search-tabs{overflow:auto}.home-search-tabs button,.home-search-tabs a{white-space:nowrap;min-width:max-content;padding:0 15px;font-size:13px}.home-search-fields{grid-template-columns:1fr;gap:10px;padding:14px}.home-search-submit{grid-column:auto}
  .home-benefits{grid-template-columns:1fr 1fr;gap:18px 10px;padding:0;margin-bottom:26px}.home-benefits>div{grid-template-columns:46px 1fr;column-gap:9px}.home-benefits>div>span{width:46px;height:46px;font-size:19px}.home-benefits strong{font-size:14px}.home-benefits small{font-size:11px}
  .home-accommodation-layout{grid-template-columns:1fr}.home-accommodation-layout .accommodation-grid{grid-template-columns:1fr 1fr}.home-region-card{display:grid;grid-template-columns:110px 1fr}.home-region-image{height:100%}.home-region-card>div:last-child{padding:12px}.home-region-card h3{font-size:15px;margin-bottom:9px}
  .home-categories{grid-template-columns:1fr 1fr;gap:18px 12px}.home-slogan-panel{margin-top:18px}
}
@media(max-width:520px){
  .home-accommodation-layout .accommodation-grid{grid-template-columns:1fr}.home-benefits{grid-template-columns:1fr}.home-categories{grid-template-columns:1fr 1fr}.home-region-card{grid-template-columns:95px 1fr}
}

/* 1.0.135 – Hero-/Startseiten-Finishing nach freigegebenem Design */
body:not(.admin-page) .hero-home-redesign{
  min-height:640px;
  height:min(68vw,680px);
  max-height:680px;
}
body:not(.admin-page) .hero-home-redesign .hero-overlay{
  background:
    linear-gradient(90deg,rgba(5,39,61,.78) 0%,rgba(5,39,61,.60) 31%,rgba(5,39,61,.20) 55%,rgba(5,39,61,.03) 78%,rgba(5,39,61,.10) 100%),
    linear-gradient(180deg,rgba(0,35,58,.10) 0%,rgba(0,35,58,.02) 48%,rgba(0,35,58,.22) 100%);
}
body:not(.admin-page) .hero-home-redesign .hero-copy{
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  max-width:760px;
  padding:125px 48px 130px clamp(34px,8vw,110px);
}
body:not(.admin-page) .hero-home-redesign .hero-kicker{
  color:#fff;
  font-size:15px;
  letter-spacing:.09em;
  text-shadow:0 2px 7px rgba(0,0,0,.35);
}
body:not(.admin-page) .hero-home-redesign h2{
  color:#fff;
  font-size:clamp(54px,6.3vw,92px);
  line-height:.98;
  text-shadow:0 4px 16px rgba(0,28,48,.48);
  margin:0;
}
body:not(.admin-page) .hero-home-redesign .hero-main-slogan{
  color:#fff;
  font-size:clamp(31px,3.6vw,54px);
  text-shadow:0 3px 12px rgba(0,28,48,.48);
  margin:7px 0 0;
}
body:not(.admin-page) .hero-home-redesign .hero-subline{
  color:#fff;
  max-width:540px;
  margin-top:17px;
  font-size:18px;
  line-height:1.45;
  text-shadow:0 2px 9px rgba(0,0,0,.48);
}
body:not(.admin-page) .hero-home-redesign .hero-copy:after{content:none;}
body:not(.admin-page) .hero-home-redesign .hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:24px;
  padding:12px 23px;
  border-radius:999px;
  background:#0b559f;
  border:2px solid rgba(255,255,255,.9);
  color:#fff;
  font-weight:800;
  font-size:15px;
  line-height:1.2;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,35,55,.24);
}
body:not(.admin-page) .hero-home-redesign .hero-cta:hover,
body:not(.admin-page) .hero-home-redesign .hero-cta:focus,
body:not(.admin-page) .hero-home-redesign .hero-cta:active{
  color:#fff;
  background:#0b559f;
  text-decoration:none;
  transform:none;
  box-shadow:0 8px 20px rgba(0,35,55,.24);
}
body:not(.admin-page) .hero-signature{
  right:6%;
  bottom:118px;
  font-size:30px;
}
body:not(.admin-page) .hero-home-redesign .hero-dots{bottom:24px}
.home-search-panel{
  margin:-78px auto 34px;
  width:min(1160px,calc(100% - 40px));
  border-radius:18px;
  box-shadow:0 18px 42px rgba(12,76,102,.20);
}
.home-search-tabs button,.home-search-tabs a{min-height:56px;font-size:15px}
.home-search-fields{padding:20px 22px 22px;gap:13px}
.home-search-submit{height:52px;min-width:190px}
.home-benefits{max-width:1160px;margin-bottom:40px}
.home-accommodations,.home-categories,.premium-teaser{max-width:1160px}

/* Admin-Zugang im öffentlichen Menü: nie ausblenden, solange Administrator angemeldet */
.public-admin-nav-link{display:flex!important;align-items:center;gap:7px!important;padding:0 12px!important;border-radius:9px!important;border-bottom:0!important;background:#0b78b2!important;color:#fff!important}
.public-admin-nav-link:hover{background:#075f8d!important;color:#fff!important}
.public-admin-icon{display:flex!important}

@media(max-width:1180px) and (min-width:761px){
  body:not(.admin-page) .public-nav a{padding:0 7px;font-size:12px}
  body:not(.admin-page) .public-logo img{width:175px}
  body:not(.admin-page) .public-admin-nav-link{padding:0 8px!important}
  body:not(.admin-page) .public-account-button{padding:0 11px}
}
@media(max-width:760px){
  body:not(.admin-page) .hero-home-redesign{min-height:560px;height:76vh;max-height:700px}
  body:not(.admin-page) .hero-home-redesign .hero-overlay{background:linear-gradient(90deg,rgba(5,39,61,.78),rgba(5,39,61,.25) 78%,rgba(5,39,61,.08)),linear-gradient(180deg,rgba(0,35,58,.08),rgba(0,35,58,.20))}
  body:not(.admin-page) .hero-home-redesign .hero-copy{padding:110px 26px 135px;max-width:100%;align-items:flex-start}
  body:not(.admin-page) .hero-home-redesign h2{font-size:clamp(45px,12vw,70px)}
  body:not(.admin-page) .hero-home-redesign .hero-main-slogan{font-size:clamp(28px,7.5vw,43px)}
  body:not(.admin-page) .hero-home-redesign .hero-subline{font-size:15px;max-width:320px}
  body:not(.admin-page) .hero-home-redesign .hero-copy:after{font-size:14px;padding:10px 18px;margin-top:18px}
  body:not(.admin-page) .hero-signature{right:14px;bottom:100px;font-size:21px}
  .home-search-panel{margin:-64px auto 26px;width:calc(100% - 20px)}
}

/* 1.0.135 – Hero-Finish: Ubuntu-Schrift + transparente Flächen */
@font-face{
  font-family:"Ubuntu Hero";
  src:url("../fonts/Ubuntu-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* Die Hero-Typografie verwendet die gewünschte Ubuntu-Regular-Datei.
   Falls die Datei auf dem Server noch nicht vorhanden ist, greift der Browser
   automatisch auf Ubuntu/Arial als Fallback zurück. */
body:not(.admin-page) .hero-home-redesign,
body:not(.admin-page) .hero-home-redesign .hero-copy,
body:not(.admin-page) .hero-home-redesign .hero-kicker,
body:not(.admin-page) .hero-home-redesign h2,
body:not(.admin-page) .hero-home-redesign .hero-main-slogan,
body:not(.admin-page) .hero-home-redesign .hero-subline,
body:not(.admin-page) .hero-home-redesign .hero-signature{
  font-family:"Ubuntu Hero","Ubuntu",Arial,sans-serif;
}

/* Keine weißen Karten/Flächen mehr über dem Hero-Bild. */
body:not(.admin-page) .hero-home-redesign .hero-copy{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Auch die Signatur rechts bleibt direkt auf dem Sliderbild. */
body:not(.admin-page) .hero-home-redesign .hero-signature{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Mobile: ebenfalls keine weiße Slogan-Fläche. */
@media(max-width:760px){
  body:not(.admin-page) .hero-home-redesign .hero-copy{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

/* FQO 1.0.136 – Logo-Farbwelt, zentrierter Hero und redaktionelles CMS */
@font-face{font-family:"Ubuntu Custom";src:url("../fonts/Ubuntu-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--sky:#2da8d4;--sky-dark:#087da8;--blue:#0877a8;--navy:#0b416b;--green:#4b9b57;--yellow:#f2c52b;--cream:#f6fbfc;--line:#d4e8ed;--text:#173f54;--muted:#617d88;--shadow:0 10px 28px rgba(11,65,107,.10)}
body{color:var(--text);font-size:16px}
.button,.home-search-submit{background:var(--blue)}
.button:hover,.home-search-submit:hover{background:var(--navy)}
.hero-home-redesign{min-height:650px}
.hero-home-redesign .hero-overlay{background:linear-gradient(180deg,rgba(6,54,79,.18),rgba(6,54,79,.36)),linear-gradient(90deg,rgba(6,54,79,.28),rgba(6,54,79,.08) 55%,rgba(6,54,79,.22))}
.hero-home-redesign .hero-copy{position:absolute;inset:0;width:100%;min-height:100%;margin:0;padding:42px 30px 86px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}
.hero-home-redesign .hero-kicker{color:#fff;font-size:18px;letter-spacing:.055em;margin-bottom:14px;text-shadow:0 2px 10px rgba(0,0,0,.48)}
.hero-home-redesign h2{font-family:"Ubuntu Custom",Ubuntu,FQSans,Arial,sans-serif;font-size:68px;line-height:1.02;color:#fff;margin:0 0 10px;letter-spacing:-.035em;text-shadow:0 3px 14px rgba(0,0,0,.45)}
.hero-home-redesign .hero-main-slogan{font-family:"Ubuntu Custom",Ubuntu,FQSans,Arial,sans-serif;font-size:34px;line-height:1.12;font-weight:400;color:#fff;margin:0 0 14px;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.hero-home-redesign .hero-subline{font-family:"Ubuntu Custom",Ubuntu,FQSans,Arial,sans-serif;color:#fff;font-size:18px;font-weight:600;text-shadow:0 2px 9px rgba(0,0,0,.48)}
.hero-signature{right:42px;bottom:70px;color:var(--navy);font-size:40px;text-shadow:0 2px 7px rgba(255,255,255,.65);font-family:"Ubuntu Custom",Ubuntu,FQSans,Arial,sans-serif;transform:rotate(-3deg);background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.hero-signature span{color:var(--blue);font-size:18px;margin-top:5px}
.hero-home-redesign .hero-arrow{background:rgba(11,65,107,.66);border-color:rgba(255,255,255,.9)}
.hero-home-redesign .hero-dots{background:rgba(11,65,107,.48)}
.home-search-panel{border-color:#cfe5ec}
.home-search-tabs button.is-active,.home-search-tabs a:hover{color:var(--blue)}
.home-search-submit{box-shadow:0 7px 18px rgba(8,119,168,.22)}
.home-benefits strong,.home-accommodations .section-head h2,.premium-teaser h2{color:var(--navy)}
.home-benefits>div>span{background:#e7f6fb;color:var(--blue)}
.home-categories a i{color:var(--blue)}
.intro.home-slogan-panel{border-color:#cfe5ec;background:linear-gradient(135deg,#f2fbfd,#f7fcf8)}
.intro-slogan{font-family:"Ubuntu Custom",Ubuntu,FQSans,Arial,sans-serif;color:var(--navy)!important;font-weight:400}
.admin-nav a.is-active,.public-admin-nav-link,.public-account-button{background:var(--blue)}
.admin-kicker,.hero-kicker{color:var(--blue)}
.admin-section-icon,.admin-stat i{color:var(--blue)}

/* Redaktionelles CMS */
.admin-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-content-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--navy)}
.admin-content-grid label.full{grid-column:1/-1}
.admin-content-grid input,.admin-content-grid select,.admin-content-grid textarea{width:100%;border:1px solid #cfe2e8;border-radius:11px;background:#fff;padding:12px 13px;font:inherit;color:var(--text);resize:vertical}
.admin-content-options{display:flex;align-items:center;gap:20px;padding:12px 0}
.admin-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-size:14px!important}
.admin-check input{width:auto!important}
.admin-content-list{display:flex;flex-direction:column;gap:12px}
.admin-content-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}
.admin-content-thumb{width:110px;height:82px;border-radius:10px;overflow:hidden;background:#eaf7fb;color:var(--blue);display:grid;place-items:center;font-size:27px}
.admin-content-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.admin-content-main{min-width:0}.admin-content-main h3{margin:5px 0 4px;color:var(--navy);font-size:18px}.admin-content-main p{margin:0 0 5px;color:var(--muted);font-size:13px}.admin-content-main small{color:#82979f}
.admin-content-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--blue);font-size:12px;font-weight:700}
.editorial-list-page{max-width:1100px;margin:28px auto 0}.editorial-list-head{margin-bottom:20px}.editorial-list-head h1{margin:3px 0 6px;color:var(--navy);font-size:36px}.editorial-list-head p{margin:0;color:var(--muted);font-size:17px}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.editorial-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 20px rgba(11,65,107,.06);transition:transform .2s ease,box-shadow .2s ease}.editorial-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(11,65,107,.12)}.editorial-card-image{aspect-ratio:16/9;background:#eaf7fb;overflow:hidden}.editorial-card-image img{width:100%;height:100%;object-fit:cover;display:block}.editorial-placeholder{display:grid;place-items:center;color:var(--blue);font-size:42px}.editorial-card-body{padding:17px}.editorial-card-type{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--blue);font-weight:800}.editorial-card-body h2{margin:5px 0 7px;color:var(--navy);font-size:22px;line-height:1.18}.editorial-card-body p{margin:0 0 13px;color:var(--muted);font-size:14px;line-height:1.5}.editorial-read{color:var(--blue);font-weight:700;font-size:13px}.editorial-detail{max-width:920px;margin:28px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(11,65,107,.07)}.editorial-detail-head{padding:30px 34px 22px}.editorial-detail-head h1{margin:5px 0 10px;color:var(--navy);font-size:42px;line-height:1.12}.editorial-detail-head p{margin:0;color:var(--muted);font-size:17px}.editorial-cover{max-height:470px;overflow:hidden}.editorial-cover img{width:100%;height:auto;display:block;object-fit:cover}.editorial-body{padding:30px 34px;color:#365968;font-size:17px;line-height:1.75}.editorial-meta{padding:15px 34px;border-top:1px solid var(--line);font-size:12px;color:#82979f;background:#f8fcfd}
@media(max-width:900px){.hero-home-redesign{min-height:590px}.hero-home-redesign h2{font-size:56px}.hero-home-redesign .hero-main-slogan{font-size:29px}.admin-content-row{grid-template-columns:90px minmax(0,1fr)}.admin-content-row>.admin-status-actions{grid-column:1/-1;justify-content:flex-start}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.hero-home-redesign{min-height:600px}.hero-home-redesign .hero-copy{padding:35px 20px 90px}.hero-home-redesign h2{font-size:43px}.hero-home-redesign .hero-kicker{font-size:14px}.hero-home-redesign .hero-main-slogan{font-size:25px}.hero-home-redesign .hero-subline{font-size:15px}.hero-signature{right:18px;bottom:55px;font-size:25px}.hero-signature span{font-size:13px}.admin-content-grid{grid-template-columns:1fr}.admin-content-grid label.full{grid-column:auto}.admin-content-row{grid-template-columns:76px minmax(0,1fr);gap:12px}.admin-content-thumb{width:76px;height:58px}.editorial-grid{grid-template-columns:1fr}.editorial-list-head h1{font-size:30px}.editorial-detail-head{padding:24px 20px 18px}.editorial-detail-head h1{font-size:31px}.editorial-body{padding:22px 20px;font-size:16px}.editorial-meta{padding:13px 20px}}

/* ================================================================
   Ferienquartiere Ostfriesland – 1.0.136
   Markenfinish: Logo-Farben, Hero-Zentrierung, kompakte Suche
   ================================================================ */
:root{
  --fq-navy:#002859;
  --fq-blue:#004A9A;
  --fq-water:#0099D8;
  --fq-green:#486C27;
  --fq-yellow:#FAC944;
  --fq-red:#7C0006;
  --fq-ink:#18384D;
  --fq-muted:#66808D;
  --fq-line:#D7E3EC;
  --fq-cream:#F8FBFD;
  --blue:#004A9A;
  --navy:#002859;
  --sky:#0099D8;
  --sky-dark:#0078B1;
  --green:#486C27;
  --cream:#F8FBFD;
  --line:#D7E3EC;
  --text:#18384D;
  --muted:#66808D;
}

body{color:#18384D;background:linear-gradient(180deg,#F6FBFE 0%,#fff 34%)}
body:not(.admin-page) .topbar.public-topbar{border-bottom-color:#D7E3EC;background:rgba(255,255,255,.97)}
body:not(.admin-page) .sidebar{border-right-color:#D7E3EC}
body:not(.admin-page) .sidebar nav a{color:#002859}
body:not(.admin-page) .sidebar nav a:hover{background:#EAF5FB;color:#004A9A}
body:not(.admin-page) .public-nav a{color:#002859}
body:not(.admin-page) .public-nav a:hover,
body:not(.admin-page) .public-nav a.is-active{color:#004A9A}
body:not(.admin-page) .public-account-button,
body:not(.admin-page) .public-admin-nav-link{background:#004A9A!important}
body:not(.admin-page) .public-account-button:hover,
body:not(.admin-page) .public-admin-nav-link:hover{background:#002859!important}
body:not(.admin-page) .button,
body:not(.admin-page) button,
body:not(.admin-page) .home-search-submit{background:#004A9A}
body:not(.admin-page) .button:hover,
body:not(.admin-page) button:hover,
body:not(.admin-page) .home-search-submit:hover{background:#002859}
body:not(.admin-page) .button.secondary{background:#EAF5FB;color:#004A9A;border-color:#C9DFEB}
body:not(.admin-page) .button.secondary:hover{background:#DCEEF7;color:#002859}

/* Hero: wirklich mittig – horizontal und vertikal, auch mobil. */
body:not(.admin-page) .hero-home-redesign .hero-copy{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:40px 28px 88px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body:not(.admin-page) .hero-home-redesign h2{
  color:#fff;
  text-shadow:0 4px 18px rgba(0,40,89,.42);
}
body:not(.admin-page) .hero-home-redesign .hero-main-slogan{
  color:#fff;
  text-shadow:0 3px 14px rgba(0,40,89,.38);
}
body:not(.admin-page) .hero-home-redesign .hero-kicker,
body:not(.admin-page) .hero-home-redesign .hero-subline{color:#fff}
body:not(.admin-page) .hero-home-redesign .hero-overlay{
  background:
    linear-gradient(180deg,rgba(0,40,89,.12) 0%,rgba(0,40,89,.16) 45%,rgba(0,40,89,.42) 100%),
    linear-gradient(90deg,rgba(0,40,89,.10),rgba(0,153,216,.04) 50%,rgba(0,40,89,.10));
}
body:not(.admin-page) .hero-home-redesign .hero-arrow{background:rgba(0,40,89,.62);border-color:rgba(255,255,255,.9)}
body:not(.admin-page) .hero-home-redesign .hero-arrow:hover{background:#004A9A}
body:not(.admin-page) .hero-home-redesign .hero-dots{background:rgba(0,40,89,.46)}
body:not(.admin-page) .hero-home-redesign .hero-dots button.is-active{background:#FAC944}
body:not(.admin-page) .hero-signature{color:#002859;background:rgba(255,255,255,.9)}

/* Startseiten-Suche: kompakter, ruhiger und stärker an der Marke orientiert. */
.home-search-panel{
  width:min(1080px,calc(100% - 40px));
  margin:-34px auto 26px;
  border:1px solid #C8DCE8;
  border-radius:14px;
  box-shadow:0 12px 28px rgba(0,40,89,.12);
}
.home-search-tabs{background:#F0F7FB;border-bottom-color:#D7E3EC}
.home-search-tabs button,.home-search-tabs a{min-height:44px;padding:0 18px;font-size:14px;color:#526F7D}
.home-search-tabs button.is-active{color:#004A9A;border-bottom-color:#004A9A}
.home-search-fields{grid-template-columns:1.55fr 1fr 1fr .82fr auto;gap:9px;padding:13px 15px 15px}
.home-search-fields label>span{margin-bottom:4px;color:#002859;font-size:11px}
.home-search-fields label>div{height:44px;border-color:#C8DCE8;border-radius:9px;color:#004A9A;padding:0 10px}
.home-search-submit{height:44px;min-width:164px;border-radius:9px;box-shadow:0 5px 13px rgba(0,74,154,.18)}

/* Erweiterte Suche: deutlich kompakter und mit besserer Raumnutzung. */
.advanced-search-panel{padding:20px 22px}
.advanced-search-head{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;padding-bottom:16px;margin-bottom:16px}
.advanced-search-head h2{font-size:27px;margin:1px 0 4px;color:#002859}
.advanced-search-head p{font-size:14px;line-height:1.45}
.direct-search-box{padding:13px 15px;border-radius:11px;background:#F3F9FC;border-color:#D7E3EC}
.direct-search-box h3{font-size:17px;margin-bottom:3px;color:#002859}
.direct-search-box p{font-size:12px;margin:0 0 8px}
.direct-search-box input{padding:9px 11px;border-radius:8px;border-color:#C8DCE8;font-size:14px}
.advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 13px}
.filter-group{padding:12px 13px;border-radius:10px;border-color:#D7E3EC;background:#fff}
.filter-group>label,.filter-group>.two label{font-size:13px}
.filter-title{margin-bottom:7px;font-size:13px;color:#002859}
.filter-group select,.filter-group input[type="date"],.filter-group input[type="number"]{padding:9px 10px;margin-top:4px;border-radius:8px;border-color:#C8DCE8;font-size:14px;min-height:40px}
.advanced-filters .two{gap:8px}
.check-row,.check-grid{gap:7px 11px}
.check-row label,.check-grid label{gap:6px;font-size:12px;line-height:1.3}
.check-row input,.check-grid input{width:15px;height:15px;margin-top:1px;accent-color:#004A9A}
.filter-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:1px}
.filter-actions button{min-width:175px;min-height:42px}
.filter-actions .button{min-width:155px;min-height:42px}
.search-result-head{margin:22px 0 12px}
.search-result-head h2{font-size:21px;color:#002859}

/* Editorial/CMS-Inhalte an das Hauptdesign anbinden. */
.editorial-list-head h1,.editorial-detail-head h1{color:#002859}
.editorial-card{border-color:#D7E3EC;box-shadow:0 6px 20px rgba(0,40,89,.07)}
.editorial-card-type,.editorial-read{color:#004A9A}
.editorial-card:hover{border-color:#9EC8DF}

@media(max-width:1050px){
  .home-search-fields{grid-template-columns:1.4fr 1fr 1fr 1fr}
  .home-search-submit{grid-column:1/-1;width:100%}
  .advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body:not(.admin-page) .hero-home-redesign .hero-copy{
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:80px 22px 100px!important;
  }
  .home-search-panel{margin:-28px auto 22px;width:calc(100% - 20px)}
  .home-search-tabs{overflow:auto}
  .home-search-tabs button,.home-search-tabs a{padding:0 14px;font-size:12px}
  .home-search-fields{grid-template-columns:1fr;gap:8px;padding:12px}
  .home-search-submit{grid-column:auto}
  .advanced-search-panel{padding:16px 13px}
  .advanced-search-head{grid-template-columns:1fr;gap:12px;padding-bottom:13px;margin-bottom:13px}
  .advanced-filters{grid-template-columns:1fr;gap:9px}
  .filter-group{padding:11px 12px}
  .filter-actions{display:grid;grid-template-columns:1fr}
  .filter-actions button,.filter-actions .button{width:100%;min-width:0}
}
@media(max-width:520px){
  body:not(.admin-page) .hero-home-redesign .hero-copy{padding:70px 17px 92px!important}
  body:not(.admin-page) .hero-home-redesign h2{font-size:clamp(40px,12vw,62px)}
  body:not(.admin-page) .hero-home-redesign .hero-main-slogan{font-size:clamp(25px,7.5vw,39px)}
  body:not(.admin-page) .hero-signature{right:10px;bottom:72px}
}
.public-cms-nav-link{background:#486C27!important;margin-left:3px}
.public-cms-nav-link:hover{background:#36531D!important}
/* CMS-Frontend 1.0.136 */
.fq-cms-public-page .editorial-list-head{align-items:end}
.fq-cms-public-page .editorial-list-head .button{white-space:nowrap}
.fq-cms-editorial-card{display:flex;flex-direction:column}
.fq-cms-editorial-card .editorial-card-body{display:flex;flex-direction:column;flex:1}
.fq-cms-editorial-card .editorial-read{margin-top:auto;padding-top:8px}
.fq-cms-meta{margin:0 0 8px;color:#66808D;font-size:12px;font-weight:700}
.fq-cms-category{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;border-radius:999px;background:#EAF5FB;color:#004A9A;font-size:12px;font-weight:700}
.fq-cms-detail-page{max-width:920px;margin:0 auto 40px}
.fq-cms-cover{border-radius:16px;overflow:hidden;border:1px solid #D7E3EC;box-shadow:0 8px 24px rgba(0,40,89,.08)}
.fq-cms-cover img{width:100%;height:auto;display:block;max-height:560px;object-fit:cover}
.fq-cms-body{background:#fff;border:1px solid #D7E3EC;border-radius:16px;padding:28px 32px;box-shadow:0 8px 24px rgba(0,40,89,.06);margin-top:18px}
.fq-cms-body h2,.fq-cms-body h3,.fq-cms-body h4{color:#002859}
.fq-cms-body a{color:#004A9A}
@media(max-width:700px){.fq-cms-public-page .editorial-list-head{display:block}.fq-cms-public-page .editorial-list-head .button{margin-top:12px}.fq-cms-body{padding:20px 17px}}


/* FQO 1.0.137 – Hero-Text verbindlich im Mittelpunkt des Sliders */
body:not(.admin-page) .hero-home-redesign .hero-copy{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:min(900px,92vw) !important;
  max-width:900px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 24px !important;
  transform:translate(-50%,-50%) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
body:not(.admin-page) .hero-home-redesign .hero-kicker,
body:not(.admin-page) .hero-home-redesign h2,
body:not(.admin-page) .hero-home-redesign .hero-main-slogan,
body:not(.admin-page) .hero-home-redesign .hero-subline{
  width:auto !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
@media(max-width:760px){
  body:not(.admin-page) .hero-home-redesign .hero-copy{
    width:calc(100% - 70px) !important;
    max-width:680px !important;
    padding:0 8px !important;
  }
}

/* FQO 1.0.138 – Navigation/Vermieterbereich wieder vollständig sichtbar */
body:not(.admin-page) .public-nav-dropdown{position:relative;display:flex;align-items:stretch;height:100%}
body:not(.admin-page) .public-nav-droptrigger{display:flex;align-items:center;gap:7px;height:100%;padding:0 12px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--fq-navy);font:700 14px inherit;cursor:pointer;white-space:nowrap}
body:not(.admin-page) .public-nav-droptrigger:hover,
body:not(.admin-page) .public-nav-dropdown:focus-within .public-nav-droptrigger{color:var(--fq-blue);background:rgba(232,247,252,.62);border-bottom-color:var(--fq-blue)}
body:not(.admin-page) .public-nav-chevron{font-size:12px;transition:transform .18s ease}
body:not(.admin-page) .public-nav-dropdown:hover .public-nav-chevron,
body:not(.admin-page) .public-nav-dropdown:focus-within .public-nav-chevron{transform:rotate(180deg)}
body:not(.admin-page) .public-nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-6px);width:255px;padding:8px;border:1px solid #d7e8ef;border-radius:13px;background:#fff;box-shadow:0 16px 34px rgba(7,52,73,.16);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:120}
body:not(.admin-page) .public-nav-dropdown:hover .public-nav-dropdown-menu,
body:not(.admin-page) .public-nav-dropdown:focus-within .public-nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
body:not(.admin-page) .public-nav-dropdown-menu a{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 11px;border-radius:9px;color:var(--fq-navy);text-decoration:none;font-size:13px;font-weight:700}
body:not(.admin-page) .public-nav-dropdown-menu a:hover{background:#eef8fb;color:var(--fq-blue)}
body:not(.admin-page) .public-nav-dropdown-menu a i{width:18px;text-align:center;color:var(--fq-blue)}
body:not(.admin-page) .public-admin-nav-link{white-space:nowrap}
.mobile-menu-section{margin:8px 0;padding:8px 0;border-top:1px solid #e5f0f3;border-bottom:1px solid #e5f0f3}
.mobile-menu-section>strong{display:flex;align-items:center;gap:10px;padding:8px 13px 7px;color:var(--fq-navy);font-size:13px;letter-spacing:.02em}
.mobile-menu-section>strong .fa{color:var(--fq-blue)}
@media(max-width:1050px) and (min-width:761px){
  body:not(.admin-page) .public-nav{margin:0 5px;gap:0}
  body:not(.admin-page) .public-nav a,
  body:not(.admin-page) .public-nav-droptrigger{padding-left:7px;padding-right:7px;font-size:12px}
  body:not(.admin-page) .public-nav a i,
  body:not(.admin-page) .public-nav-droptrigger>i:first-child{display:none}
  body:not(.admin-page) .public-logo img{width:175px}
  body:not(.admin-page) .public-account-button{padding:0 10px}
}
@media(max-width:760px){
  body:not(.admin-page) .sidebar{display:flex!important;visibility:visible!important;opacity:1!important}
  body:not(.admin-page) .public-nav-dropdown{display:block;height:auto}
  body:not(.admin-page) .public-nav-dropdown-menu{display:none}
  .mobile-menu-section{display:block}
  body:not(.admin-page) .public-logo{margin-left:46px;margin-right:auto}
  body:not(.admin-page) .public-logo img{width:148px;max-height:44px}
}

/* FQO 1.0.139 – Hauptnavigation aufgeräumt / Vermieter-Dropdown nur per Hover */
body:not(.admin-page) .public-nav{display:flex;align-items:stretch;gap:2px;height:100%;min-width:0}
body:not(.admin-page) .public-nav>a,
body:not(.admin-page) .public-nav-droptrigger{display:flex;align-items:center;gap:7px;height:100%;padding:0 10px;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--fq-navy);font:700 13px inherit;text-decoration:none;white-space:nowrap;transition:background .16s ease,color .16s ease,border-color .16s ease}
body:not(.admin-page) .public-nav>a:hover,
body:not(.admin-page) .public-nav>a.is-active,
body:not(.admin-page) .public-nav-droptrigger:hover,
body:not(.admin-page) .public-nav-droptrigger.is-active{background:#eef8fb;color:var(--fq-blue);border-bottom-color:var(--fq-blue)}
body:not(.admin-page) .public-nav-dropdown{position:relative;display:flex;align-items:stretch;height:100%}
body:not(.admin-page) .public-nav-droptrigger{cursor:pointer}
body:not(.admin-page) .public-nav-dropdown:hover .public-nav-chevron{transform:rotate(180deg)}
body:not(.admin-page) .public-nav-dropdown-menu{position:absolute;top:calc(100% + 1px);left:50%;transform:translate(-50%,-8px);width:255px;padding:8px;border:1px solid #d7e8ef;border-radius:0 0 13px 13px;background:#fff;box-shadow:0 16px 34px rgba(7,52,73,.16);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility .15s ease;z-index:120}
/* Intentionally hover-only: clicking the main item navigates to the landlord dashboard. */
body:not(.admin-page) .public-nav-dropdown:hover .public-nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
body:not(.admin-page) .public-nav-dropdown-menu a{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 11px;border-radius:9px;color:var(--fq-navy);text-decoration:none;font-size:13px;font-weight:700}
body:not(.admin-page) .public-nav-dropdown-menu a:hover{background:#eef8fb;color:var(--fq-blue)}
body:not(.admin-page) .public-nav-dropdown-menu a i{width:18px;text-align:center;color:var(--fq-blue)}
/* Admin/Redaktion remain available as compact action icons instead of duplicate main-menu links. */
body:not(.admin-page) .public-admin-nav-link,.public-cms-nav-link{display:none!important}
body:not(.admin-page) .public-actions{gap:6px}
body:not(.admin-page) .public-icon-button{width:40px;padding:0}
body:not(.admin-page) .public-admin-icon{display:flex!important}
@media(max-width:1180px) and (min-width:761px){
  body:not(.admin-page) .public-nav>a,body:not(.admin-page) .public-nav-droptrigger{padding-left:7px;padding-right:7px;font-size:12px}
}
@media(max-width:760px){
  body:not(.admin-page) .public-nav-dropdown-menu{display:none!important}
  body:not(.admin-page) .mobile-menu-section{margin:10px 0;padding:9px 0;border-top:1px solid #e5f0f3;border-bottom:1px solid #e5f0f3}
  body:not(.admin-page) .mobile-menu-section>strong{display:flex;align-items:center;gap:10px;padding:8px 13px 9px;color:var(--fq-navy);font-size:13px}
  body:not(.admin-page) .mobile-menu-section>strong .fa{color:var(--fq-blue)}
}

/* FQO 1.0.139 – Click darf das Desktop-Dropdown nicht öffnen; nur Hover. */
@media(min-width:761px){
  body:not(.admin-page) .public-nav-dropdown:focus-within .public-nav-dropdown-menu{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate(-50%,-8px)!important;
  }
  body:not(.admin-page) .public-nav-dropdown:hover .public-nav-dropdown-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,0)!important;
  }
}
body:not(.admin-page) .public-cms-icon{display:flex!important}

/* FQO 1.0.140 – Einheitliches Design für Redaktion/CMS und übrige Inhaltsseiten */
.cms-admin-page,.cms-editor-page{max-width:1120px;margin:0 auto 44px}
.cms-admin-head,.cms-editor-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 0 20px;border-bottom:1px solid var(--line);margin-bottom:18px}
.cms-admin-head h2,.cms-editor-head h2{margin:5px 0 7px;color:var(--fq-navy,#002859);font-size:clamp(28px,4vw,40px);line-height:1.1}
.cms-admin-head p,.cms-editor-head p{margin:0;max-width:760px;color:var(--muted);font-size:16px}
.cms-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.cms-admin-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:700;text-decoration:none}
.cms-admin-tabs a:hover,.cms-admin-tabs a.active{background:#eaf5fb;color:var(--blue);border-color:#a9cfe4}
.cms-admin-panel,.cms-editor-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.cms-admin-panel{padding:8px}
.cms-admin-panel .fq-table-wrap{overflow:auto}
.cms-admin-panel .fq-table{width:100%;border-collapse:separate;border-spacing:0}
.cms-admin-panel .fq-table th{background:#eef8fb;color:var(--navy);padding:13px 14px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.06em}
.cms-admin-panel .fq-table td{padding:14px;border-bottom:1px solid #eaf1f5;color:var(--text)}
.cms-admin-panel .fq-table tr:last-child td{border-bottom:0}
.cms-admin-panel .fq-table tbody tr:hover{background:#f8fcfd}
.cms-admin-panel .fq-actions a{font-weight:700}
.cms-admin-panel .fq-empty{padding:64px 24px}
.cms-editor-panel{padding:24px}
.cms-editor-page .fq-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px}
.cms-editor-page .fq-main label,.cms-editor-page .fq-side label{color:var(--navy)}
.cms-editor-page .fq-form input,.cms-editor-page .fq-form select,.cms-editor-page .fq-form textarea{border-color:#cfe2e8;border-radius:10px;transition:border-color .15s,box-shadow .15s}
.cms-editor-page .fq-form input:focus,.cms-editor-page .fq-form select:focus,.cms-editor-page .fq-form textarea:focus{outline:0;border-color:#5aaed0;box-shadow:0 0 0 3px rgba(0,153,216,.10)}
.cms-editor-page .fq-side{background:linear-gradient(180deg,#f0f8fc,#f8fcfd);border-color:#cfe4ee;position:sticky;top:88px}
.cms-editor-page .fq-toolbar button{font-family:inherit}
.cms-editor-page .fq-current-image img{max-width:100%;width:100%;max-height:260px;object-fit:cover}
@media(max-width:820px){.cms-admin-head,.cms-editor-head{align-items:flex-start;flex-direction:column}.cms-editor-page .fq-grid{grid-template-columns:1fr}.cms-editor-page .fq-side{position:static}.cms-editor-panel{padding:18px}}
@media(max-width:600px){.cms-admin-page,.cms-editor-page{margin-bottom:28px}.cms-admin-head,.cms-editor-head{padding-top:10px}.cms-admin-head h2,.cms-editor-head h2{font-size:29px}.cms-admin-panel{padding:3px}.cms-admin-panel .fq-table th,.cms-admin-panel .fq-table td{padding:10px 8px}.cms-admin-panel .fq-table th:nth-child(4),.cms-admin-panel .fq-table td:nth-child(4){display:none}.cms-editor-page .fq-two{grid-template-columns:1fr}}

/* FQO 1.0.140 – CMS Feinschliff */
.cms-admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}
.cms-admin-panel-head strong{color:var(--navy);font-size:18px}
.cms-content-table .cms-featured{font-weight:800;color:var(--green,#486C27)}
.cms-content-table .cms-muted{color:#82979f}
.cms-empty-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 16px;border-radius:18px;background:#eaf5fb;color:#004A9A;font-size:28px}
.cms-admin-page .fq-notice{margin-bottom:16px}
.cms-admin-page .fq-notice i{margin-right:6px}
@media(max-width:720px){.cms-admin-panel-head{align-items:flex-start;flex-direction:column}.cms-content-table{min-width:720px}.cms-admin-panel .fq-table-wrap{overflow-x:auto}}


/* FQO 1.0.141 – Mobile-Hamburger überarbeitet
   Kompakter Drawer, klare Hover-/Active-Zustände und besseres Touch-Ziel. */
@media(max-width:760px){
  body:not(.admin-page) .sidebar{
    width:min(340px,88vw)!important;
    padding:12px 12px 18px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:14px 0 38px rgba(7,52,73,.20)!important;
    border-right:1px solid #cfe3eb!important;
  }
  body:not(.admin-page) .sidebar .brand{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    height:66px!important;
    margin:0 0 12px!important;
    padding:4px 56px 8px 10px!important;
    border-bottom:1px solid #e3eff3!important;
  }
  body:not(.admin-page) .sidebar .brand img{
    width:155px!important;
    max-width:72%!important;
    max-height:54px!important;
    object-fit:contain!important;
    margin:0!important;
  }
  body:not(.admin-page) .sidebar .mobile-menu-close{
    position:absolute!important;
    top:20px!important;
    right:12px!important;
    z-index:5!important;
    width:42px!important;
    min-height:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #cfe3eb!important;
    border-radius:11px!important;
    background:#eef8fb!important;
    color:#002859!important;
    box-shadow:none!important;
    font-size:0!important;
  }
  body:not(.admin-page) .sidebar .mobile-menu-close i{
    font-size:18px!important;
    color:#004A9A!important;
  }
  body:not(.admin-page) .sidebar nav{
    gap:3px!important;
  }
  body:not(.admin-page) .sidebar nav a{
    position:relative!important;
    min-height:48px!important;
    padding:6px 10px!important;
    gap:12px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    color:#002859!important;
    font-size:15px!important;
    font-weight:700!important;
    transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease!important;
  }
  body:not(.admin-page) .sidebar nav a i{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    background:#eef8fb!important;
    border:1px solid #d5eaf1!important;
    color:#004A9A!important;
    font-size:17px!important;
    transition:background .15s ease,color .15s ease,border-color .15s ease!important;
  }
  body:not(.admin-page) .sidebar nav a:hover,
  body:not(.admin-page) .sidebar nav a:focus-visible{
    background:#e8f5fa!important;
    color:#004A9A!important;
    border-color:#c7e1ea!important;
    transform:translateX(2px)!important;
    outline:none!important;
  }
  body:not(.admin-page) .sidebar nav a:hover i,
  body:not(.admin-page) .sidebar nav a:focus-visible i{
    background:#004A9A!important;
    border-color:#004A9A!important;
    color:#fff!important;
  }
  body:not(.admin-page) .sidebar nav a.is-mobile-active{
    background:#e4f3f9!important;
    color:#004A9A!important;
    border-color:#c4dfE9!important;
  }
  body:not(.admin-page) .sidebar nav a.is-mobile-active i{
    background:#004A9A!important;
    border-color:#004A9A!important;
    color:#fff!important;
  }
  body:not(.admin-page) .mobile-menu-section{
    margin:10px 0 8px!important;
    padding:8px 0 6px!important;
    border-top:1px solid #dcecf1!important;
    border-bottom:1px solid #dcecf1!important;
  }
  body:not(.admin-page) .mobile-menu-section>strong{
    padding:4px 10px 8px!important;
    color:#486C27!important;
    font-size:12px!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
  }
  body:not(.admin-page) .mobile-menu-section>strong .fa{color:#486C27!important}
  body:not(.admin-page) .sidebar-note{
    padding:14px 8px 4px!important;
  }
  body:not(.admin-page) .sidebar-note img{
    max-width:150px!important;
  }
  body.mobile-menu-open .public-topbar{
    z-index:80!important;
  }
}


/* 1.0.143 – Website-Suche: eigenständiges, ruhiges Portal-Design */
.search-page-shell{
  max-width:1160px;
  margin:0 auto 34px;
  padding:0;
  overflow:hidden;
  border:1px solid #d6e7ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(18,92,117,.08);
}
.search-page-shell .site-search-head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:0;
  padding:26px 30px 22px;
  border-bottom:1px solid #e4eff2;
  background:linear-gradient(135deg,#f7fcfd 0%,#fff 72%);
}
.search-page-shell .site-search-head .hero-kicker{
  margin:0 0 5px;
  color:#486c27;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.search-page-shell .site-search-head h2{
  margin:0 0 4px;
  color:#002859;
  font-size:28px;
  line-height:1.15;
}
.search-page-shell .site-search-head p{
  margin:0;
  color:#66808d;
  font-size:14px;
}
.search-page-shell .site-search-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:14px;
  background:#eaf6fb;
  color:#004a9a;
  font-size:21px;
  border:1px solid #d3eaf2;
}
.search-page-shell .site-search-box{
  margin:0;
  padding:20px 28px 24px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.search-page-shell .gsc-control-cse{
  padding:0!important;
}
.search-page-shell .gsc-search-box-tools .gsc-search-box,
.search-page-shell table.gsc-search-box{
  margin:0 0 12px!important;
}
.search-page-shell .gsc-input-box{
  height:46px!important;
  border:1px solid #c7dfe8!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(18,92,117,.04)!important;
}
.search-page-shell input.gsc-input{
  height:44px!important;
  padding:9px 13px!important;
  font-size:15px!important;
}
.search-page-shell .gsc-search-button-v2{
  height:46px!important;
  min-width:50px!important;
  padding:0 16px!important;
  border-radius:12px!important;
  background:#004a9a!important;
  border:0!important;
  box-shadow:none!important;
}
.search-page-shell .gsc-search-button-v2:hover{background:#002859!important}
.search-page-shell .gsc-result-info{
  padding:5px 0 9px!important;
  color:#66808d!important;
  font-size:13px!important;
}
.search-page-shell .gsc-result{
  padding:16px 4px!important;
  border-bottom:1px solid #e6f0f3!important;
}
.search-page-shell .gsc-result:last-child{border-bottom:0!important}
.search-page-shell .gs-title,
.search-page-shell .gs-title b{
  color:#002859!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.search-page-shell .gs-title:hover{color:#004a9a!important}
.search-page-shell .gs-snippet{
  color:#58717c!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.search-page-shell .gsc-url-top,
.search-page-shell .gsc-url-bottom{
  color:#004a9a!important;
  font-size:12px!important;
}
.search-page-shell .gsc-thumbnail-inside{padding-left:0!important}
.search-page-shell .gsc-cursor-box{
  margin-top:8px!important;
  padding-top:14px!important;
  border-top:1px solid #e6f0f3!important;
}
.search-page-shell .gsc-cursor-page{color:#004a9a!important}

/* Leerer Suchzustand */
.search-page-shell .gs-no-results-result .gs-snippet{
  padding:20px 0!important;
  color:#66808d!important;
}

@media(max-width:760px){
  .search-page-shell{
    width:100%;
    margin:0 0 24px;
    border-radius:15px;
  }
  .search-page-shell .site-search-head{
    align-items:flex-start;
    gap:14px;
    padding:20px 17px 17px;
  }
  .search-page-shell .site-search-head h2{font-size:23px}
  .search-page-shell .site-search-head p{font-size:13px;line-height:1.45}
  .search-page-shell .site-search-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px;font-size:18px}
  .search-page-shell .site-search-box{padding:14px 12px 18px}
  .search-page-shell .gsc-search-box-tools .gsc-search-box{margin-bottom:10px!important}
  .search-page-shell .gsc-input-box,.search-page-shell .gsc-search-button-v2{height:43px!important}
  .search-page-shell input.gsc-input{height:41px!important;font-size:14px!important}
  .search-page-shell .gs-title,.search-page-shell .gs-title b{font-size:16px!important}
  .search-page-shell .gs-snippet{font-size:13px!important}
}

/* FQO 1.0.144 – Mobile-Hamburger + professionelle Unterkunftsdetailseite */
@media(max-width:760px){
  body:not(.admin-page) .hamburger-button,
  body:not(.admin-page) .hamburger-button:hover,
  body:not(.admin-page) .hamburger-button:focus-visible,
  body:not(.admin-page) .hamburger-button:active{
    display:flex!important;
    width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    gap:3px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    background-image:none!important;
    border:1px solid #cfe3eb!important;
    color:#002859!important;
    border-radius:10px!important;
    box-shadow:0 2px 8px rgba(18,92,117,.08)!important;
    transform:none!important;
  }
  body:not(.admin-page) .hamburger-button span,
  body:not(.admin-page) .hamburger-button:hover span,
  body:not(.admin-page) .hamburger-button:focus-visible span,
  body:not(.admin-page) .hamburger-button:active span{
    display:block!important;
    flex:0 0 2px!important;
    width:18px!important;
    height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:2px!important;
    background:#002859!important;
    opacity:1!important;
    transform:none!important;
    transition:transform .18s ease,opacity .18s ease,background .18s ease!important;
  }
  body:not(.admin-page) .hamburger-button.is-open span:nth-child(1){transform:translateY(5px) rotate(45deg)!important}
  body:not(.admin-page) .hamburger-button.is-open span:nth-child(2){opacity:0!important}
  body:not(.admin-page) .hamburger-button.is-open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)!important}
}

/* Objektseite – ruhiger, hochwertiger und klarer aufgebaut */
.accommodation-detail{
  max-width:1080px;
  margin:0 auto 50px;
}
.accommodation-detail .detail-hero{
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  min-height:520px;
  border:1px solid #cfe2e9;
  border-radius:20px;
  box-shadow:0 14px 38px rgba(0,58,91,.10);
  background:#fff;
}
.accommodation-detail .detail-hero-copy{
  padding:38px 38px 34px;
  justify-content:flex-start;
}
.accommodation-detail .eyebrow{
  color:#004a9a;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}
.accommodation-detail .detail-accommodation-id{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:11px;
  padding:6px 11px;
  border:1px solid #d5e8ef;
  border-radius:999px;
  background:#f4fafc;
  color:#66808d;
  font-size:11px;
  font-weight:700;
}
.accommodation-detail .detail-hero-copy h2{
  margin:14px 0 18px;
  color:#002859;
  font-size:40px;
  line-height:1.08;
  letter-spacing:-.025em;
}
.accommodation-detail .detail-facts{
  gap:9px;
}
.accommodation-detail .detail-facts span{
  min-height:38px;
  padding:7px 11px;
  border:1px solid #d5e8ef;
  border-radius:10px;
  background:#f6fbfd;
  color:#486b79;
  font-size:13px;
  font-weight:600;
}
.accommodation-detail .detail-facts .fa{color:#004a9a}
.accommodation-detail .hero-description{
  margin-top:21px;
  padding-top:18px;
  border-top:1px solid #e1edf1;
}
.accommodation-detail .hero-description p{
  color:#456674;
  font-size:15px;
  line-height:1.68;
}
.accommodation-detail .hero-map{
  margin-top:20px;
}
.accommodation-detail .hero-map h3{
  margin-bottom:10px;
  color:#002859;
  font-size:15px;
}
.accommodation-detail .hero-map-frame{
  height:190px;
  border-radius:12px;
  border-color:#cfe2e9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.accommodation-detail .hero-map-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:9px;
  padding:7px 11px;
  border:1px solid #cfe2e9;
  border-radius:9px;
  background:#eef8fb;
  color:#004a9a;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.accommodation-detail .hero-map-link:hover{
  background:#004a9a;
  border-color:#004a9a;
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}
.accommodation-detail .detail-hero-photo{
  min-height:520px;
  background:#eaf6fa;
}
.accommodation-detail .detail-hero-photo img{
  transition:transform .5s ease;
}
.accommodation-detail .detail-hero:hover .detail-hero-photo img{transform:scale(1.015)}
.accommodation-detail .detail-tabs{
  position:sticky;
  top:82px;
  z-index:10;
  margin-top:12px;
  border:1px solid #cfe2e9;
  border-radius:13px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,58,91,.06);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);
}
.accommodation-detail .detail-tabs a{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 13px;
  color:#486b79;
  font-size:12px;
  font-weight:700;
  border-right:1px solid #dcebf0;
  transition:background .18s ease,color .18s ease;
}
.accommodation-detail .detail-tabs a:last-child{border-right:0}
.accommodation-detail .detail-tabs a:hover,
.accommodation-detail .detail-tabs a:focus-visible{
  background:#eaf6fb;
  color:#004a9a;
  outline:none;
}
.accommodation-detail .detail-columns{
  gap:20px;
  margin-top:20px;
}
.accommodation-detail .detail-section{
  border:1px solid #d4e5eb;
  border-radius:16px;
  padding:23px;
  box-shadow:0 7px 22px rgba(0,58,91,.055);
}
.accommodation-detail .detail-section h3{
  display:flex;
  align-items:center;
  gap:8px;
  color:#002859;
  font-size:19px;
  font-weight:800;
}
.accommodation-detail .detail-section h3 .fa{color:#004a9a}
.accommodation-detail .overview-row{
  grid-template-columns:190px 1fr;
  padding:12px 0;
  border-bottom-color:#e5eff2;
}
.accommodation-detail .overview-row strong{color:#365d6d}
.accommodation-detail .overview-row span{color:#5d7781}
.accommodation-detail .photo-box{padding:17px}
.accommodation-detail .photo-box h3{padding:0 7px}
.accommodation-detail .photo-box img{border-radius:11px}
.accommodation-detail .price-highlight{
  padding:19px 20px;
  border:1px solid #cde3dc;
  border-radius:13px;
  background:linear-gradient(135deg,#f1faf6,#f5fbfd);
}
.accommodation-detail .price-highlight span{font-weight:700;color:#486b79}
.accommodation-detail .price-highlight strong{color:#004a9a;font-size:29px}
.accommodation-detail .calendar-box .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.accommodation-detail .calendar-month{border:1px solid #d5e6eb;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,58,91,.035)}
.accommodation-detail .calendar-month h4{padding:10px;background:#f1f8fb;color:#002859}
.accommodation-detail .request-box{
  border-color:#c8dfd6;
  background:linear-gradient(135deg,#f1faf6 0%,#f5fbfd 100%);
}
.accommodation-detail .request-box h3{font-size:20px}
.accommodation-detail .request-actions{
  margin-top:15px;
  padding:14px;
  border:1px solid #d4e7e1;
  border-radius:12px;
  background:rgba(255,255,255,.78);
}
.accommodation-detail .request-actions strong{color:#365d6d}
.accommodation-detail .request-actions .booking-open{
  min-height:44px;
  padding:10px 17px;
  border:1px solid #004a9a;
  border-radius:10px;
  background:linear-gradient(180deg,#0b82b3,#004a9a);
  color:#fff;
  box-shadow:0 5px 13px rgba(0,74,154,.18);
  font-weight:800;
}
.accommodation-detail .request-actions .booking-open:hover{
  background:#002859;
  border-color:#002859;
  transform:translateY(-1px);
}
.accommodation-detail .related-section{
  margin-top:36px;
  padding-top:26px;
  border-top:1px solid #dcebef;
}
.accommodation-detail .related-section .section-head h3{font-size:22px}
.accommodation-detail .related-section .section-head>a{
  color:#004a9a;
  font-weight:800;
  text-decoration:none;
}
.accommodation-detail .related-section .section-head>a:hover{text-decoration:underline}
.accommodation-detail .related-grid{gap:15px}
.accommodation-detail .related-grid .accommodation-card{
  border:1px solid #d4e5eb;
  border-radius:13px;
  box-shadow:0 5px 16px rgba(0,58,91,.055);
  transition:transform .18s ease,box-shadow .18s ease;
}
.accommodation-detail .related-grid .accommodation-card:hover{transform:translateY(-3px);box-shadow:0 11px 25px rgba(0,58,91,.10)}

@media(max-width:900px){
  .accommodation-detail .detail-hero{grid-template-columns:1fr;min-height:0}
  .accommodation-detail .detail-hero-photo{min-height:360px;order:-1}
  .accommodation-detail .detail-tabs{top:74px}
}
@media(max-width:600px){
  .accommodation-detail{margin-bottom:32px}
  .accommodation-detail .detail-hero-copy{padding:24px 18px 22px}
  .accommodation-detail .detail-hero-copy h2{font-size:30px}
  .accommodation-detail .detail-hero-photo{min-height:260px}
  .accommodation-detail .detail-facts span{font-size:12px;min-height:35px;padding:6px 9px}
  .accommodation-detail .hero-description p{font-size:14px}
  .accommodation-detail .hero-map-frame{height:170px}
  .accommodation-detail .detail-tabs{position:static;margin-top:10px;border-radius:11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .accommodation-detail .detail-tabs a{min-height:44px;padding:9px 7px;font-size:11px}
  .accommodation-detail .detail-tabs a:last-child{grid-column:1/-1;border-top:1px solid #dcebf0}
  .accommodation-detail .detail-section{padding:17px}
  .accommodation-detail .overview-row{grid-template-columns:1fr;gap:3px}
  .accommodation-detail .calendar-box .section-head{display:block}
  .accommodation-detail .calendar-legend{margin-top:8px}
  .accommodation-detail .request-actions{align-items:stretch;flex-direction:column}
  .accommodation-detail .request-actions .booking-open{width:100%}
}

/* FQO 1.0.145 – ruhige Buttons, keine Button-Hover-Animationen, Bilder ohne Rundungen */
body:not(.admin-page) button,
body:not(.admin-page) .button,
body:not(.admin-page) .home-search-submit,
body:not(.admin-page) .public-account-button,
body:not(.admin-page) .public-icon-button{
  transition:none!important;
  transform:none!important;
}
body:not(.admin-page) button:hover,
body:not(.admin-page) button:focus,
body:not(.admin-page) button:focus-visible,
body:not(.admin-page) button:active,
body:not(.admin-page) .button:hover,
body:not(.admin-page) .button:focus,
body:not(.admin-page) .button:focus-visible,
body:not(.admin-page) .button:active,
body:not(.admin-page) .home-search-submit:hover,
body:not(.admin-page) .home-search-submit:focus,
body:not(.admin-page) .home-search-submit:focus-visible,
body:not(.admin-page) .home-search-submit:active{
  background:#004A9A!important;
  color:#fff!important;
  border-color:#004A9A!important;
  transform:none!important;
  box-shadow:none!important;
}
body:not(.admin-page) .button.secondary:hover,
body:not(.admin-page) .button.secondary:focus,
body:not(.admin-page) .button.secondary:focus-visible,
body:not(.admin-page) .button.secondary:active{
  background:#EAF5FB!important;
  color:#004A9A!important;
  border-color:#C9DFEB!important;
}
body:not(.admin-page) .public-account-button:hover,
body:not(.admin-page) .public-account-button:focus,
body:not(.admin-page) .public-account-button:focus-visible,
body:not(.admin-page) .public-account-button:active,
body:not(.admin-page) .public-icon-button:hover,
body:not(.admin-page) .public-icon-button:focus,
body:not(.admin-page) .public-icon-button:focus-visible,
body:not(.admin-page) .public-icon-button:active{
  background:#004A9A!important;
  color:#fff!important;
  border-color:#004A9A!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Bilder und grafische Bildflächen: bewusst eckig, keine abgerundeten Bildkanten. */
body:not(.admin-page) img,
body:not(.admin-page) picture,
body:not(.admin-page) .accommodation-image,
body:not(.admin-page) .detail-image,
body:not(.admin-page) .detail-hero-photo,
body:not(.admin-page) .detail-hero-photo img,
body:not(.admin-page) .photo-box img,
body:not(.admin-page) .home-region-image,
body:not(.admin-page) .home-region-image img,
body:not(.admin-page) .editorial-card-image,
body:not(.admin-page) .editorial-card-image img,
body:not(.admin-page) .editorial-cover,
body:not(.admin-page) .editorial-cover img,
body:not(.admin-page) .image-placeholder{
  border-radius:0!important;
}

/* Karten dürfen weiterhin Struktur geben, aber Bildkanten bleiben gerade. */
body:not(.admin-page) .accommodation-card,
body:not(.admin-page) .home-region-card,
body:not(.admin-page) .editorial-card{
  overflow:hidden;
}

/* Hamburger: engere Linien und identische Darstellung bei Hover/Fokus. */
@media(max-width:760px){
  body:not(.admin-page) .hamburger-button,
  body:not(.admin-page) .hamburger-button:hover,
  body:not(.admin-page) .hamburger-button:focus,
  body:not(.admin-page) .hamburger-button:focus-visible,
  body:not(.admin-page) .hamburger-button:active{
    gap:1px!important;
    background:#fff!important;
    color:#002859!important;
    border-color:#cfe3eb!important;
    box-shadow:0 2px 8px rgba(18,92,117,.08)!important;
    transform:none!important;
  }
  body:not(.admin-page) .hamburger-button span,
  body:not(.admin-page) .hamburger-button:hover span,
  body:not(.admin-page) .hamburger-button:focus span,
  body:not(.admin-page) .hamburger-button:focus-visible span,
  body:not(.admin-page) .hamburger-button:active span{
    background:#002859!important;
    opacity:1!important;
  }
  body:not(.admin-page) .hamburger-button.is-open span:nth-child(1){transform:translateY(3px) rotate(45deg)!important}
  body:not(.admin-page) .hamburger-button.is-open span:nth-child(2){opacity:0!important}
  body:not(.admin-page) .hamburger-button.is-open span:nth-child(3){transform:translateY(-3px) rotate(-45deg)!important}
}

/* 1.0.146 – Mobile Buchungsanfrage: kompakter, klarer und professioneller */
@media (max-width: 700px){
  .booking-modal-dialog{
    width:calc(100vw - 18px) !important;
    max-width:none !important;
    max-height:calc(100vh - 18px) !important;
    border-radius:14px !important;
    overflow:hidden !important;
    box-shadow:0 18px 48px rgba(8,52,67,.24) !important;
  }

  .booking-modal-head{
    border:0 !important;
    background:#fff !important;
  }
  .booking-header-banner{
    width:100% !important;
    height:96px !important;
    max-height:96px !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:0 !important;
  }

  .booking-modal-close{
    top:10px !important;
    right:10px !important;
    width:40px !important;
    height:40px !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#164f68 !important;
    box-shadow:0 3px 10px rgba(12,68,86,.16) !important;
  }
  .booking-modal-close:hover,
  .booking-modal-close:active,
  .booking-modal-close:focus{
    background:#fff !important;
    color:#164f68 !important;
    box-shadow:0 3px 10px rgba(12,68,86,.16) !important;
    transform:none !important;
  }

  .booking-modal-intro{
    display:block !important;
    padding:13px 16px 12px !important;
    background:#fff !important;
    border-bottom:1px solid #d9eaf0 !important;
  }
  .booking-modal-intro-copy .eyebrow{
    margin-bottom:2px !important;
    font-size:11px !important;
  }
  .booking-modal-intro-copy h2{
    margin:0 0 5px !important;
    font-size:25px !important;
    line-height:1.12 !important;
  }
  .booking-modal-intro-copy p{
    max-width:none !important;
    font-size:12px !important;
    line-height:1.4 !important;
  }
  .booking-modal-benefits{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    margin-top:9px !important;
    padding:0 !important;
  }
  .booking-modal-benefits div,
  .booking-modal-benefits div:first-child{
    grid-column:auto !important;
    font-size:11px !important;
    line-height:1.25 !important;
  }
  .booking-modal-benefits .fa{
    font-size:14px !important;
  }

  .booking-accommodation{
    margin:10px 12px 0 !important;
    padding:10px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    border-radius:10px !important;
    background:#f6fbfd !important;
  }
  .booking-accommodation-main{
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:10px !important;
  }
  .booking-accommodation-photo{
    width:74px !important;
    height:56px !important;
    flex:0 0 74px !important;
    border-radius:0 !important;
    object-fit:cover !important;
  }
  .booking-accommodation-main strong{
    font-size:14px !important;
    margin-bottom:2px !important;
  }
  .booking-accommodation-main span{
    font-size:11px !important;
    margin-bottom:2px !important;
  }
  .booking-accommodation-main small{
    font-size:10px !important;
  }
  .booking-trust{
    display:none !important;
  }

  .booking-form{
    padding:10px 12px 0 !important;
    overflow-y:auto !important;
  }
  .booking-form fieldset:not(.booking-security){
    margin:0 0 10px !important;
    padding:11px 11px 12px !important;
    border-radius:9px !important;
  }
  .booking-form fieldset:not(.booking-security) legend{
    margin-bottom:9px !important;
    font-size:13px !important;
  }
  .booking-form fieldset:not(.booking-security) legend .fa{
    width:24px !important;
    height:24px !important;
    border-radius:6px !important;
    font-size:11px !important;
  }
  .booking-grid{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .booking-form label{
    font-size:11px !important;
  }
  .booking-form input,
  .booking-form select,
  .booking-form textarea{
    min-height:40px !important;
    padding:8px 10px !important;
    border-radius:7px !important;
    font-size:13px !important;
  }

  .booking-security{
    margin:0 0 10px !important;
    padding:10px 11px !important;
    border-radius:9px !important;
  }
  .booking-security legend{
    font-size:12px !important;
  }
  .booking-security p{
    font-size:10px !important;
    margin-bottom:7px !important;
  }
  .booking-captcha{
    gap:7px !important;
    padding:7px 8px !important;
    border-radius:7px !important;
  }
  .booking-captcha strong{font-size:13px !important}
  .booking-captcha input{
    width:52px !important;
    min-height:34px !important;
  }
  .booking-captcha span{
    padding:6px 7px !important;
    font-size:9px !important;
  }

  .booking-form-footer{
    position:relative !important;
    bottom:auto !important;
    margin:0 -12px !important;
    padding:10px 12px 11px !important;
    box-shadow:0 -3px 12px rgba(17,80,99,.04) !important;
  }
  .booking-footer-notice{
    display:none !important;
  }
  .booking-consent{
    align-items:flex-start !important;
    min-height:0 !important;
    margin:0 0 9px !important;
    padding:9px 10px !important;
    border-radius:8px !important;
    font-size:10px !important;
    line-height:1.35 !important;
  }
  .booking-consent span{
    padding-left:29px !important;
  }
  .booking-consent span:before{
    width:19px !important;
    height:19px !important;
    border-radius:5px !important;
  }

  .booking-modal-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
  .booking-modal-actions .button{
    width:100% !important;
    min-height:43px !important;
    border-radius:8px !important;
    font-size:12px !important;
  }
  .booking-submit{
    order:-1 !important;
    background:#198c68 !important;
    border-color:#198c68 !important;
    box-shadow:none !important;
  }
  .booking-modal-actions .secondary,
  .booking-modal-actions .secondary:hover,
  .booking-modal-actions .secondary:active,
  .booking-modal-actions .secondary:focus{
    background:#fff !important;
    border-color:#bfd7df !important;
    color:#164f68 !important;
    box-shadow:none !important;
    transform:none !important;
  }
  .booking-footer-legal{
    margin:6px 0 0 !important;
    font-size:8.5px !important;
  }
}

@media (max-width: 420px){
  .booking-header-banner{
    height:88px !important;
    max-height:88px !important;
  }
  .booking-modal-intro{padding:11px 14px 10px !important}
  .booking-modal-intro-copy h2{font-size:22px !important}
  .booking-modal-intro-copy p{font-size:11px !important}
  .booking-accommodation{margin:8px 10px 0 !important}
  .booking-accommodation-photo{width:68px !important;height:52px !important;flex-basis:68px !important}
  .booking-form{padding-left:10px !important;padding-right:10px !important}
  .booking-form-footer{margin-left:-10px !important;margin-right:-10px !important;padding-left:10px !important;padding-right:10px !important}
}

/* 1.0.148 – Buttons & Galerie controls: ruhiges, klares Portal-Design */
button,
.button,
button:hover,
.button:hover,
button:active,
.button:active,
button:focus,
.button:focus{
  transform:none !important;
  filter:none !important;
}

button,
.button{
  min-height:42px;
  padding:10px 17px;
  border:1px solid #0a6792;
  border-radius:6px;
  background:#0876a6;
  color:#fff;
  box-shadow:none;
  font-weight:700;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}

button:hover,
.button:hover{
  background:#075f86;
  border-color:#075f86;
  color:#fff;
  box-shadow:none;
}

button:active,
.button:active{
  background:#075f86;
  border-color:#075f86;
  box-shadow:none;
}

button:focus-visible,
.button:focus-visible{
  outline:2px solid rgba(8,118,166,.35);
  outline-offset:2px;
  box-shadow:none;
}

.button.secondary{
  background:#fff;
  color:#075f86;
  border:1px solid #b9d5df;
  box-shadow:none;
}
.button.secondary:hover,
.button.secondary:active{
  background:#f4fafc;
  color:#075f86;
  border-color:#8ebdcd;
  box-shadow:none;
}

/* Galerie: keine runden Bild-/Grafikflächen und keine verspielten Kreispfeile */
.slide-stage{
  border-radius:0 !important;
}

.slide-arrow,
.lightbox-close,
.lightbox-arrow{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.92) !important;
  border-radius:5px !important;
  background:#0876a6 !important;
  color:#fff !important;
  box-shadow:0 2px 8px rgba(0,45,70,.18) !important;
  transform:none !important;
  transition:background-color .15s ease,border-color .15s ease !important;
}

.slide-arrow:hover,
.lightbox-close:hover,
.lightbox-arrow:hover,
.slide-arrow:active,
.lightbox-close:active,
.lightbox-arrow:active{
  background:#075f86 !important;
  border-color:#fff !important;
  color:#fff !important;
  transform:none !important;
  box-shadow:0 2px 8px rgba(0,45,70,.18) !important;
}

.slide-open{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:38px !important;
  padding:8px 13px !important;
  border:1px solid #b9d5df !important;
  border-radius:5px !important;
  background:#fff !important;
  color:#075f86 !important;
  box-shadow:none !important;
  font-weight:700 !important;
}
.slide-open:hover,
.slide-open:active{
  background:#f4fafc !important;
  border-color:#8ebdcd !important;
  color:#075f86 !important;
  transform:none !important;
  box-shadow:none !important;
}

/* Objektseite: klare, eckige Inhaltsflächen */
.detail-card,
.detail-section,
.photo-box,
.amenities-list span{
  border-radius:6px;
}

@media(max-width:600px){
  button,.button{min-height:44px;padding:10px 15px;border-radius:6px}
  .slide-arrow,.lightbox-close,.lightbox-arrow{width:34px !important;height:34px !important;min-width:34px !important;min-height:34px !important;border-radius:4px !important}
}

/* 1.0.149 – Buchungsanfrage: gesamtes Pop-up auf Desktop und Mobil scrollbar */
body.booking-modal-open{
  overflow:hidden !important;
  overscroll-behavior:none;
}
.booking-modal-dialog{
  max-height:calc(100vh - 24px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:block !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#9fc4d1 #f1f8fa;
}
.booking-modal-dialog > .booking-form{
  display:block !important;
  overflow:visible !important;
  min-height:auto !important;
  overscroll-behavior:auto !important;
}
.booking-modal-dialog::-webkit-scrollbar{width:9px}
.booking-modal-dialog::-webkit-scrollbar-track{background:#f1f8fa}
.booking-modal-dialog::-webkit-scrollbar-thumb{background:#9fc4d1;border-radius:6px;border:2px solid #f1f8fa}
.booking-modal-dialog::-webkit-scrollbar-thumb:hover{background:#7eaebd}
@media(max-width:700px){
  .booking-modal-dialog{
    max-height:calc(100vh - 10px) !important;
    width:calc(100vw - 10px) !important;
    margin:5px auto !important;
    overflow-y:auto !important;
  }
  .booking-modal-dialog > .booking-form{
    overflow:visible !important;
  }
}


/* FQ GLOBAL IMAGE CORNERS OVERRIDE 1.0.152
   All photographic/raster images in the portal are deliberately square.
   Containers, cards and controls keep their own design independently. */
img,
picture img,
figure img,
.gallery img,
.gallery-item img,
.photo img,
.photos img,
.image img,
.image-card img,
.object-image img,
.object-gallery img,
.property-image img,
.property-gallery img,
.cover-image img,
.card-image img,
.listing-image img,
.region-image img,
.activity-image img,
.hero img,
.hero-slide img,
.fq-article-content img {
    border-radius: 0 !important;
}


/* 1.0.153 – Administrative Objektverwaltung & ruhiger Back-to-Top */
.admin-object-list{display:grid;gap:10px;margin-top:18px}
.admin-object-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);background:#fff}
.admin-object-main{display:flex;align-items:center;gap:13px;min-width:0}
.admin-object-thumb{width:68px;height:54px;flex:0 0 68px;display:grid;place-items:center;background:#eef8fb;border:1px solid var(--line);overflow:hidden}
.admin-object-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0!important}
.admin-object-thumb i{font-size:22px;color:var(--blue)}
.admin-object-main strong,.admin-object-main span,.admin-object-main small{display:block}
.admin-object-main strong{color:var(--navy)}
.admin-object-main span,.admin-object-main small{color:var(--muted);font-size:14px}
.admin-object-meta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.admin-object-status{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid var(--line);font-size:12px;font-weight:700}
.admin-object-status.is-active{color:#397a42;background:#f2faf3}
.admin-object-status.is-inactive{color:#7a6660;background:#faf6f4}
.admin-object-edit-modal{position:fixed;inset:0;z-index:10000;display:none;padding:20px;overflow:auto}
.admin-object-edit-modal.is-open{display:flex;align-items:center;justify-content:center}
.admin-object-edit-modal-backdrop{position:fixed;inset:0;background:rgba(12,42,55,.58);backdrop-filter:blur(2px)}
.admin-object-edit-modal-box{position:relative;z-index:1;width:min(900px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(10,50,65,.18);padding:24px}
.admin-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.admin-dialog-head h3{margin:3px 0 4px;color:var(--navy);font-size:25px}
.admin-dialog-head p{margin:0;color:var(--muted)}
.admin-object-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-object-edit-grid label{display:block;font-weight:700;color:var(--navy)}
.admin-object-edit-grid label>span{display:block;margin-bottom:6px}
.admin-object-edit-grid input,.admin-object-edit-grid select,.admin-object-edit-grid textarea{width:100%;border:1px solid #cfe2e8;background:#fff;color:var(--text);padding:11px 12px;border-radius:6px;font:inherit}
.admin-object-edit-grid textarea{resize:vertical}
.admin-object-edit-wide{grid-column:1/-1}
.admin-object-active{grid-column:1/-1;display:flex!important;align-items:center;gap:9px;font-weight:600!important}
.admin-object-active input{width:auto!important}
.admin-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
body.admin-object-modal-open{overflow:hidden}
.back-to-top{
  background:#fff!important;
  color:var(--blue)!important;
  border:1px solid #cfe2e8!important;
  border-radius:5px!important;
  box-shadow:0 3px 10px rgba(18,92,117,.12)!important;
  transform:none!important;
}
.back-to-top:hover,.back-to-top:focus,.back-to-top:active{
  background:#fff!important;
  color:var(--blue)!important;
  border-color:#cfe2e8!important;
  box-shadow:0 3px 10px rgba(18,92,117,.12)!important;
  transform:none!important;
  outline:none!important;
}
@media(max-width:700px){
 .admin-object-row{align-items:flex-start;flex-direction:column}
 .admin-object-meta{width:100%;justify-content:space-between}
 .admin-object-edit-grid{grid-template-columns:1fr}
 .admin-object-edit-wide,.admin-object-active{grid-column:auto}
 .admin-object-edit-modal{padding:10px}
 .admin-object-edit-modal-box{max-height:calc(100vh - 20px);padding:18px}
 .admin-dialog-actions{flex-direction:column-reverse}
 .admin-dialog-actions .button{width:100%}
}

/* 1.0.154 – Kompakte administrative Objektverwaltung */
.admin-object-list{grid-template-columns:1fr;gap:8px}
.admin-object-row{min-height:76px;padding:10px 12px;box-sizing:border-box}
.admin-object-main{gap:12px;flex:1 1 auto}
.admin-object-thumb{width:76px!important;height:56px!important;flex:0 0 76px!important;border-radius:0!important;overflow:hidden!important;position:relative}
.admin-object-thumb img{width:76px!important;height:56px!important;max-width:none!important;min-width:0!important;max-height:none!important;object-fit:cover!important;border-radius:0!important;display:block!important}
.admin-object-main>div:last-child{min-width:0}
.admin-object-main strong{font-size:15px;line-height:1.25;margin-bottom:2px}
.admin-object-main span{font-size:13px;line-height:1.25}
.admin-object-main small{font-size:12px;line-height:1.25;margin-top:2px}
.admin-object-meta{gap:8px}
.admin-object-status{white-space:nowrap;padding:4px 7px;font-size:11px}
.admin-object-edit-trigger{white-space:nowrap!important;padding:9px 12px!important;min-height:38px}
.admin-object-edit-modal-box{border-radius:0!important}
@media(max-width:700px){
 .admin-object-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important}
 .admin-object-main{width:auto;min-width:0}
 .admin-object-thumb{width:64px!important;height:50px!important;flex-basis:64px!important}
 .admin-object-thumb img{width:64px!important;height:50px!important}
 .admin-object-meta{width:auto!important;margin-left:auto;justify-content:flex-end!important;flex-wrap:wrap}
 .admin-object-status{display:none}
 .admin-object-edit-trigger{font-size:12px!important;padding:8px 10px!important}
}

/* 1.0.155 – Buchungsanfrage: gesamtes Pop-up auf Desktop und Smartphone scrollbar */
.booking-modal-dialog{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.booking-modal-dialog>.booking-form{
  overflow:visible !important;
  min-height:auto !important;
  flex:0 0 auto !important;
}
.booking-modal-dialog::-webkit-scrollbar{width:9px}
.booking-modal-dialog::-webkit-scrollbar-track{background:#f4fafc}
.booking-modal-dialog::-webkit-scrollbar-thumb{background:#b9d7e1;border-radius:6px}
.booking-modal-dialog::-webkit-scrollbar-thumb:hover{background:#9fc5d1}
@media(max-width:700px){
  .booking-modal-dialog{
    max-height:calc(100vh - 10px) !important;
    height:auto !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }
  .booking-modal-dialog>.booking-form{
    overflow:visible !important;
    min-height:auto !important;
  }
}


/* Besucherstatistik – professionelle, ruhige Admin-Darstellung */
.visitor-filter{
  grid-template-columns:160px minmax(180px,1fr) minmax(180px,1fr) 120px minmax(190px,auto);
  gap:14px;
  padding:2px 0 0;
}
.visitor-filter label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:var(--navy);
  font-size:12px;
  font-weight:800;
  text-transform:none;
}
.visitor-filter input,.visitor-filter select{
  min-height:44px;
  box-sizing:border-box;
  border:1px solid #cfe2e8;
  border-radius:6px;
  background:#fff;
  color:var(--navy);
  padding:9px 12px;
  font:inherit;
  font-weight:500;
  outline:none;
}
.visitor-filter input:focus,.visitor-filter select:focus{
  border-color:#7fb8cc;
  box-shadow:0 0 0 2px rgba(0,153,216,.08);
}
.visitor-filter-actions{
  display:flex;
  gap:8px;
  align-items:stretch;
}
.visitor-filter-actions .button{
  min-height:44px;
  flex:1 1 0;
  justify-content:center;
  border-radius:6px;
  white-space:nowrap;
}
.visitor-filter-actions .visitor-reset{
  background:#fff;
  color:var(--navy);
  border:1px solid #cfe2e8;
  box-shadow:none;
}
.visitor-filter-actions .visitor-reset:hover,
.visitor-filter-actions .visitor-reset:active,
.visitor-filter-actions .visitor-reset:focus{
  background:#fff;
  color:var(--navy);
  transform:none;
  box-shadow:none;
}

.admin-stats .admin-stat{
  min-height:118px;
  box-sizing:border-box;
  border-radius:8px;
  box-shadow:none;
  padding:18px 18px 16px;
  border-color:#d7e7ec;
}
.admin-stats .admin-stat .fa{
  width:38px;
  height:38px;
  margin-bottom:11px;
  border-radius:6px;
  font-size:17px;
}
.admin-stats .admin-stat strong{font-size:27px}

/* WHOIS als strukturierte Informationsansicht statt als Textblock */
.whois-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border:1px solid #d9e8ed;
  background:#fff;
}
.whois-grid>div{
  display:grid;
  grid-template-columns:minmax(105px,.55fr) minmax(0,1.45fr);
  gap:12px;
  padding:11px 13px;
  border-right:1px solid #e3eef2;
  border-bottom:1px solid #e3eef2;
  min-width:0;
}
.whois-grid>div:nth-child(even){border-right:0}
.whois-grid>div:nth-last-child(-n+2){border-bottom:0}
.whois-grid span{
  color:#6d858f;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.whois-grid strong{
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  overflow-wrap:anywhere;
}

/* Herkunft und beliebte Seiten: klare Zeilen statt überladener Karten */
.visitor-referrer-row,.visitor-top-list .admin-row{
  border-radius:6px;
  box-shadow:none;
  border-color:#dce9ed;
}
.visitor-referrer-row{background:#fff}
.visitor-referrer-special{background:#f5fafb}
.visitor-count-badge{
  border-radius:6px;
  background:#eef7fa;
  border:1px solid #d7e9ee;
}

/* Zugriffstabelle: weniger Rundungen, ruhigere Interaktion */
.visitor-table-wrap{border-radius:6px;box-shadow:none}
.visitor-table th{background:#f1f8fa}
.visitor-table tbody tr:hover{background:#fff}
.visitor-page{border-radius:4px}
.visitor-whois{border-radius:5px!important;box-shadow:none!important}
.visitor-badge{border-radius:5px}

@media(max-width:1100px){
  .visitor-filter{grid-template-columns:1fr 1fr 1fr}
  .visitor-filter-actions{grid-column:1/-1;justify-content:flex-start}
  .visitor-filter-actions .button{flex:0 0 auto;min-width:145px}
}
@media(max-width:900px){
  .whois-grid{grid-template-columns:1fr}
  .whois-grid>div:nth-child(even){border-right:0}
  .whois-grid>div:nth-last-child(-n+2){border-bottom:1px solid #e3eef2}
  .whois-grid>div:last-child{border-bottom:0}
}
@media(max-width:600px){
  .visitor-filter{grid-template-columns:1fr}
  .visitor-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .visitor-filter-actions .button{width:100%;min-width:0}
  .whois-grid>div{grid-template-columns:1fr;gap:4px}
  .whois-grid span{font-size:10px}
}

/* FQO 1.0.160 – Region landing page / Google soft-404 prevention */
.fq-region-seo-intro{margin:0 0 28px;padding:28px 30px;border:1px solid #d7e6ee;background:#f7fbfd;}
.fq-region-seo-intro h2{margin:8px 0 12px;color:#002859;font-size:clamp(24px,3vw,34px);line-height:1.15;}
.fq-region-seo-intro p{max-width:900px;margin:0;color:#526b79;font-size:17px;line-height:1.7;}
.fq-region-seo-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.fq-region-seo-links .button{border-radius:4px!important;box-shadow:none!important;transition:none!important;}
@media(max-width:700px){.fq-region-seo-intro{padding:22px 18px;margin-bottom:22px}.fq-region-seo-intro p{font-size:16px}.fq-region-seo-links{display:grid;grid-template-columns:1fr}.fq-region-seo-links .button{text-align:center}}

/* 1.0.161 – Buchungs-Popup für kleine Smartphones: echter Dialog-Scrollbereich */
@media (max-width: 520px){
  .booking-modal-dialog{
    width:calc(100vw - 12px) !important;
    max-width:none !important;
    height:calc(100dvh - 12px) !important;
    max-height:calc(100dvh - 12px) !important;
    min-height:0 !important;
    margin:6px auto !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    touch-action:pan-y !important;
    scrollbar-width:auto !important;
    box-sizing:border-box !important;
  }

  .booking-modal-dialog > *{
    max-width:100% !important;
  }

  .booking-modal-head{
    position:relative !important;
  }

  .booking-header-banner{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }

  .booking-modal-close{
    right:9px !important;
    top:9px !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }

  .booking-modal-intro{
    padding:10px 12px 9px !important;
  }
  .booking-modal-intro-copy .eyebrow{
    font-size:10px !important;
  }
  .booking-modal-intro-copy h2{
    font-size:21px !important;
    line-height:1.08 !important;
    margin-bottom:4px !important;
  }
  .booking-modal-intro-copy p{
    font-size:10.5px !important;
    line-height:1.32 !important;
  }
  .booking-modal-benefits{
    gap:3px !important;
    margin-top:7px !important;
  }
  .booking-modal-benefits div,
  .booking-modal-benefits div:first-child{
    font-size:10px !important;
    line-height:1.2 !important;
  }
  .booking-modal-benefits .fa{
    font-size:13px !important;
  }

  .booking-accommodation{
    margin:8px 9px 0 !important;
    padding:9px !important;
    gap:8px !important;
  }
  .booking-accommodation-photo{
    width:62px !important;
    height:47px !important;
    flex-basis:62px !important;
  }
  .booking-accommodation-main strong{font-size:13px !important}
  .booking-accommodation-main span{font-size:10.5px !important}
  .booking-accommodation-main small{font-size:9.5px !important}
  .booking-trust{display:none !important}

  .booking-form{
    padding:8px 9px 0 !important;
    overflow:visible !important;
  }
  .booking-form fieldset:not(.booking-security){
    margin-bottom:7px !important;
    padding:9px 9px 10px !important;
    border-radius:7px !important;
  }
  .booking-form fieldset:not(.booking-security) legend{
    margin-bottom:6px !important;
    font-size:11.5px !important;
  }
  .booking-form fieldset:not(.booking-security) legend .fa{
    width:21px !important;
    height:21px !important;
    border-radius:5px !important;
    font-size:10px !important;
  }
  .booking-grid{gap:6px !important}
  .booking-form label{font-size:10px !important}
  .booking-form input,
  .booking-form select,
  .booking-form textarea{
    min-height:36px !important;
    margin-top:4px !important;
    padding:7px 8px !important;
    border-radius:6px !important;
    font-size:12px !important;
  }
  .booking-form textarea{min-height:74px !important}

  .booking-security{
    margin-bottom:7px !important;
    padding:8px 9px !important;
    border-radius:7px !important;
  }
  .booking-security legend{font-size:11px !important}
  .booking-security p{font-size:9px !important;margin:0 0 5px !important}
  .booking-captcha{padding:6px 7px !important;gap:5px !important;border-radius:6px !important}
  .booking-captcha strong{font-size:11px !important}
  .booking-captcha input{width:46px !important;min-height:31px !important}
  .booking-captcha span{padding:5px 6px !important;font-size:8px !important}

  .booking-form-footer{
    position:relative !important;
    margin:0 -9px !important;
    padding:8px 9px 9px !important;
  }
  .booking-footer-notice{display:none !important}
  .booking-consent{
    min-height:0 !important;
    margin-bottom:7px !important;
    padding:7px 8px !important;
    font-size:9.5px !important;
    line-height:1.25 !important;
  }
  .booking-consent span{padding-left:27px !important}
  .booking-consent span:before{width:18px !important;height:18px !important}
  .booking-modal-actions{gap:6px !important}
  .booking-modal-actions .button{
    min-height:39px !important;
    padding:8px 10px !important;
    border-radius:6px !important;
    font-size:11px !important;
  }
  .booking-footer-legal{font-size:8px !important;margin-top:5px !important}
}

@media (max-width:360px){
  .booking-modal-dialog{
    width:calc(100vw - 8px) !important;
    height:calc(100dvh - 8px) !important;
    max-height:calc(100dvh - 8px) !important;
    margin:4px auto !important;
  }
  .booking-header-banner{max-height:none !important}
  .booking-modal-close{width:34px !important;height:34px !important;min-width:34px !important;min-height:34px !important;font-size:16px !important}
  .booking-modal-intro-copy h2{font-size:19px !important}
  .booking-modal-intro-copy p{font-size:10px !important}
  .booking-accommodation-photo{width:56px !important;height:43px !important;flex-basis:56px !important}
  .booking-form input,.booking-form select,.booking-form textarea{font-size:11.5px !important}
}

/* 1.0.162 – Werbeblöcke Desktop-Design */
.site-ad{
  width:100%;
  max-width:1120px;
  margin:30px auto;
  padding:16px 18px 18px;
  background:linear-gradient(135deg,#f7fcfd 0%,#eef8fb 100%);
  border:1px solid #d5e8ed;
  border-radius:14px;
  box-shadow:0 4px 14px rgba(18,92,117,.045);
  text-align:left;
}
.site-ad-label{
  margin:0 0 9px;
  font-size:9px;
  line-height:1;
  letter-spacing:.16em;
  color:#78919a;
}
.site-ad h3{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.25;
  color:var(--navy);
}
.site-ad-image{
  margin:0 0 10px;
  overflow:visible;
  border-radius:0;
  text-align:center;
}
.site-ad-image img,
.site-ad-image a img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:180px;
  margin:0 auto;
  object-fit:contain;
  border-radius:0 !important;
}
.site-ad-html{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-align:center;
}
.site-ad-html img{
  display:block;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:180px;
  margin:0 auto !important;
  border-radius:0 !important;
}
.site-ad-html a{display:block;max-width:100%;}
.site-ad p{margin:0;color:#5c747d;font-size:14px;text-align:center}
.site-ad-link{display:inline-flex;margin:10px auto 0;color:var(--blue);font-size:13px}
.site-ad-home-intro{margin-top:8px}
.site-ad-home-after-quartiere{margin-top:30px}
.site-ad-unterkuenfte-mitte{grid-column:1/-1;margin:0}
.site-ad-detail-nach-fotos,.site-ad-detail-vor-buchung{margin-top:18px}

@media(max-width:900px){
  .site-ad{max-width:100%;}
}

@media(max-width:600px){
  .site-ad{width:100%;max-width:100%;margin:20px 0;padding:15px 14px;border-radius:12px;text-align:left}
  .site-ad-image img,.site-ad-html img{max-height:180px;margin-left:auto !important;margin-right:auto !important}
  .site-ad p{text-align:left}
}

/* FQO 1.0.163 – Hero-Signatur an die handschriftlichen Slogans angleichen */
body:not(.admin-page) .hero-home-redesign .hero-signature{
  right:42px!important;
  bottom:72px!important;
  z-index:8!important;
  color:#fff!important;
  font-family:"Playwrite DESAS Custom","PlaywriteDESAS",cursive!important;
  font-size:38px!important;
  font-weight:500!important;
  line-height:1.08!important;
  letter-spacing:-.01em!important;
  text-align:center!important;
  transform:rotate(-3deg)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  text-shadow:0 2px 3px rgba(0,40,89,.95),0 5px 14px rgba(0,0,0,.58)!important;
  white-space:nowrap;
}
body:not(.admin-page) .hero-home-redesign .hero-signature span{
  display:block!important;
  margin-top:6px!important;
  color:#fff!important;
  font-family:"Playwrite DESAS Custom","PlaywriteDESAS",cursive!important;
  font-size:20px!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
  text-shadow:0 2px 3px rgba(0,40,89,.95),0 4px 10px rgba(0,0,0,.55)!important;
}
@media(max-width:760px){
  body:not(.admin-page) .hero-home-redesign .hero-signature{
    right:14px!important;
    bottom:62px!important;
    font-size:27px!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-signature span{
    font-size:15px!important;
    margin-top:4px!important;
  }
}
@media(max-width:380px){
  body:not(.admin-page) .hero-home-redesign .hero-signature{
    right:9px!important;
    bottom:58px!important;
    font-size:23px!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-signature span{
    font-size:13px!important;
  }
}

/* FQO 1.0.164 – Hero-Signatur und rotierende Slogans in Source Sans 3 */
@font-face{
  font-family:"Source Sans 3 Hero";
  src:url("../fonts/SourceSans3-VariableFont_wght.ttf") format("truetype");
  font-weight:200 900;
  font-style:normal;
  font-display:swap;
}
body:not(.admin-page) .hero-home-redesign .hero-main-slogan,
body:not(.admin-page) .hero-home-redesign .hero-signature,
body:not(.admin-page) .hero-home-redesign .hero-signature span{
  font-family:"Source Sans 3 Hero","Source Sans 3",Arial,sans-serif!important;
  font-style:normal!important;
}
body:not(.admin-page) .hero-home-redesign .hero-main-slogan{font-weight:500!important;}
body:not(.admin-page) .hero-home-redesign .hero-signature{font-weight:500!important;}
body:not(.admin-page) .hero-home-redesign .hero-signature span{font-weight:400!important;}

/* 1.0.165 – Hero-Signatur und rotierende Slogans vollständig auf Source Sans 3 */
@font-face{
  font-family:"FQ Source Sans 3 Hero";
  src:url('../fonts/SourceSans3-VariableFont_wght.ttf') format('truetype');
  font-weight:200 900;
  font-style:normal;
  font-display:swap;
}
/* Rotierende Slogans im Inhaltsbereich */
body:not(.admin-page) .intro h2,
body:not(.admin-page) .intro .intro-slogan{
  font-family:"FQ Source Sans 3 Hero",FQSans,Arial,sans-serif !important;
  font-weight:600 !important;
  font-style:normal !important;
  letter-spacing:-.02em;
}
/* Rotierender Hero-Slogan */
body:not(.admin-page) .hero-home-redesign .hero-main-slogan{
  font-family:"FQ Source Sans 3 Hero",FQSans,Arial,sans-serif !important;
  font-weight:600 !important;
  font-style:normal !important;
  letter-spacing:-.015em;
}
/* Hero-Signatur */
body:not(.admin-page) .hero-signature,
body:not(.admin-page) .hero-signature span{
  font-family:"FQ Source Sans 3 Hero",FQSans,Arial,sans-serif !important;
  font-weight:600 !important;
  font-style:normal !important;
  letter-spacing:-.015em;
}

/* FQO 1.0.166 – Zugriffsprotokoll: kompakter, ruhiger und professioneller */
.visitor-log-section .admin-section-head{
  padding-bottom:2px;
}
.visitor-log-section .admin-section-head p{
  max-width:900px;
  line-height:1.45;
}
.visitor-log-section .visitor-count-badge{
  border-radius:6px;
  padding:7px 10px;
  background:#f2f8fa;
  border:1px solid #d7e8ed;
  color:#145f86;
  box-shadow:none;
}
.visitor-log-section .visitor-table-wrap{
  overflow-x:auto;
  overflow-y:visible;
  border:1px solid #d4e5ea;
  border-radius:8px;
  box-shadow:none;
  scrollbar-width:thin;
}
.visitor-log-section .visitor-table{
  min-width:1080px;
  table-layout:fixed;
}
.visitor-log-section .visitor-table th,
.visitor-log-section .visitor-table td{
  padding:10px 11px;
  border-right:1px solid #e1edf0;
  border-bottom:1px solid #e4eef1;
}
.visitor-log-section .visitor-table th{
  height:44px;
  background:#f1f8fa;
  color:#153f62;
  font-size:10px;
  letter-spacing:.045em;
}
.visitor-log-section .visitor-table tbody tr:nth-child(even){background:#fbfdfe}
.visitor-log-section .visitor-table tbody tr:hover{background:inherit}
.visitor-log-section .visitor-time{
  font-size:11px;
  color:#4e6e7a;
}
.visitor-log-section .visitor-time span{font-weight:700;color:#315b70}
.visitor-log-section .visitor-time small{font-size:10px;color:#81959c}
.visitor-log-section .visitor-table code{font-size:11px;color:#315b70}
.visitor-log-section .visitor-page{
  max-width:100%;
  padding:5px 8px;
  border-radius:5px;
  background:#edf7fa;
  color:#155f83;
  font-size:11px;
}
.visitor-log-section .visitor-status{
  font-size:11px;
}
.visitor-log-section .visitor-referrer-cell{
  font-size:11px;
}
.visitor-log-section .visitor-whois{
  min-height:32px!important;
  padding:5px 8px!important;
  border-radius:5px!important;
  border-color:#cfe1e7!important;
  box-shadow:none!important;
  background:#fff!important;
  color:#145f86!important;
  font-size:10px!important;
}
.visitor-log-section .visitor-whois:hover,
.visitor-log-section .visitor-whois:focus,
.visitor-log-section .visitor-whois:active{
  transform:none!important;
  box-shadow:none!important;
  background:#f4fafb!important;
}
.visitor-log-section .visitor-badge{
  min-width:34px;
  padding:5px 8px;
  border-radius:5px;
  font-size:10px;
}
.visitor-log-section .visitor-action-trigger{
  width:32px;
  height:32px;
  border-radius:5px;
  box-shadow:none;
}
.visitor-log-section .visitor-action-trigger:hover,
.visitor-log-section .visitor-action-menu[open] .visitor-action-trigger{
  transform:none;
  box-shadow:none;
}
.visitor-log-section .visitor-action-popover{
  border-radius:6px;
  box-shadow:0 8px 22px rgba(20,76,103,.12);
}
@media(max-width:900px){
  .visitor-log-section .admin-section-head{gap:12px}
  .visitor-log-section .visitor-count-badge{margin-top:4px}
}
@media(max-width:600px){
  .visitor-log-section .visitor-table-wrap{
    margin-left:-1px;
    margin-right:-1px;
    border-radius:6px;
  }
  .visitor-log-section .visitor-table{min-width:1060px}
  .visitor-log-section .visitor-table th,
  .visitor-log-section .visitor-table td{padding-left:9px;padding-right:9px}
}

/* Besucherstatistik – gesperrte Besucher/Benutzer deutlich kennzeichnen */
.visitor-log-section .visitor-table tbody tr.visitor-row-blocked-ip > td{
  background:#fff1f0 !important;
  border-bottom-color:#f2cfcc;
}
.visitor-log-section .visitor-table tbody tr.visitor-row-blocked-ip > td:first-child{
  border-left:4px solid #b42318;
  padding-left:12px;
}
.visitor-log-section .visitor-table tbody tr.visitor-row-blocked-user > td{
  background:#fff8e8 !important;
  border-bottom-color:#f0dfb7;
}
.visitor-log-section .visitor-table tbody tr.visitor-row-blocked-user > td:first-child{
  border-left:4px solid #b54708;
  padding-left:12px;
}
.visitor-log-section .visitor-table tbody tr.visitor-row-blocked-ip:hover > td{
  background:#ffe8e6 !important;
}
.visitor-log-section .visitor-table tbody tr.visitor-row-blocked-user:hover > td{
  background:#fff2d4 !important;
}
.visitor-blocked-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:5px;
  padding:3px 7px;
  border:1px solid #e7b5b1;
  background:#fff;
  color:#a61b16;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
}
.visitor-blocked-label .fa{color:#b42318}
.visitor-blocked-label-ip{border-color:#e7b5b1;color:#a61b16}
.visitor-blocked-label-ip .fa{color:#b42318}
.visitor-row-blocked-user .visitor-status-user{color:#9a4a09}
.visitor-row-blocked-user .visitor-status-user .fa{color:#b54708}
.visitor-row-blocked-ip .visitor-status-guest{color:#a61b16}
.visitor-row-blocked-ip .visitor-status-guest .fa{color:#b42318}

@media(max-width:600px){
  .visitor-blocked-label{font-size:10px;padding:3px 6px}
  .visitor-log-section .visitor-table tbody tr.visitor-row-blocked-ip > td:first-child,
  .visitor-log-section .visitor-table tbody tr.visitor-row-blocked-user > td:first-child{padding-left:9px}
}


/* ================================================================
   Ferienquartiere Ostfriesland 1.0.169 – CMS Editorial Finish
   - Detailseiten ohne doppelte Ausgabe
   - sauberer Lesesatz mit Absätzen/Zeilenumbrüchen
   - großzügigere, ruhigere Artikelgestaltung
   - bei nur einem Beitrag keine schmale 1/3-Karte
   ================================================================ */
.fq-cms-public-page{
  max-width:1120px;
  margin:52px auto 56px;
}
.fq-cms-public-page .editorial-list-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:0 4px 24px;
  border-bottom:1px solid #D7E3EC;
}
.fq-cms-public-page .editorial-list-head h1{
  margin:4px 0 8px;
  font-size:clamp(30px,4vw,42px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.fq-cms-public-page .editorial-list-head p{
  max-width:760px;
  margin:0;
  font-size:16px;
  line-height:1.65;
}
.fq-region-seo-intro{
  margin:28px 0 30px;
  padding:25px 28px;
  background:linear-gradient(135deg,#F5FAFC,#FBFDF9);
  border:1px solid #D7E3EC;
  border-left:4px solid #486C27;
  border-radius:12px;
}
.fq-region-seo-intro h2{margin:5px 0 8px;color:#002859;line-height:1.2}
.fq-region-seo-intro p{max-width:900px;margin:0;color:#536F7D;line-height:1.7}
.fq-region-seo-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.fq-cms-editorial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.fq-cms-editorial-grid.is-single{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
}
.fq-cms-editorial-grid > .empty-card{
  grid-column:1 / -1;
  width:100%;
  box-sizing:border-box;
}
.fq-cms-editorial-grid .editorial-card{
  border-radius:12px;
  box-shadow:0 6px 20px rgba(0,40,89,.07);
}
.fq-cms-editorial-grid .editorial-card:hover{
  transform:none;
  box-shadow:0 8px 24px rgba(0,40,89,.10);
}
.fq-cms-editorial-grid .editorial-card-image{
  aspect-ratio:16/8.5;
}
.fq-cms-editorial-grid.is-single .editorial-card-image{
  aspect-ratio:16/7;
}
.fq-cms-editorial-grid .editorial-card-body{
  padding:22px 24px 24px;
}
.fq-cms-editorial-grid .editorial-card-body h2{
  font-size:25px;
  line-height:1.18;
}
.fq-cms-editorial-grid.is-single .editorial-card-body h2{font-size:30px}

/* Artikel-Detailseite: ein ruhiger redaktioneller Leseraum statt verschachtelter Karten. */
.fq-cms-detail-page{
  max-width:1040px;
  margin:34px auto 58px;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
}
.fq-cms-detail-page .editorial-detail-head{
  max-width:900px;
  margin:0 auto;
  padding:0 4px 25px;
}
.fq-cms-detail-page .editorial-detail-head .hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#486C27;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.fq-cms-detail-page .editorial-detail-head h1{
  margin:0 0 14px;
  color:#002859;
  font-size:clamp(34px,4.2vw,52px);
  line-height:1.08;
  letter-spacing:-.025em;
  max-width:900px;
  overflow-wrap:anywhere;
}
.fq-cms-detail-page .editorial-detail-head p{
  max-width:820px;
  margin:0;
  color:#5B7481;
  font-size:18px;
  line-height:1.65;
}
.fq-cms-detail-page .fq-cms-category{
  margin-top:16px;
  border-radius:6px;
  padding:6px 9px;
}
.fq-cms-detail-page .fq-cms-cover{
  max-width:1040px;
  margin:0 auto;
  border:1px solid #D7E3EC;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(0,40,89,.08);
}
.fq-cms-detail-page .fq-cms-cover img{
  width:100%;
  height:auto;
  max-height:560px;
  object-fit:cover;
  display:block;
  border-radius:0!important;
}
.fq-cms-detail-page .fq-cms-body{
  max-width:900px;
  margin:26px auto 0;
  padding:34px 42px 38px;
  background:#fff;
  border:1px solid #D7E3EC;
  border-radius:12px;
  box-shadow:0 7px 24px rgba(0,40,89,.055);
  color:#294F60;
  font-size:18px;
  line-height:1.82;
}
.fq-cms-detail-page .fq-cms-body p{
  margin:0 0 1.25em;
}
.fq-cms-detail-page .fq-cms-body p:last-child{margin-bottom:0}
.fq-cms-detail-page .fq-cms-body h2,
.fq-cms-detail-page .fq-cms-body h3,
.fq-cms-detail-page .fq-cms-body h4{
  margin:1.7em 0 .55em;
  color:#002859;
  line-height:1.2;
}
.fq-cms-detail-page .fq-cms-body h2{font-size:30px}
.fq-cms-detail-page .fq-cms-body h3{font-size:24px}
.fq-cms-detail-page .fq-cms-body ul,
.fq-cms-detail-page .fq-cms-body ol{
  margin:0 0 1.25em;
  padding-left:1.5em;
}
.fq-cms-detail-page .fq-cms-body li{margin:.35em 0}
.fq-cms-detail-page .fq-cms-body blockquote{
  margin:1.5em 0;
  padding:14px 20px;
  border-left:4px solid #FAC944;
  background:#FBF9EE;
  color:#4E6570;
}
.fq-cms-detail-page .fq-cms-body img{
  max-width:100%;
  height:auto;
  border-radius:0!important;
}
.fq-cms-detail-page .editorial-meta{
  max-width:900px;
  margin:0 auto;
  padding:16px 0;
  border-top:1px solid #D7E3EC;
  background:transparent;
  color:#7A909A;
}
.fq-cms-detail-page > p:last-child{
  max-width:900px;
  margin:0 auto;
  padding-top:4px;
}
.fq-cms-detail-page > p:last-child .button{
  border-radius:7px;
  box-shadow:none;
}
@media(max-width:900px){
  .fq-cms-public-page{margin-top:38px}
  .fq-cms-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fq-cms-editorial-grid.is-single{grid-template-columns:minmax(0,1fr)}
  .fq-cms-detail-page .editorial-detail-head{padding-left:0;padding-right:0}
  .fq-cms-detail-page .fq-cms-body{padding:28px 30px}
}
@media(max-width:700px){
  .fq-cms-public-page{margin-top:28px}
  .fq-cms-public-page .editorial-list-head{display:block;padding-bottom:18px}
  .fq-cms-public-page .editorial-list-head .button{margin-top:15px}
  .fq-cms-editorial-grid{grid-template-columns:1fr}
  .fq-cms-editorial-grid.is-single{grid-template-columns:1fr}
  .fq-region-seo-intro{padding:20px 18px}
  .fq-cms-detail-page{margin-top:22px}
  .fq-cms-detail-page .editorial-detail-head h1{font-size:34px}
  .fq-cms-detail-page .editorial-detail-head p{font-size:16px}
  .fq-cms-detail-page .fq-cms-body{margin-top:18px;padding:23px 20px;font-size:16px;line-height:1.72}
  .fq-cms-detail-page .fq-cms-body h2{font-size:25px}
  .fq-cms-detail-page .fq-cms-body h3{font-size:21px}
}


/* CMS-Detailseite: Abstand zum fixierten Hauptmenü und 4:3-Titelbild mit vollständiger Darstellung. */
.fq-cms-detail-page{
  margin-top:82px;
}
.fq-cms-detail-page .fq-cms-cover{
  width:100%;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
}
.fq-cms-detail-page .fq-cms-cover-frame{
  width:100%;
  aspect-ratio:4 / 3;
  background:#eef5f7;
  border:1px solid #D7E3EC;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(0,40,89,.08);
  display:flex;
  align-items:center;
  justify-content:center;
}
.fq-cms-detail-page .fq-cms-cover img{
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:0!important;
}
.fq-cms-detail-page .fq-cms-cover figcaption{
  margin:7px 2px 0 0;
  color:#718792;
  font-size:12px;
  line-height:1.4;
  font-style:italic;
  text-align:right;
}
.fq-field-help{
  display:block;
  margin-top:6px;
  color:#718792;
  font-size:12px;
  line-height:1.45;
}
@media(max-width:700px){
  .fq-cms-detail-page{margin-top:58px}
  .fq-cms-detail-page .fq-cms-cover-frame{aspect-ratio:4 / 3}
  .fq-cms-detail-page .fq-cms-cover figcaption{font-size:11px;margin-right:1px}
}


/* FQO 1.0.171 – Echter WYSIWYG-Editor für CMS-Teaser und Artikel */
.fq-editor{margin-top:8px;border:1px solid #cfe2e8;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(0,40,89,.035)}
.fq-editor:focus-within{border-color:#5aaed0;box-shadow:0 0 0 3px rgba(0,153,216,.10)}
.fq-editor .fq-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:8px;border-bottom:1px solid #dcebf0;background:#f5fafc}
.fq-editor .fq-toolbar button{min-width:34px;height:32px;padding:0 9px;border:1px solid #d2e3e9;border-radius:7px;background:#fff;color:#16475b;font:700 13px/1 inherit;cursor:pointer;box-shadow:none}
.fq-editor .fq-toolbar button:hover{background:#eef7fa;border-color:#b9d4df;color:#004a9a}
.fq-editor .fq-toolbar button:active{background:#e7f3f7}
.fq-toolbar-sep{width:1px;height:22px;background:#d5e5ea;margin:0 3px}
.fq-editor-area{min-height:420px;padding:16px 18px;color:var(--text);font:16px/1.7 inherit;outline:0;background:#fff}
.fq-editor-excerpt{min-height:150px}
.fq-editor-area:empty:before{content:attr(data-placeholder);color:#91a6ae;pointer-events:none}
.fq-editor-area p{margin:0 0 1em}
.fq-editor-area h2{margin:1.15em 0 .5em;color:var(--fq-navy,#002859);font-size:1.5em;line-height:1.2}
.fq-editor-area h3{margin:1.1em 0 .45em;color:var(--fq-navy,#002859);font-size:1.22em;line-height:1.25}
.fq-editor-area ul,.fq-editor-area ol{margin:.6em 0 1em;padding-left:1.5em}
.fq-editor-area blockquote{margin:1em 0;padding:10px 16px;border-left:4px solid #0099d8;background:#f3fafc;color:#48636f}
.fq-editor-area a{color:#004a9a;font-weight:700}
.fq-editor-source{display:none!important}
.fq-cms-excerpt{margin:0;max-width:760px;color:#5e7681;font-size:15px;line-height:1.7}
.fq-cms-excerpt p{margin:0 0 .8em}
.fq-cms-excerpt p:last-child{margin-bottom:0}
.fq-cms-excerpt h2,.fq-cms-excerpt h3{color:#16475b;line-height:1.25}
.fq-cms-card-excerpt{color:#5e7681;font-size:14px;line-height:1.55}
.fq-cms-card-excerpt p{margin:0 0 .65em}
.fq-cms-card-excerpt p:last-child{margin-bottom:0}
.fq-cms-card-excerpt h2,.fq-cms-card-excerpt h3{font-size:1em;line-height:1.3;color:#16475b}
@media(max-width:700px){
  .fq-editor .fq-toolbar{gap:4px;padding:7px}
  .fq-editor .fq-toolbar button{min-width:31px;height:30px;padding:0 7px;font-size:12px}
  .fq-editor-area{min-height:300px;padding:14px;font-size:15px}
  .fq-editor-excerpt{min-height:120px}
}

/* FQO 1.0.172 – sauberer Übergang zwischen Titelbild und Artikelinhalt */
.fq-cms-detail-page .fq-cms-cover{
  position:relative;
  display:block;
  float:none;
  clear:both;
  width:100%;
  height:auto;
  margin:0 auto;
}
.fq-cms-detail-page .fq-cms-cover-frame{
  position:relative;
  display:block;
  float:none;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4 / 3;
  clear:both;
}
.fq-cms-detail-page .fq-cms-cover figcaption{
  display:block;
  position:relative;
  clear:both;
}
.fq-cms-detail-page .fq-cms-body{
  position:relative;
  display:block;
  clear:both;
  margin-top:30px !important;
  z-index:1;
}

/* FQO 1.0.173 – WYSIWYG-Editor auch im bisherigen Redaktionsbereich */
.admin-content-grid .admin-editor-field.full{grid-column:1/-1;min-width:0}
.admin-content-grid .admin-editor-field>label{display:block;margin:0 0 7px;font-weight:700;color:var(--navy)}
.admin-content-grid .admin-editor-field .form-help{display:block;margin-top:6px;color:#71817c;font-size:12px;font-weight:400}
.admin-content-grid .admin-editor-field .fq-editor{width:100%;box-sizing:border-box}
.admin-content-grid .fq-editor-source{display:none!important}
.admin-content-grid .fq-editor-area{min-height:170px;line-height:1.65;font-size:15px;box-sizing:border-box}
.admin-content-grid .fq-editor:not(.fq-editor-excerpt) .fq-editor-area{min-height:420px}
.admin-content-grid .fq-editor-area p{margin:0 0 1em}
.admin-content-grid .fq-editor-area p:last-child{margin-bottom:0}
.admin-content-grid .fq-editor-area h2,.admin-content-grid .fq-editor-area h3{margin:1em 0 .5em}
@media(max-width:720px){.admin-content-grid .admin-editor-field.full{grid-column:auto}.admin-content-grid .fq-editor-area{min-height:150px}.admin-content-grid .fq-editor:not(.fq-editor-excerpt) .fq-editor-area{min-height:300px}}


/* FQO 1.0.175 – Bildunterschrift bewusst unter dem vollständigen Artikelinhalt */
.fq-cms-detail-page .fq-cms-image-caption{
  display:block;
  clear:both;
  margin:14px 34px 0;
  padding:10px 0 0;
  border-top:1px solid #e4edf1;
  color:#718792;
  font-size:12px;
  line-height:1.5;
  font-style:italic;
  text-align:right;
}
.fq-cms-detail-page .fq-cms-body + .fq-cms-image-caption{
  margin-top:0;
}
@media(max-width:700px){
  .fq-cms-detail-page .fq-cms-image-caption{
    margin:12px 20px 0;
    padding-top:9px;
    font-size:11px;
  }
}


/* 1.0.177 – Unterkünfte auf /ostfriesland: responsives 3/2/1-Raster */
.ostfriesland-results{max-width:1100px;margin:28px auto 0}
.ostfriesland-accommodation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.ostfriesland-accommodation-grid .accommodation-card{height:100%;display:flex;flex-direction:column}
.ostfriesland-accommodation-grid .accommodation-body{display:flex;flex:1;flex-direction:column}
.ostfriesland-accommodation-grid .meta{margin-top:auto;padding-top:4px}
.ostfriesland-empty{grid-column:1/-1}
@media(max-width:900px){
  .ostfriesland-accommodation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:600px){
  .ostfriesland-results{margin-top:20px}
  .ostfriesland-accommodation-grid{grid-template-columns:1fr;gap:16px}
  .ostfriesland-accommodation-grid .accommodation-image{aspect-ratio:16/9}
  .ostfriesland-empty{grid-column:auto}
}

/* 1.0.179 – PayPal-Buchung: AGB-Checkbox sauber ausrichten */
.booking-form .booking-check{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:10px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.booking-form .booking-check input[type="checkbox"]{
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  flex:0 0 18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
.booking-form .booking-check > span{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  color:#506d77 !important;
  font-weight:600 !important;
  line-height:1.45 !important;
}
.booking-form .booking-check > span .fa{width:auto !important}

@media(max-width:600px){
  .booking-form .booking-check{gap:9px !important;padding:11px 12px !important}
  .booking-form .booking-check input[type="checkbox"]{width:18px !important;min-width:18px !important;flex-basis:18px !important}
}

/* FQO 1.0.182 – Mobile Startseite: Hero und Suchbox sauber responsiv */
@media (max-width:760px){
  body:not(.admin-page) .hero-home-redesign{
    min-height:455px!important;
    height:455px!important;
    max-height:none!important;
    border-radius:0!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-slide{
    background-size:cover!important;
    background-position:center 46%!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-overlay{
    background:linear-gradient(180deg,rgba(0,40,89,.12) 0%,rgba(0,40,89,.20) 48%,rgba(0,40,89,.48) 100%)!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-copy{
    width:calc(100% - 42px)!important;
    max-width:none!important;
    padding:0 8px!important;
    top:43%!important;
  }
  body:not(.admin-page) .hero-home-redesign h2{
    font-size:clamp(36px,10vw,52px)!important;
    line-height:1.05!important;
    margin-bottom:8px!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-main-slogan{
    font-size:clamp(23px,6.5vw,34px)!important;
    line-height:1.1!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-subline{
    font-size:14px!important;
    line-height:1.4!important;
    max-width:320px!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-cta{
    margin-top:12px!important;
    padding:10px 16px!important;
    font-size:13px!important;
  }
  body:not(.admin-page) .hero-signature{
    right:14px!important;
    bottom:54px!important;
    padding:7px 11px 8px!important;
    font-size:18px!important;
    transform:rotate(-2deg)!important;
  }
  body:not(.admin-page) .hero-signature span{
    font-size:12px!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-arrow{
    width:34px!important;
    height:34px!important;
    top:50%!important;
  }
  body:not(.admin-page) .hero-home-redesign .hero-prev{left:9px!important}
  body:not(.admin-page) .hero-home-redesign .hero-next{right:9px!important}

  .home-search-panel{
    width:calc(100% - 28px)!important;
    margin:-20px auto 20px!important;
    border-radius:13px!important;
    box-shadow:0 10px 24px rgba(0,40,89,.12)!important;
  }
  .home-search-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    overflow:hidden!important;
  }
  .home-search-tabs button,
  .home-search-tabs a{
    min-width:0!important;
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    padding:4px 3px!important;
    font-size:10.5px!important;
    line-height:1.15!important;
    white-space:normal!important;
    text-align:center!important;
    gap:4px!important;
  }
  .home-search-tabs button .fa,
  .home-search-tabs a .fa{font-size:11px!important}
  .home-search-fields{
    gap:7px!important;
    padding:11px!important;
  }
  .home-search-fields label>span{
    margin-bottom:3px!important;
    font-size:10px!important;
  }
  .home-search-fields label>div{
    height:42px!important;
    min-height:42px!important;
    padding:0 10px!important;
    border-radius:8px!important;
  }
  .home-search-fields input,
  .home-search-fields select{font-size:14px!important}
  .home-search-submit{
    height:44px!important;
    min-height:44px!important;
    min-width:0!important;
    margin-top:2px!important;
    font-size:13px!important;
  }
}

@media (max-width:380px){
  body:not(.admin-page) .hero-home-redesign{min-height:425px!important;height:425px!important}
  body:not(.admin-page) .hero-home-redesign .hero-copy{top:42%!important;width:calc(100% - 36px)!important}
  body:not(.admin-page) .hero-home-redesign h2{font-size:34px!important}
  body:not(.admin-page) .hero-home-redesign .hero-main-slogan{font-size:22px!important}
  body:not(.admin-page) .hero-signature{bottom:46px!important;right:10px!important;font-size:16px!important}
  .home-search-tabs button,.home-search-tabs a{font-size:9.5px!important}
}

/* FQO 1.0.186 – CMS-Titelbild: sichtbare 4:3-Box entfernt, Bild-/Content-Überlagerung bewusst beibehalten.
   Das vollständige Bild bleibt sichtbar; der 4:3-Rahmen dient nur der Geometrie und zeichnet keinen
   zusätzlichen farbigen Kasten mehr hinter dem Bild. */
.fq-cms-detail-page .fq-cms-cover-frame{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.fq-cms-detail-page .fq-cms-cover-frame img{
  object-fit:contain !important;
  background:transparent !important;
}
/* Gewünschte Überlagerung des Artikelkastens auf den unteren Bildbereich erhalten. */
.fq-cms-detail-page .fq-cms-body{
  position:relative !important;
  z-index:2 !important;
  margin-top:-96px !important;
}
@media(max-width:700px){
  .fq-cms-detail-page .fq-cms-body{margin-top:-54px !important}
}

/* FQO 1.0.187 – CMS-Titelbild 16:9 + Artikelüberlagerung um 70px nach unten + dezente Transparenz */
.fq-cms-detail-page .fq-cms-cover-frame{
  aspect-ratio:16 / 9 !important;
}
.fq-cms-detail-page .fq-cms-cover-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
.fq-cms-detail-page .fq-cms-body{
  margin-top:-70px !important;
  background:rgba(255,255,255,.90) !important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
@media(max-width:700px){
  .fq-cms-detail-page .fq-cms-cover-frame{aspect-ratio:16 / 9 !important}
  .fq-cms-detail-page .fq-cms-body{margin-top:-70px !important;background:rgba(255,255,255,.92) !important}
}

/* FQO 1.0.188 – CMS Mobile Redesign
   Öffentliche CMS-Seiten erhalten auf Smartphones deutlich mehr Abstand zum mobilen Hauptmenü.
   Die Artikelüberlagerung ist mobil deaktiviert; Desktop bleibt bewusst überlagert. */
@media (max-width:700px){
  /* Mehr Luft unter dem mobilen Hauptmenü für alle öffentlichen CMS-Seiten */
  .fq-cms-public-page,
  .fq-cms-detail-page{
    margin-top:92px !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
  }

  /* Listen-/Übersichtsseiten */
  .fq-cms-public-page .editorial-list-head{
    padding:0 0 18px !important;
    margin:0 !important;
  }
  .fq-cms-public-page .editorial-list-head h1{
    font-size:30px !important;
    line-height:1.12 !important;
    margin:0 0 8px !important;
  }
  .fq-cms-public-page .editorial-list-head p{
    font-size:15px !important;
    line-height:1.55 !important;
    margin:0 !important;
  }
  .fq-cms-public-page .editorial-list-head .button{
    margin-top:14px !important;
  }
  .fq-cms-editorial-grid{
    gap:18px !important;
    margin-top:4px !important;
  }
  .fq-cms-editorial-grid .editorial-card{
    min-width:0 !important;
  }
  .fq-cms-editorial-grid .editorial-card-image,
  .fq-cms-editorial-grid .editorial-card-image img{
    border-radius:0 !important;
  }
  .fq-cms-editorial-grid .editorial-card-body{
    padding:18px !important;
  }
  .fq-cms-editorial-grid .editorial-card-body h2{
    font-size:22px !important;
    line-height:1.2 !important;
  }

  /* Detailseite */
  .fq-cms-detail-page .editorial-detail-head{
    padding:0 !important;
    margin:0 0 20px !important;
  }
  .fq-cms-detail-page .editorial-detail-head .hero-kicker{
    display:inline-block !important;
    margin:0 0 8px !important;
    font-size:12px !important;
  }
  .fq-cms-detail-page .editorial-detail-head h1{
    font-size:30px !important;
    line-height:1.12 !important;
    margin:0 0 12px !important;
  }
  .fq-cms-detail-page .fq-cms-excerpt{
    font-size:15px !important;
    line-height:1.6 !important;
    max-width:none !important;
  }

  /* 16:9 Titelbild ohne sichtbaren Kasten */
  .fq-cms-detail-page .fq-cms-cover{
    margin:0 !important;
    padding:0 !important;
  }
  .fq-cms-detail-page .fq-cms-cover-frame{
    aspect-ratio:16 / 9 !important;
    width:100% !important;
    height:auto !important;
    overflow:hidden !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .fq-cms-detail-page .fq-cms-cover-frame img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }

  /* Auf Smartphones KEINE Überlagerung des Artikeltextes auf das Bild */
  .fq-cms-detail-page .fq-cms-body{
    position:relative !important;
    z-index:auto !important;
    margin-top:18px !important;
    padding:22px 18px !important;
    background:#fff !important;
    border-radius:14px !important;
    box-shadow:0 4px 16px rgba(0,40,89,.08) !important;
    font-size:15px !important;
    line-height:1.72 !important;
  }
  .fq-cms-detail-page .fq-cms-body h2{
    font-size:22px !important;
    line-height:1.25 !important;
    margin:1.25em 0 .55em !important;
  }
  .fq-cms-detail-page .fq-cms-body h3{
    font-size:19px !important;
    line-height:1.3 !important;
  }
  .fq-cms-detail-page .fq-cms-body p{
    margin:0 0 1em !important;
  }
  .fq-cms-detail-page .fq-cms-body ul,
  .fq-cms-detail-page .fq-cms-body ol{
    padding-left:22px !important;
  }
  .fq-cms-detail-page .fq-cms-body img{
    max-width:100% !important;
    height:auto !important;
    border-radius:0 !important;
  }

  .fq-cms-detail-page .fq-cms-image-caption{
    margin:9px 2px 0 !important;
    padding-top:7px !important;
    font-size:10.5px !important;
    line-height:1.4 !important;
    text-align:right !important;
  }
  .fq-cms-detail-page .editorial-meta{
    margin-top:16px !important;
    font-size:11px !important;
  }
  .fq-cms-detail-page > p:last-child{
    margin-top:12px !important;
  }
  .fq-cms-detail-page > p:last-child .button{
    width:auto !important;
    max-width:100% !important;
  }
}

/* FQO 1.0.193 – CMS mobile title image: verbindlich 16:9
   Der mobile CMS-Titelbildrahmen darf nicht auf die ältere 4:3-Geometrie zurückfallen. */
@media (max-width:700px){
  .fq-cms-detail-page .fq-cms-cover-frame{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .fq-cms-detail-page .fq-cms-cover-frame img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    aspect-ratio:16 / 9 !important;
  }
}

@media (max-width:380px){
  .fq-cms-public-page,
  .fq-cms-detail-page{
    margin-top:88px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .fq-cms-detail-page .editorial-detail-head h1{
    font-size:27px !important;
  }
  .fq-cms-detail-page .fq-cms-body{
    padding:19px 15px !important;
    font-size:14.5px !important;
  }
}

/* 1.0.190: formatierte Teaser im Blog ohne sichtbare HTML-Tags */
.editorial-card-excerpt{color:#5e7681;font-size:14px;line-height:1.55}
.editorial-card-excerpt p{margin:0 0 .65em}
.editorial-card-excerpt p:last-child{margin-bottom:0}
.editorial-card-excerpt h2,.editorial-card-excerpt h3,.editorial-card-excerpt h4{font-size:1em;line-height:1.3;color:#16475b;margin:.15em 0 .45em}

/* 1.0.194 – CMS: redaktionelle Teilen-Leiste */
.fq-cms-share{
  max-width:900px;
  margin:22px auto 0;
  padding:16px 0 0;
  border-top:1px solid #D7E3EC;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.fq-cms-share-label{
  color:#002859;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
.fq-cms-share-buttons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.fq-share-button{
  -webkit-appearance:none;
  appearance:none;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #D7E3EC;
  border-radius:7px;
  background:#fff !important;
  color:#002859 !important;
  font:inherit;
  font-size:13px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
}
.fq-share-button:hover,
.fq-share-button:focus,
.fq-share-button:focus-visible,
.fq-share-button:active{
  text-decoration:none;
  color:#002859 !important;
  background:#fff !important;
  border-color:#D7E3EC;
  outline:none;
  box-shadow:none;
  transform:none;
}
.fq-share-facebook i{color:#1877F2}
.fq-share-linkedin i{color:#0A66C2}
.fq-share-x-mark{font-size:17px;line-height:1;font-weight:800;color:#111}
.fq-share-copy i{color:#004A9A}
/* 1.0.197 – Link-kopieren exakt identisch zu den Share-Links */
.fq-cms-share .fq-share-copy,
.fq-cms-share .fq-share-copy:hover,
.fq-cms-share .fq-share-copy:focus,
.fq-cms-share .fq-share-copy:focus-visible,
.fq-cms-share .fq-share-copy:active{
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#fff !important;
  color:#002859 !important;
  border:1px solid #D7E3EC !important;
  border-radius:7px !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
  text-decoration:none !important;
}

@media(max-width:700px){
  .fq-cms-share{
    margin:18px 0 0;
    padding:15px 0 0;
    display:block;
  }
  .fq-cms-share-label{
    display:block;
    margin-bottom:10px;
  }
  .fq-cms-share-buttons{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .fq-share-button{
    width:100%;
    min-height:40px;
    padding:9px 8px;
  }
}

/* 1.0.200 – Support-Seite an das öffentliche Portal-Design angepasst */
.support-page-shell{max-width:1110px;margin:0 auto;padding:4px 0 42px}
.support-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 20px;padding:30px 34px;border:1px solid #cfe5ea;border-radius:18px;background:linear-gradient(135deg,#e7f8fc 0%,#f5fbf5 100%);box-shadow:0 8px 25px rgba(25,99,121,.07)}
.support-hero-copy{min-width:0}.support-hero .hero-kicker{margin-bottom:5px}.support-hero h2{margin:0 0 8px;color:var(--fq-navy);font-size:34px;line-height:1.12}.support-hero p{max-width:760px;margin:0;color:var(--muted);font-size:16px}.support-hero-icon{width:74px;height:74px;flex:0 0 74px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.75);color:var(--fq-blue);font-size:34px;box-shadow:0 6px 18px rgba(8,63,91,.08)}
.support-message{max-width:1110px;margin:0 0 20px!important}.support-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:20px;align-items:start}.support-form-card,.support-info-card{background:#fff;border:1px solid var(--fq-line);border-radius:16px;box-shadow:0 5px 18px rgba(25,99,121,.06)}.support-form-card{padding:27px 30px}.support-info-card{padding:26px 25px;background:linear-gradient(180deg,#fff 0%,#f7fcfd 100%)}
.support-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:17px;margin-bottom:19px;border-bottom:1px solid var(--fq-line)}.support-card-heading h3{margin:2px 0 0;color:var(--fq-navy);font-size:24px}.support-card-heading>i{font-size:25px;color:var(--fq-blue);padding-top:5px}.support-eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--fq-blue)}
.support-form{margin:0}.support-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.support-fields label{display:block;min-width:0;margin:0 0 15px;font-weight:700;color:var(--fq-navy)}.support-fields label>span,.support-security legend>span{color:#b74d42}.support-fields .support-full{grid-column:1/-1}.support-form input:not([type=checkbox]),.support-form textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cfe2e8;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.support-form input:not([type=checkbox]){height:46px}.support-form textarea{display:block;min-height:180px;resize:vertical;line-height:1.5}.support-form input:not([type=checkbox]):focus,.support-form textarea:focus{border-color:#86c5d8;box-shadow:0 0 0 3px rgba(8,118,166,.10)}
.support-security{margin:3px 0 18px;padding:17px 18px;border:1px solid #cfe5ea;border-radius:12px;background:#f2fafc}.support-security legend{padding:0 7px;color:var(--fq-navy);font-weight:800}.support-security legend i{color:var(--fq-blue);margin-right:6px}.support-security p{margin:0 0 12px;color:var(--muted);font-size:14px}.support-captcha{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.support-captcha strong{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:44px;padding:0 12px;border:1px solid #cfe2e8;border-radius:9px;background:#fff;color:var(--fq-navy);font-size:18px}.support-captcha input{width:86px!important;height:44px!important;text-align:center;font-weight:800}.support-captcha span{margin-left:auto;color:#5f7c86;font-size:13px}.support-captcha span i{color:var(--fq-blue);margin-right:5px}
.support-form .privacy-consent{display:flex!important;align-items:flex-start;gap:10px;margin:0 0 18px!important;color:var(--muted);font-weight:400!important;line-height:1.5}.support-form .privacy-consent input[type=checkbox]{width:18px;min-width:18px;height:18px;margin:3px 0 0;accent-color:var(--fq-blue)}.support-form .privacy-consent span{flex:1}.support-form .privacy-consent a{color:var(--fq-blue);font-weight:700}.support-submit-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.support-submit-row .button{min-height:46px}.support-submit-row>span{color:var(--muted);font-size:12px}.support-submit-row>span i{color:var(--fq-blue);margin-right:4px}
.support-info-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#e4f5fa;color:var(--fq-blue);font-size:25px;margin-bottom:14px}.support-info-card h3{margin:0 0 7px;color:var(--fq-navy);font-size:22px}.support-info-card>p{margin:0 0 20px;color:var(--muted);line-height:1.55}.support-info-item{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-top:1px solid var(--fq-line)}.support-info-item>i{width:24px;flex:0 0 24px;text-align:center;color:var(--fq-blue);font-size:19px;margin-top:2px}.support-info-item strong,.support-info-item span{display:block}.support-info-item strong{color:var(--fq-navy);margin-bottom:2px}.support-info-item span{color:var(--muted);font-size:13px;line-height:1.45}
.support-page-shell .success{padding:14px 16px;border:1px solid #cce7d2;background:#eff9f1;color:#39734a;border-radius:11px}.support-page-shell .notice.error{padding:14px 16px;border:1px solid #efd2cf;background:#fff3f1;color:#994c47;border-radius:11px}
@media(max-width:760px){.support-page-shell{padding:0 0 28px}.support-hero{padding:22px 18px;gap:14px;margin-bottom:16px}.support-hero h2{font-size:27px}.support-hero p{font-size:15px}.support-hero-icon{width:56px;height:56px;flex-basis:56px;font-size:25px}.support-grid{grid-template-columns:1fr;gap:14px}.support-form-card{padding:21px 17px}.support-info-card{padding:21px 17px}.support-card-heading h3{font-size:21px}.support-fields{grid-template-columns:1fr}.support-fields .support-full{grid-column:auto}.support-security{padding:15px}.support-captcha{align-items:stretch}.support-captcha span{width:100%;margin-left:0}.support-submit-row{align-items:stretch}.support-submit-row .button{width:100%}.support-submit-row>span{width:100%}}

/* FQO 1.0.204 – erweiterter CMS-Editor mit HTML-Ansicht */
.fq-editor .fq-toolbar{max-height:none;overflow-x:auto;scrollbar-width:thin}
.fq-editor .fq-toolbar button{white-space:nowrap}
.fq-editor .fq-toolbar button.active{background:#eaf8fc;border-color:#7fc7df;color:#004a9a}
.fq-editor.is-source .fq-editor-area{display:none}
.fq-editor.is-source .fq-editor-source{display:block!important;width:100%;min-height:420px;margin:0;border:0;border-radius:0;padding:16px 18px;background:#101b24;color:#eaf8fc;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;resize:vertical;outline:0;box-sizing:border-box}
.fq-editor.is-source .fq-toolbar{background:#eef7fa}
.fq-editor-area h1{font-size:2em;margin:1em 0 .5em;line-height:1.12;color:var(--fq-navy,#002859)}
.fq-editor-area h2{font-size:1.6em}
.fq-editor-area h3{font-size:1.3em}
.fq-editor-area h4{font-size:1.15em;margin:1em 0 .4em;color:var(--fq-navy,#002859)}
.fq-editor-area h5{font-size:1em;margin:1em 0 .35em;color:var(--fq-navy,#002859)}
.fq-editor-area h6{font-size:.9em;margin:1em 0 .35em;color:var(--fq-navy,#002859);text-transform:uppercase;letter-spacing:.04em}
.fq-editor-area pre{padding:14px 16px;background:#f1f6f8;border:1px solid #d6e7ed;border-radius:8px;white-space:pre-wrap;overflow:auto;font:14px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.fq-editor-area code{background:#eef5f7;padding:2px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.fq-editor-area hr{border:0;border-top:1px solid #d7e6eb;margin:1.5em 0}
.fq-editor-area img{max-width:100%;height:auto;display:block;margin:12px 0}
.fq-editor-area table{width:100%;border-collapse:collapse;margin:1em 0}
.fq-editor-area th,.fq-editor-area td{border:1px solid #d6e5ea;padding:8px 10px;text-align:left;vertical-align:top}
.fq-editor-area th{background:#eef7fa;font-weight:800}
.fq-cms-body h1,.fq-cms-body h2,.fq-cms-body h3,.fq-cms-body h4,.fq-cms-body h5,.fq-cms-body h6{color:#002859;line-height:1.2}
.fq-cms-body h1{font-size:2em}.fq-cms-body h2{font-size:1.65em}.fq-cms-body h3{font-size:1.35em}.fq-cms-body h4{font-size:1.15em}.fq-cms-body h5{font-size:1em}.fq-cms-body h6{font-size:.9em;text-transform:uppercase;letter-spacing:.04em}
.fq-cms-body pre{padding:14px 16px;background:#f1f6f8;border:1px solid #d6e7ed;border-radius:8px;white-space:pre-wrap;overflow:auto}
.fq-cms-body table{width:100%;border-collapse:collapse;margin:1.2em 0}.fq-cms-body th,.fq-cms-body td{border:1px solid #d6e5ea;padding:8px 10px;text-align:left;vertical-align:top}.fq-cms-body th{background:#eef7fa}
@media(max-width:700px){
 .fq-editor .fq-toolbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .fq-editor .fq-toolbar button{flex:0 0 auto}
 .fq-editor.is-source .fq-editor-source{min-height:300px;padding:13px;font-size:13px}
}


/* FQO 1.0.205 – Aktivitäten an das responsive Region-CMS angleichen
   Einheitliche Raster-, Abstands-, Bild- und Mobile-Regeln für Region und Aktivitäten. */
.fq-cms-activity-page{
  max-width:1120px;
  margin:52px auto 56px;
}
.fq-cms-activity-page .fq-cms-editorial-grid{
  width:100%;
}
.fq-cms-activity-page .fq-cms-editorial-grid.is-single{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
}
.fq-cms-activity-page .editorial-card{
  width:100%;
  min-width:0;
}
.fq-cms-activity-page .editorial-card-image{
  aspect-ratio:16 / 9;
}
.fq-cms-activity-page .editorial-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:0 !important;
}
.fq-cms-activity-detail{
  max-width:1040px;
  margin:82px auto 58px;
}
.fq-cms-activity-detail .editorial-detail-head{
  max-width:900px;
  margin:0 auto;
}
.fq-cms-activity-detail .fq-cms-cover-frame,
.fq-cms-activity-detail .fq-cms-cover-frame img{
  border-radius:0 !important;
}
.fq-cms-activity-detail .fq-cms-cover-frame{
  aspect-ratio:16 / 9 !important;
}
.fq-cms-activity-detail .fq-cms-cover-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}

@media (max-width:900px){
  .fq-cms-activity-page{
    margin-top:38px;
  }
  .fq-cms-activity-page .fq-cms-editorial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .fq-cms-activity-page .fq-cms-editorial-grid.is-single{
    grid-template-columns:minmax(0,1fr);
  }
  .fq-cms-activity-detail .editorial-detail-head{
    padding-left:0;
    padding-right:0;
  }
}

@media (max-width:700px){
  .fq-cms-activity-page{
    width:100%;
    max-width:none;
    margin:92px 0 42px !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box;
  }
  .fq-cms-activity-page .editorial-list-head{
    display:block;
    padding:0 0 18px !important;
    margin:0 !important;
  }
  .fq-cms-activity-page .editorial-list-head h1{
    font-size:30px !important;
    line-height:1.12 !important;
    margin:0 0 8px !important;
  }
  .fq-cms-activity-page .editorial-list-head p{
    font-size:15px !important;
    line-height:1.55 !important;
    margin:0 !important;
  }
  .fq-cms-activity-page .editorial-list-head .button{
    margin-top:14px !important;
  }
  .fq-cms-activity-page .fq-cms-editorial-grid,
  .fq-cms-activity-page .fq-cms-editorial-grid.is-single{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
    width:100% !important;
    margin-top:4px !important;
  }
  .fq-cms-activity-page .editorial-card{
    width:100% !important;
    min-width:0 !important;
    border-radius:12px !important;
  }
  .fq-cms-activity-page .editorial-card-image{
    width:100% !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }
  .fq-cms-activity-page .editorial-card-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }
  .fq-cms-activity-page .editorial-card-body{
    padding:18px !important;
  }
  .fq-cms-activity-page .editorial-card-body h2{
    font-size:22px !important;
    line-height:1.2 !important;
  }
  .fq-cms-activity-page .fq-cms-card-excerpt{
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .fq-cms-activity-detail{
    width:100%;
    max-width:none;
    margin:92px 0 42px !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box;
  }
  .fq-cms-activity-detail .editorial-detail-head{
    padding:0 !important;
    margin:0 0 20px !important;
  }
  .fq-cms-activity-detail .editorial-detail-head h1{
    font-size:30px !important;
    line-height:1.12 !important;
    margin:0 0 12px !important;
  }
  .fq-cms-activity-detail .editorial-detail-head p,
  .fq-cms-activity-detail .fq-cms-excerpt{
    font-size:15px !important;
    line-height:1.6 !important;
    max-width:none !important;
  }
  .fq-cms-activity-detail .fq-cms-cover-frame{
    aspect-ratio:16 / 9 !important;
    width:100% !important;
    height:auto !important;
    overflow:hidden !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .fq-cms-activity-detail .fq-cms-cover-frame img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }
  .fq-cms-activity-detail .fq-cms-body{
    margin-top:18px !important;
    padding:22px 18px !important;
    font-size:15px !important;
    line-height:1.72 !important;
    background:#fff !important;
    border-radius:14px !important;
    box-shadow:0 4px 16px rgba(0,40,89,.08) !important;
  }
}

@media (max-width:380px){
  .fq-cms-activity-page,
  .fq-cms-activity-detail{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .fq-cms-activity-page .editorial-list-head h1,
  .fq-cms-activity-detail .editorial-detail-head h1{
    font-size:28px !important;
  }
  .fq-cms-activity-page .editorial-card-body{
    padding:16px !important;
  }
}


/* 1.0.207 – Neueste Blogbeiträge auf der Startseite: 4–2–1 responsive */
.home-latest-blog{max-width:1100px;margin:42px auto 46px;padding:30px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-latest-blog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 22px}
.home-latest-blog-head h2{margin:4px 0 6px;color:var(--navy);font-size:30px;line-height:1.15}
.home-latest-blog-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.home-latest-blog-more{color:var(--blue);font-weight:800;text-decoration:none;white-space:nowrap}
.home-latest-blog-more:hover,.home-latest-blog-more:focus{color:var(--blue);text-decoration:none}
.home-latest-blog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-latest-blog-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;box-shadow:0 5px 18px rgba(0,40,89,.06);overflow:hidden}
.home-latest-blog-card:hover,.home-latest-blog-card:focus{color:inherit;text-decoration:none;border-color:#9EC8DF;box-shadow:0 8px 22px rgba(0,40,89,.09)}
.home-latest-blog-image{aspect-ratio:16/9;background:#eaf7fb;overflow:hidden}
.home-latest-blog-image img{display:block;width:100%;height:100%;object-fit:cover}
.home-latest-blog-placeholder{display:grid;place-items:center;color:var(--blue);font-size:34px}
.home-latest-blog-body{display:flex;flex:1;flex-direction:column;padding:15px 16px 17px}
.home-latest-blog-type{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}
.home-latest-blog-body h3{margin:5px 0 7px;color:var(--navy);font-size:18px;line-height:1.22}
.home-latest-blog-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.48}
.home-latest-blog-read{margin-top:auto;padding-top:13px;color:var(--blue);font-size:13px;font-weight:800}
.home-latest-blog-empty{margin-bottom:24px}
@media(max-width:900px){.home-latest-blog{margin:36px 0 40px}.home-latest-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.home-latest-blog{margin:30px 0 34px;padding:24px 0 5px}.home-latest-blog-head{display:block;margin-bottom:18px}.home-latest-blog-head h2{font-size:27px}.home-latest-blog-head p{font-size:14px}.home-latest-blog-more{display:inline-block;margin-top:12px}.home-latest-blog-grid{grid-template-columns:1fr;gap:16px}.home-latest-blog-card{border-radius:12px}.home-latest-blog-body{padding:14px 15px 16px}.home-latest-blog-body h3{font-size:19px}}


/* FQO 1.0.209 – Screenshot-Vorgaben Startseite */
@media (min-width:901px){.popular-destinations-list{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media (min-width:601px) and (max-width:900px){.popular-destinations-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.popular-destinations-list{grid-template-columns:1fr!important}}

/* 1.0.211 – Footer-Verlinkungen exakt nach Screenshot-Vorgabe */
.footer-main-grid{
  display:grid;
  grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(150px,1fr));
  gap:34px;
  align-items:start;
}
.footer-brand-column p{margin:.55rem 0 0;}
.footer-nav-column{display:flex;flex-direction:column;gap:8px;}
.footer-nav-column strong{display:block;margin-bottom:4px;}
.footer-nav-column a{text-decoration:none;}
@media(max-width:900px){
  .footer-main-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .footer-main-grid{grid-template-columns:1fr;gap:24px;}
}

/* 1.0.217 – Urlaubsort-Seiten: projektweit einheitliches, responsives Design */
.destination-results{
  width:100%;
  margin:24px 0 42px;
}
.destination-results .destination-intro{
  position:relative;
  overflow:hidden;
  margin:0 0 28px;
  padding:34px 36px 32px;
  border:1px solid #cfe2e8;
  border-radius:18px;
  background:linear-gradient(135deg,#eef9fc 0%,#f8fcf7 100%);
  box-shadow:0 8px 28px rgba(0,40,89,.07);
}
.destination-results .destination-intro::after{
  content:"";
  position:absolute;
  right:-62px;
  top:-78px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(0,153,216,.07);
  pointer-events:none;
}
.destination-results .destination-intro .hero-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#486c27;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.destination-results .destination-intro h2{
  position:relative;
  z-index:1;
  max-width:850px;
  margin:0 0 9px;
  color:#002859;
  font-size:clamp(29px,3vw,40px);
  line-height:1.12;
  letter-spacing:-.02em;
}
.destination-results .destination-intro p{
  position:relative;
  z-index:1;
  margin:0;
  color:#526f7d;
  font-size:16px;
  line-height:1.55;
}
.destination-results .accommodation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.destination-results .accommodation-card{
  height:100%;
  min-width:0;
}
.destination-results .accommodation-image{
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:0!important;
}
.destination-results .accommodation-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0!important;
}
@media (max-width:900px){
  .destination-results{margin-top:20px}
  .destination-results .destination-intro{padding:28px 26px 27px;margin-bottom:22px}
  .destination-results .accommodation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media (max-width:600px){
  .destination-results{margin:16px 0 30px}
  .destination-results .destination-intro{padding:22px 17px 21px;margin-bottom:18px;border-radius:14px}
  .destination-results .destination-intro::after{width:150px;height:150px;right:-60px;top:-62px}
  .destination-results .destination-intro .hero-kicker{font-size:11px;margin-bottom:7px}
  .destination-results .destination-intro h2{font-size:27px;line-height:1.16;margin-bottom:7px}
  .destination-results .destination-intro p{font-size:14px;line-height:1.5}
  .destination-results .accommodation-grid{grid-template-columns:1fr;gap:18px}
}

/* 1.0.218 – CMS-Übersichtsseiten an das Projektdesign angepasst */
.fq-cms-public-page{
  width:100%;
  margin:24px 0 42px!important;
}
.fq-cms-public-page .editorial-list-head{
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end!important;
  margin:0 0 28px;
  padding:34px 36px 32px;
  border:1px solid #cfe2e8;
  border-radius:18px;
  background:linear-gradient(135deg,#eef9fc 0%,#f8fcf7 100%);
  box-shadow:0 8px 28px rgba(0,40,89,.07);
}
.fq-cms-public-page .editorial-list-head::after{
  content:"";
  position:absolute;
  right:-62px;
  top:-78px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(0,153,216,.07);
  pointer-events:none;
}
.fq-cms-public-page .editorial-list-head > *{position:relative;z-index:1}
.fq-cms-public-page .editorial-list-head .hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#486c27;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fq-cms-public-page .editorial-list-head h1{
  max-width:850px;
  margin:0 0 9px!important;
  color:#002859!important;
  font-size:clamp(29px,3vw,40px)!important;
  line-height:1.12!important;
  letter-spacing:-.02em;
}
.fq-cms-public-page .editorial-list-head p{
  max-width:820px;
  margin:0!important;
  color:#526f7d!important;
  font-size:16px!important;
  line-height:1.55;
}
.fq-cms-public-page .editorial-list-head .button{
  flex:0 0 auto;
  white-space:nowrap;
}
.fq-cms-public-page .fq-cms-editorial-grid{
  gap:24px;
}
.fq-cms-public-page .fq-cms-editorial-card{
  border:1px solid #d7e3ec;
  background:#fff;
  box-shadow:0 6px 20px rgba(0,40,89,.07);
}
.fq-cms-public-page .fq-cms-editorial-card .editorial-card-image,
.fq-cms-public-page .fq-cms-editorial-card .editorial-card-image img{
  border-radius:0!important;
}
.fq-cms-public-page .fq-cms-editorial-card .editorial-card-image{
  aspect-ratio:16 / 9;
}
.fq-cms-public-page .fq-cms-editorial-card .editorial-card-image img{
  width:100%;height:100%;object-fit:cover;
}
@media(max-width:900px){
  .fq-cms-public-page{margin-top:20px!important}
  .fq-cms-public-page .editorial-list-head{padding:28px 26px 27px;margin-bottom:22px}
}
@media(max-width:700px){
  .fq-cms-public-page{margin:16px 0 30px!important;padding-left:16px!important;padding-right:16px!important}
  .fq-cms-public-page .editorial-list-head{display:block;padding:22px 17px 21px;margin-bottom:18px;border-radius:14px}
  .fq-cms-public-page .editorial-list-head::after{width:150px;height:150px;right:-60px;top:-62px}
  .fq-cms-public-page .editorial-list-head .hero-kicker{font-size:11px;margin-bottom:7px}
  .fq-cms-public-page .editorial-list-head h1{font-size:27px!important;line-height:1.16!important;margin-bottom:7px!important}
  .fq-cms-public-page .editorial-list-head p{font-size:14px!important;line-height:1.5}
  .fq-cms-public-page .editorial-list-head .button{margin-top:15px;width:auto}
  .fq-cms-public-page .fq-cms-editorial-grid{gap:18px}
}

/* 1.0.220 – Urlaubsort-Seiten verwenden exakt den bestehenden Region-Seitenkopf */
.destination-results.fq-cms-public-page .accommodation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.destination-results.fq-cms-public-page .accommodation-card{height:100%;min-width:0}
.destination-results.fq-cms-public-page .accommodation-image,
.destination-results.fq-cms-public-page .accommodation-image img{border-radius:0!important}
@media(max-width:900px){
  .destination-results.fq-cms-public-page .accommodation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:700px){
  .destination-results.fq-cms-public-page .accommodation-grid{grid-template-columns:1fr;gap:18px}
}

/* 1.0.221 – CMS-Seitenkopf vollständig unter der schwebenden Hauptnavigation */
@media (min-width:761px){
  body:not(.admin-page) .fq-cms-public-page{
    margin-top:104px!important;
  }
}

/* 1.0.222 – Einheitliche Seitenbreite und Ausrichtung im gesamten öffentlichen Portal
   Alle regulären Inhaltsseiten verwenden denselben 1120px-Rahmen. Vollbreite Startseiten-
   Elemente bleiben unverändert. */
@media (min-width:761px){
  body:not(.admin-page) .page-title,
  body:not(.admin-page) .fq-cms-public-page,
  body:not(.admin-page) .editorial-list-page,
  body:not(.admin-page) .editorial-detail,
  body:not(.admin-page) .destination-results,
  body:not(.admin-page) .ostfriesland-results,
  body:not(.admin-page) .booking-page,
  body:not(.admin-page) .pricing-page,
  body:not(.admin-page) .profile-page,
  body:not(.admin-page) .search-page-shell,
  body:not(.admin-page) .support-page-shell,
  body:not(.admin-page) .accommodation-detail,
  body:not(.admin-page) .premium-page,
  body:not(.admin-page) .legal-page,
  body:not(.admin-page) .blog-page{
    width:100%!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* 1.0.226 – Korrektur: Startseite und ihre Vollbreiten-Elemente bleiben unverändert.
   Nur das Desktop-Dropdown aus 1.0.224 bleibt erhalten. */
@media(min-width:761px){
  body:not(.admin-page) .public-nav-dropdown-menu{
    top:100%!important;
    margin-top:0!important;
    transform:translate(-50%,0)!important;
  }
  body:not(.admin-page) .public-nav-dropdown:hover .public-nav-dropdown-menu,
  body:not(.admin-page) .public-nav-dropdown-menu:hover{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,0)!important;
  }
  body:not(.admin-page) .public-nav-dropdown:hover .public-nav-droptrigger,
  body:not(.admin-page) .public-nav-dropdown:has(.public-nav-dropdown-menu:hover) .public-nav-droptrigger{
    color:var(--fq-blue)!important;
    background:#eef8fb!important;
    border-bottom-color:var(--fq-blue)!important;
  }
}

/* 1.0.225 – Gemeinsamer Seitenrahmen, Komponenten behalten sinnvolle Eigenbreite */
body:not(.admin-page) .auth-card{
  width:100%!important;
  max-width:720px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Auth-Seiten: keine doppelte Seitenueberschrift – die Card ist der eigentliche Seitenkopf. */
body.route-login .page-title,
body.route-register .page-title,
body.route-forgot-password .page-title,
body.route-reset-password .page-title{
  display:none!important;
}

/* 1.0.227 – Startseite: Desktop-Inhaltsbereich exakt 1120px; Hero bleibt Vollbreite */
@media (min-width:901px){
  body:not(.admin-page) .home-search-panel,
  body:not(.admin-page) .home-benefits,
  body:not(.admin-page) .home-accommodations,
  body:not(.admin-page) .home-categories,
  body:not(.admin-page) .home-slogan-panel,
  body:not(.admin-page) .premium-teaser,
  body:not(.admin-page) .home-latest-blog,
  body:not(.admin-page) .site-ad-home-intro,
  body:not(.admin-page) .site-ad-home-after-quartiere{
    width:100%!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box;
  }
  body:not(.admin-page) .hero-home-redesign{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
  body:not(.admin-page) .home-search-panel{
    margin-top:-78px!important;
  }
}

/* 1.0.228 – Rettungsupdate: Legacy-Artikelmigration, editierbare Titelbilder, Ostfriesland-Platzhalter */
/* 1.0.232 – zentrale Bilderverwaltung */
.media-upload-form{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.media-upload-form input[type=file]{flex:1;min-width:260px}.media-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.media-admin-card{border:1px solid #d7e5ef;border-radius:16px;overflow:hidden;background:#fff}.media-admin-card>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.media-admin-info{padding:14px;display:flex;flex-direction:column;gap:10px}.media-admin-info h3{font-size:14px;overflow-wrap:anywhere;margin:0}.media-admin-info small{color:#60798b}.media-assign-form{display:grid;gap:8px}.media-assign-form select{width:100%}@media(max-width:900px){.media-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.media-admin-grid{grid-template-columns:1fr}.media-upload-form{display:grid}.media-upload-form input[type=file]{min-width:0;width:100%}}
\n/* FQO 1.0.233 – klarere, weniger abgerundete Projektoptik */\n:root{--fq-corner:4px;--fq-control-corner:3px}\n.hero,.accommodation-card,.premium-teaser,.search-panel,.form-card,.empty-card,.detail-card,.benefits>div,.premium-hero,.auth-card,.host-box,.direct-search-box,.filter-group,.pricing-card,.pricing-trial,.destination-intro,.popular-destination,.site-ad,.cookie-consent-box,.booking-head,.booking-form-card,.booking-summary,.booking-paypal-box,.support-form-card,.support-info-card,.support-security,.admin-hero,.admin-page .admin-hero,.admin-section,.admin-stat,.admin-row,.my-list>div,.media-admin-card{border-radius:var(--fq-corner)!important}\nbutton,.button,input:not([type=checkbox]):not([type=radio]),select,textarea,.fq-btn,.fq-toolbar button,.searchbar,.calendar-row,.available-note,.success,.notice,.edit-accommodation-id,.site-ad-image,.legal-page .button{border-radius:var(--fq-control-corner)!important}\n.accommodation-image img,.detail-image img,.media-admin-card>img,.fq-current-image img,.fq-article-content img{border-radius:2px!important}\n/* Status-Badges und bewusst kreisförmige Bedienelemente bleiben als solche erkennbar. */\n.admin-status,.fq-badge,.fq-status,.payment-status,.detail-accommodation-id,.hero-dots,.hero-dots button,.support-icon,.admin-user-icon,.cookie-close,.lightbox-close,.lightbox-arrow{border-radius:999px!important}\n

/* FQO 1.0.234 – projektweit keine abgerundeten Blockcontainer */
html body div,html body section,html body article,html body header,html body nav,html body main,html body footer,html body aside,html body form,html body figure,html body fieldset,html body table,html body .site-header,html body .topbar,html body .header-inner,html body .main-nav,html body .mobile-nav,html body .site-footer{border-radius:0!important}
html body img{border-radius:0!important}

/* FQO 1.0.236 – konsequent eckige Blockarchitektur, bündige Desktopbreite, Sticky-Navigation */
/* Keine Rundungen an Projekt-Blöcken, Karten, Panels oder deren Bildern. */
html body :where(section,article,header,nav,main,footer,aside,form,figure,fieldset,table,
.hero,.search-panel,.form-card,.detail-card,.empty-card,.accommodation-card,.premium-teaser,
.premium-hero,.auth-card,.host-box,.direct-search-box,.filter-group,.pricing-card,.pricing-trial,
.destination-intro,.popular-destination,.site-ad,.cookie-consent-box,.booking-head,.booking-form-card,
.booking-summary,.booking-paypal-box,.support-form-card,.support-info-card,.support-security,
.admin-hero,.admin-section,.admin-stat,.admin-row,.media-admin-card,.editorial-card,
.editorial-list-head,.fq-cms-card,.fq-cms-detail-page,.home-latest-blog-card,.home-region-card,
.detail-hero,.detail-hero-photo,.detail-tabs,.detail-section,.detail-overview,.detail-gallery,
.calendar-month,.booking-request,.home-slogan-panel,.home-accommodations,.home-categories,
.home-latest-blog,.home-benefits,.site-footer,.footer-inner,.footer-banner){border-radius:0!important}
html body :where(.accommodation-card,.media-admin-card,.editorial-card,.home-latest-blog-card,
.fq-cms-card,.detail-hero-photo,.detail-gallery,.home-region-card) img{border-radius:0!important}

/* Direkt aufeinanderfolgende Inhaltsblöcke schließen ohne künstliche Zwischenräume an. */
body:not(.admin-page) .content>section,
body:not(.admin-page) .content>article,
body:not(.admin-page) .content>.detail-card,
body:not(.admin-page) .content>.site-ad,
body:not(.admin-page) .content>.premium-teaser,
body:not(.admin-page) .content>.destination-results,
body:not(.admin-page) .content>.fq-cms-public-page,
body:not(.admin-page) .content>.home-latest-blog,
body:not(.admin-page) .content>.home-accommodations,
body:not(.admin-page) .content>.home-categories,
body:not(.admin-page) .content>.home-slogan-panel{margin-top:0!important;margin-bottom:0!important}
body:not(.admin-page) .detail-layout,
body:not(.admin-page) .detail-tabs,
body:not(.admin-page) .detail-section,
body:not(.admin-page) .detail-overview,
body:not(.admin-page) .detail-gallery{margin-top:0!important;margin-bottom:0!important}

@media (min-width:761px){
  /* Header und Desktop-Inhalt besitzen exakt dieselbe Außenbreite. */
  body:not(.admin-page) .topbar.public-topbar{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    transform:none!important;
    width:min(1320px,calc(100% - 56px))!important;
    max-width:1320px!important;
    margin:0 auto!important;
    border-radius:0!important;
    z-index:200!important;
  }
  body:not(.admin-page) .content{
    width:min(1320px,calc(100% - 56px))!important;
    max-width:1320px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body:not(.admin-page) .page-title{padding-top:24px!important}
  body:not(.admin-page) .public-nav>a,
  body:not(.admin-page) .public-nav-droptrigger,
  body:not(.admin-page) .public-nav-dropdown-menu,
  body:not(.admin-page) .public-nav-dropdown-menu a{border-radius:0!important}
}

/* ================================================================
   FQO 1.0.237 – projektweiter Layout-Audit
   Ein Desktop-Rahmen, echter Sticky-Header, eckige Blöcke,
   bündige Hauptbereiche und luftige Innenabstände.
   ================================================================ */
:root{--fq-desktop-width:1320px;--fq-inner-pad:28px}

/* Blockarchitektur: keine abgerundeten Ecken. Kreisförmige Funktionsicons bleiben ausgenommen. */
html body :where(section,article,header,nav,main,footer,aside,form,figure,fieldset,table,
.hero,.hero-copy,.search-panel,.form-card,.detail-card,.empty-card,.accommodation-card,.premium-teaser,
.premium-hero,.auth-card,.host-box,.direct-search-box,.filter-group,.pricing-card,.pricing-trial,
.destination-intro,.popular-destination,.site-ad,.cookie-consent-box,.booking-head,.booking-form-card,
.booking-summary,.booking-paypal-box,.support-hero,.support-form-card,.support-info-card,.support-security,
.admin-hero,.admin-section,.admin-stat,.admin-row,.media-admin-card,.editorial-card,.editorial-list-head,
.fq-cms-card,.fq-cms-detail-page,.fq-region-seo-intro,.home-latest-blog-card,.home-region-card,
.detail-hero,.detail-hero-photo,.detail-tabs,.detail-section,.detail-overview,.detail-gallery,
.calendar-month,.booking-request,.home-slogan-panel,.home-accommodations,.home-categories,.home-latest-blog,
.home-benefits,.site-footer,.footer-inner,.footer-banner,.popular-destinations,.popular-destinations-inner){border-radius:0!important}
html body :where(.accommodation-card,.media-admin-card,.editorial-card,.home-latest-blog-card,.fq-cms-card,
.detail-hero-photo,.detail-gallery,.home-region-card,.fq-cms-editorial-card) img{border-radius:0!important}

/* Innenräume bleiben bewusst erhalten: bündige Blöcke bedeuten nicht gequetschte Inhalte. */
body:not(.admin-page) :where(.editorial-list-head,.destination-intro,.fq-region-seo-intro,.detail-section,
.support-hero,.support-form-card,.support-info-card,.premium-teaser,.booking-head,.booking-form-card,
.booking-summary,.booking-request,.home-slogan-panel){padding-left:28px!important;padding-right:28px!important}
body:not(.admin-page) :where(.editorial-card-body,.home-latest-blog-body,.accommodation-content){padding-left:20px!important;padding-right:20px!important}

@media (min-width:761px){
  html,body{overflow-x:clip!important}
  body:not(.admin-page) .site-shell,
  body:not(.admin-page) .main{overflow:visible!important}

  /* Ein verbindlicher Desktop-Rahmen für Navigation und sämtliche Seiteninhalte. */
  body:not(.admin-page) .topbar.public-topbar,
  body:not(.admin-page) .content{
    width:min(var(--fq-desktop-width),calc(100% - 56px))!important;
    max-width:var(--fq-desktop-width)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body:not(.admin-page) .content{padding-left:0!important;padding-right:0!important;padding-bottom:0!important}

  /* Tatsächlich sticky: kein absoluter/transformierter Header mehr. */
  body:not(.admin-page) .topbar.public-topbar{
    position:sticky!important;top:0!important;left:auto!important;right:auto!important;
    transform:none!important;margin-top:0!important;height:56px!important;z-index:1000!important;
  }

  /* Alle regulären Seitencontainer dürfen den gemeinsamen Rahmen vollständig nutzen. */
  body:not(.admin-page) :where(.page-title,.fq-cms-public-page,.fq-cms-activity-page,.editorial-list-page,
  .editorial-detail,.destination-results,.ostfriesland-results,.booking-page,.pricing-page,.profile-page,
  .search-page-shell,.support-page-shell,.accommodation-detail,.premium-page,.legal-page,.blog-page,
  .home-accommodations,.home-categories,.home-slogan-panel,.home-latest-blog,.popular-destinations,
  .site-footer,.footer-inner){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

  /* Startseiten-Hero exakt so breit wie Header und Content, nicht mehr viewport-breit. */
  body:not(.admin-page) .hero-home-redesign{
    width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
  }

  /* Hauptblöcke schließen bündig aneinander an; Luft entsteht innerhalb der Blöcke. */
  body:not(.admin-page) :where(.fq-cms-public-page,.fq-cms-activity-page,.destination-results,
  .home-accommodations,.home-categories,.home-slogan-panel,.home-latest-blog,.popular-destinations,
  .site-ad,.premium-teaser){margin-top:0!important;margin-bottom:0!important}
  body:not(.admin-page) .fq-cms-public-page .editorial-list-head{margin:0!important}
  body:not(.admin-page) .fq-region-seo-intro{margin:0!important}

  /* Redaktionelle Raster: 1 = volle Breite, 2 = 2 Spalten, ab 3 = 3 Spalten. */
  body:not(.admin-page) .fq-cms-editorial-grid{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;padding-top:18px}
  body:not(.admin-page) .fq-cms-editorial-grid.is-single{grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important}
  body:not(.admin-page) .fq-cms-editorial-grid.is-single .editorial-card{width:100%!important;max-width:none!important}
  body:not(.admin-page) .fq-cms-editorial-grid.is-single .editorial-card-image{aspect-ratio:16/7!important}
  body:not(.admin-page) .fq-cms-editorial-grid:has(> .editorial-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Unterkunftsdetail und seine Teilblöcke nutzen ebenfalls die gemeinsame Außenbreite. */
  body:not(.admin-page) .accommodation-detail{max-width:none!important}
  body:not(.admin-page) .detail-columns{gap:18px!important;margin:0!important;padding-top:18px!important}
  body:not(.admin-page) .detail-section{margin:0!important}

  /* Footer bleibt im selben Raster. */
  body:not(.admin-page) .site-footer{width:100%!important;max-width:none!important;margin:0!important}
}

@media (max-width:760px){
  body:not(.admin-page) .fq-cms-editorial-grid,
  body:not(.admin-page) .fq-cms-editorial-grid.is-single{grid-template-columns:1fr!important}
  body:not(.admin-page) :where(.editorial-list-head,.destination-intro,.fq-region-seo-intro,.detail-section,
  .support-hero,.support-form-card,.support-info-card){padding-left:17px!important;padding-right:17px!important}
}

/* ================================================================
   FQO 1.0.238 – projektweite Layout-Konsolidierung
   Gemeinsamer Seitenrahmen ohne Aufblasen einzelner Komponenten,
   keine doppelten Seitentitel, echter Sticky-Header.
   ================================================================ */
:root{--fq-desktop-width:1320px;--fq-section-pad:34px;--fq-card-max:520px}

/* Der generische Seitentitel wird im Frontend nicht zusätzlich ausgegeben.
   Die jeweilige Seite besitzt ihren semantischen Titel im eigentlichen Inhaltsblock. */
body:not(.admin-page) .page-title{display:none!important}

/* Blockelemente bleiben konsequent eckig. */
html body :where(section,article,header,nav,main,footer,aside,form,figure,fieldset,table,
.editorial-list-head,.editorial-card,.detail-card,.destination-intro,.fq-region-seo-intro,
.accommodation-card,.site-ad,.premium-teaser,.home-slogan-panel,.home-accommodations,
.home-categories,.home-latest-blog,.popular-destinations,.footer-inner,.footer-banner){border-radius:0!important}

@media (min-width:761px){
  html,body{overflow-x:clip!important}
  body:not(.admin-page),body:not(.admin-page) .site-shell,body:not(.admin-page) .main{overflow:visible!important}

  /* Header und Seitenrahmen besitzen dieselbe Außenkante. */
  body:not(.admin-page) .topbar.public-topbar,
  body:not(.admin-page) .content{
    width:min(var(--fq-desktop-width),calc(100% - 56px))!important;
    max-width:var(--fq-desktop-width)!important;
    margin-left:auto!important;margin-right:auto!important;
    box-sizing:border-box!important;
  }
  body:not(.admin-page) .content{padding:0!important}

  /* Sticky wird unabhängig von alten Header-Regeln erzwungen. */
  body:not(.admin-page) .topbar.public-topbar{
    position:sticky!important;top:0!important;left:auto!important;right:auto!important;
    transform:none!important;z-index:5000!important;margin-top:0!important;
  }

  /* Der Hero bleibt vollständig im gemeinsamen Seitenrahmen und behält eine
     kontrollierte, responsive Bildhöhe statt einfach abgeschnitten zu werden. */
  body:not(.admin-page) .hero-home-redesign{
    width:100%!important;max-width:100%!important;margin:0!important;
    min-height:0!important;height:auto!important;aspect-ratio:16/8.2!important;
    overflow:hidden!important;
  }
  body:not(.admin-page) .hero-home-redesign :where(.hero-slide,.hero-slide img,.hero-slide-picture,img){
    width:100%!important;height:100%!important;max-width:none!important;
  }
  body:not(.admin-page) .hero-home-redesign :where(.hero-slide img,.hero-slide-picture img){object-fit:cover!important}

  /* Seitenblöcke nutzen den Rahmen, ihre Inhalte behalten aber sinnvolles Padding. */
  body:not(.admin-page) :where(.editorial-list-head,.destination-intro,.fq-region-seo-intro,
  .detail-section,.legal-page .detail-content,.support-hero,.support-form-card,.support-info-card,
  .premium-hero,.booking-head,.booking-form-card,.booking-summary,.booking-request){
    padding-left:var(--fq-section-pad)!important;padding-right:var(--fq-section-pad)!important;
  }

  /* Redaktionelle Karten werden nicht mehr auf die gesamte verfügbare Breite aufgeblasen. */
  body:not(.admin-page) .fq-cms-editorial-grid{
    display:grid!important;width:100%!important;gap:18px!important;
    grid-template-columns:repeat(3,minmax(0,var(--fq-card-max)))!important;
    justify-content:space-between!important;align-items:stretch!important;
    padding-top:18px!important;
  }
  body:not(.admin-page) .fq-cms-editorial-grid:has(> .editorial-card:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,var(--fq-card-max)))!important;
    justify-content:space-between!important;
  }
  body:not(.admin-page) .fq-cms-editorial-grid.is-single,
  body:not(.admin-page) .fq-cms-editorial-grid:has(> .editorial-card:first-child:last-child){
    grid-template-columns:minmax(0,620px)!important;justify-content:start!important;
  }
  body:not(.admin-page) .fq-cms-editorial-grid .editorial-card{width:100%!important;max-width:none!important}
  body:not(.admin-page) .fq-cms-editorial-grid .editorial-card-image{aspect-ratio:16/9!important}

  /* Unterkunftslisten: einzelne Objekte bleiben Karten und werden nicht zu einem
     überbreiten Block; mehrere Objekte nutzen ein gleichmäßiges Raster. */
  body:not(.admin-page) :where(.accommodation-grid,.results-grid,.destination-grid){
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;align-items:stretch!important;
  }
  body:not(.admin-page) :where(.accommodation-grid,.results-grid,.destination-grid):has(> :first-child:last-child){
    grid-template-columns:minmax(0,420px)!important;justify-content:start!important;
  }

  /* Zusammengehörende Hauptsektionen dürfen bündig sein; innerhalb bleibt Luft. */
  body:not(.admin-page) :where(.fq-cms-public-page,.fq-cms-activity-page,.destination-results,
  .home-accommodations,.home-categories,.home-slogan-panel,.home-latest-blog,.popular-destinations,
  .site-ad,.premium-teaser){margin-top:0!important;margin-bottom:0!important}
}

@media (min-width:761px) and (max-width:1100px){
  body:not(.admin-page) .fq-cms-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.admin-page) :where(.accommodation-grid,.results-grid,.destination-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  body:not(.admin-page) .fq-cms-editorial-grid,
  body:not(.admin-page) :where(.accommodation-grid,.results-grid,.destination-grid){grid-template-columns:1fr!important}
}

/* ================================================================
   FQO 1.0.239 – verbindliche Seitenbreite ohne Design-Eigeninterpretation
   Headerbreite = Außenbreite aller öffentlichen Seiten. Keine Header-Schatten.
   ================================================================ */
:root{--fq-public-width:1320px}

/* ausdrücklich kein Schatten am öffentlichen Header */
body:not(.admin-page) .topbar.public-topbar{box-shadow:none!important}

@media (min-width:761px){
  html,body,body:not(.admin-page) .site-shell,body:not(.admin-page) .main{overflow-x:clip!important}
  body:not(.admin-page) .main{overflow-y:visible!important}

  /* Ein und dieselbe Außenbreite für Header und kompletten Seiteninhalt. */
  body:not(.admin-page) .topbar.public-topbar,
  body:not(.admin-page) .content{
    box-sizing:border-box!important;
    width:min(var(--fq-public-width),calc(100% - 56px))!important;
    max-width:var(--fq-public-width)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Header wirklich sticky, ohne alte absolute Positionierung oder Effekte. */
  body:not(.admin-page) .topbar.public-topbar{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    margin-top:0!important;
    z-index:5000!important;
    box-shadow:none!important;
  }

  body:not(.admin-page) .content{padding-left:0!important;padding-right:0!important}

  /* Sämtliche öffentlichen Seiten-Wrapper folgen dem gemeinsamen Rahmen.
     Nur der Wrapper wird verbreitert; Karten/Controls werden NICHT künstlich gestreckt. */
  body:not(.admin-page) .content > :where(
    .hero,.hero-home-redesign,.home-search-panel,.home-accommodations,.home-categories,.home-slogan-panel,
    .home-latest-blog,.home-benefits,.popular-destinations,.destination-results,.destination-intro,
    .fq-cms-public-page,.fq-cms-region-page,.fq-cms-activity-page,.fq-cms-detail-page,
    .editorial-list-page,.editorial-detail,.blog-page,.accommodation-detail,.booking-page,.pricing-page,
    .premium-page,.profile-page,.search-page-shell,.support-page-shell,.legal-page,.form-card,.auth-card,
    .host-box,.direct-search-box,.premium-teaser,.site-ad
  ),
  body:not(.admin-page) .content > section,
  body:not(.admin-page) .content > article{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Hero exakt im Seitenrahmen; kein Viewport-Ausbruch. */
  body:not(.admin-page) .hero-home-redesign,
  body:not(.admin-page) .hero{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Footer-Inhalt an denselben Seitenrahmen binden. */
  body:not(.admin-page) footer .popular-destinations-inner,
  body:not(.admin-page) footer .footer-inner,
  body:not(.admin-page) footer .footer-copyright-inner{
    box-sizing:border-box!important;
    width:min(var(--fq-public-width),calc(100% - 56px))!important;
    max-width:var(--fq-public-width)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ================================================================
   FQO 1.0.241 – projektweite Layoutbereinigung nach Vorgabe
   Ein Hintergrund, keine dekorativen Schatten/Trennlinien,
   saubere Innenabstände und kompakte Kartenraster.
   ================================================================ */
:root{--fq-page-bg:#F4F9FC;--fq-grid-gap:18px;--fq-inner-pad:34px}
html,body,body:not(.admin-page),body:not(.admin-page) .site-shell,body:not(.admin-page) .main,
body:not(.admin-page) .content,body:not(.admin-page) .popular-destinations,
body:not(.admin-page) .site-footer{background:var(--fq-page-bg)!important;background-image:none!important}

/* Keine dekorativen Schatten im öffentlichen Frontend. Funktionale Feldrahmen bleiben. */
body:not(.admin-page) :where(.topbar,.hero,.hero-home-redesign,.home-search-panel,.accommodation-card,
.editorial-card,.editorial-detail,.detail-card,.destination-intro,.fq-region-seo-intro,.editorial-list-head,
.site-ad,.premium-teaser,.pricing-card,.pricing-trial,.support-hero,.support-form-card,.support-info-card,
.support-hero-icon,.support-info-icon,.popular-destination,.popular-destinations,.footer-inner,.footer-banner,
.form-card,.search-panel,.empty-card,.booking-head,.booking-form-card,.booking-summary,.booking-paypal-box,
.auth-card,.host-box,.direct-search-box,.home-region-card,.home-latest-blog-card,.home-slogan-panel,
.home-accommodations,.home-categories,.home-latest-blog,.home-benefits){box-shadow:none!important}
body:not(.admin-page) :where(.accommodation-card,.editorial-card):hover{box-shadow:none!important;transform:none!important}

/* Keine dekorativen Abschnitts-/Containerlinien. Eingabefelder und Buttons bleiben funktional abgegrenzt. */
body:not(.admin-page) :where(.topbar.public-topbar,.hero,.hero-home-redesign,.home-search-panel,
.editorial-card,.editorial-detail,.detail-card,.destination-intro,.fq-region-seo-intro,.editorial-list-head,
.accommodation-card,.site-ad,.premium-teaser,.pricing-card,.pricing-trial,.support-hero,.support-form-card,
.support-info-card,.popular-destination,.popular-destinations,.footer-inner,.footer-banner,.form-card,
.search-panel,.empty-card,.home-region-card,.home-latest-blog-card){border-color:transparent!important}
body:not(.admin-page) .popular-destinations{border-top:0!important}
body:not(.admin-page) :where(.editorial-meta,.support-info-item,.pricing-divider){border-color:transparent!important}

/* Hauptbereiche ohne künstliche Außenlücken; Inhalte behalten Luft. */
body:not(.admin-page) :where(.fq-cms-public-page,.fq-cms-region-page,.fq-cms-activity-page,.destination-results,
.home-accommodations,.home-categories,.home-slogan-panel,.home-latest-blog,.popular-destinations,.site-ad,
.premium-teaser){margin-top:0!important;margin-bottom:0!important}
body:not(.admin-page) :where(.editorial-list-head,.destination-intro,.fq-region-seo-intro,.support-hero,
.support-form-card,.support-info-card,.pricing-page,.legal-page .detail-content,.detail-section){padding-top:26px!important;padding-bottom:26px!important}

/* Kartenraster: feste, einheitliche Kartenbreite; keine Verteilung an die Außenkanten. */
@media (min-width:1101px){
 body:not(.admin-page) .fq-cms-editorial-grid{
   grid-template-columns:repeat(3,minmax(0,420px))!important;
   justify-content:start!important;gap:var(--fq-grid-gap)!important;
 }
 body:not(.admin-page) .fq-cms-editorial-grid:has(> .editorial-card:nth-child(2):last-child){
   grid-template-columns:repeat(2,minmax(0,420px))!important;justify-content:start!important;
 }
 body:not(.admin-page) .fq-cms-editorial-grid.is-single,
 body:not(.admin-page) .fq-cms-editorial-grid:has(> .editorial-card:first-child:last-child){
   grid-template-columns:minmax(0,420px)!important;justify-content:start!important;
 }
 body:not(.admin-page) :where(.accommodation-grid,.results-grid,.destination-grid){
   grid-template-columns:repeat(3,minmax(0,420px))!important;justify-content:start!important;gap:var(--fq-grid-gap)!important;
 }
 body:not(.admin-page) :where(.accommodation-grid,.results-grid,.destination-grid):has(> :first-child:last-child){
   grid-template-columns:minmax(0,420px)!important;justify-content:start!important;
 }
}

/* Artikeldetailseiten: Außenrahmen breit, Textspalte lesbar statt gesamter Artikel schmal. */
@media (min-width:761px){
 body:not(.admin-page) .fq-cms-detail-page,
 body:not(.admin-page) .editorial-detail{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
 body:not(.admin-page) .editorial-detail{background:transparent!important;border:0!important;overflow:visible!important}
 body:not(.admin-page) .editorial-detail-head,
 body:not(.admin-page) .editorial-body,
 body:not(.admin-page) .editorial-meta{width:min(100%,980px)!important;margin-left:auto!important;margin-right:auto!important}
 body:not(.admin-page) .editorial-cover{width:min(100%,1120px)!important;max-height:none!important;margin-left:auto!important;margin-right:auto!important}
 body:not(.admin-page) .editorial-cover img{width:100%!important;height:auto!important}
 body:not(.admin-page) .editorial-body{padding:28px 34px 34px!important;background:#fff!important}
 body:not(.admin-page) .editorial-detail-head{padding:30px 34px 22px!important}
 body:not(.admin-page) .editorial-meta{padding:15px 34px!important;border:0!important;background:transparent!important}
}

/* Header: sticky, eckig, ohne Schatten oder dekorative Unterkante. */
body:not(.admin-page) .topbar.public-topbar{box-shadow:none!important;border-bottom:0!important}

/* Footer/Ortsbereich ohne Trennlinie und ohne wechselnden Hintergrund. */
body:not(.admin-page) :where(.popular-destinations,.popular-destinations-inner,.site-footer,.footer-inner,.footer-copyright){background:var(--fq-page-bg)!important;background-image:none!important}

/* ================================================================
   FQO 1.0.241 – projektweite Konsolidierung nach Layoutabnahme
   Nur vereinbarte Korrekturen: ein Hintergrund, keine dekorativen
   Schatten/Linien, klare Bereichsabstaende, einheitliche Raster.
   ================================================================ */
:root{--fq-page-bg:#F4F9FC;--fq-section-gap:36px}

/* Einheitlicher Seitenhintergrund – auch Werbung, Footer und Vermieterflaechen. */
body:not(.admin-page),body:not(.admin-page) .site-shell,body:not(.admin-page) .main,
body:not(.admin-page) .content,body:not(.admin-page) .site-footer,
body:not(.admin-page) .footer-inner,body:not(.admin-page) .footer-banner,
body:not(.admin-page) .footer-copyright,body:not(.admin-page) .footer-copyright-inner,
body:not(.admin-page) .popular-destinations,body:not(.admin-page) .popular-destinations-inner,
body:not(.admin-page) .site-ad,body:not(.admin-page) .dashboard-grid,
body:not(.admin-page) .dashboard-grid>.form-card,body:not(.admin-page) .my-list{
  background:var(--fq-page-bg)!important;background-image:none!important;
}

/* Dekorative Schatten und Abschnittslinien konsequent entfernen. */
body:not(.admin-page) :where(.topbar,.site-ad,.site-footer,.footer-inner,.footer-banner,.footer-copyright,
.popular-destinations,.popular-destination,.form-card,.my-list,.dashboard-grid>.form-card,.pricing-card,
.pricing-trial,.support-hero,.support-form-card,.support-info-card,.accommodation-card,.editorial-card,
.editorial-detail,.home-latest-blog-card,.home-region-card,.home-slogan-panel,.home-accommodations,
.home-categories,.home-latest-blog,.home-benefits){box-shadow:none!important}
body:not(.admin-page) :where(.site-ad,.site-footer,.footer-inner,.footer-banner,.footer-copyright,
.popular-destinations,.popular-destinations-inner,.dashboard-grid>.form-card,.my-list){border:0!important}
body:not(.admin-page) .popular-destinations{border-top:0!important;border-bottom:0!important}

/* Werbecontainer sind Teil der Seite; das Banner selbst bleibt unveraendert. */
body:not(.admin-page) .site-ad{padding:18px 20px!important}

/* Hauptbereiche klar voneinander trennen, ohne Linien/Schatten. */
body:not(.admin-page) .content>:where(.home-accommodations,.home-categories,.home-slogan-panel,
.home-latest-blog,.premium-teaser,.site-ad,.destination-results,.fq-cms-public-page,
.fq-cms-region-page,.fq-cms-activity-page,.pricing-page,.support-page-shell,.dashboard-grid){
  margin-top:var(--fq-section-gap)!important;margin-bottom:var(--fq-section-gap)!important;
}
body:not(.admin-page) .home-search-panel{margin-bottom:var(--fq-section-gap)!important}
body:not(.admin-page) .popular-destinations{margin-top:var(--fq-section-gap)!important;margin-bottom:var(--fq-section-gap)!important}

/* Footer ohne zusaetzliche Boxwirkung. */
body:not(.admin-page) .footer-inner,body:not(.admin-page) .footer-copyright-inner{border:0!important}

/* Vermieterbereich: keine grossen weissen Hintergrundboxen; Formulare bleiben funktional. */
body:not(.admin-page) .dashboard-grid>.form-card,
body:not(.admin-page) .content>.form-card{background:var(--fq-page-bg)!important;box-shadow:none!important}

/* Kartenraster: Karten stehen ab links direkt nebeneinander, kein space-between. */
@media (min-width:1101px){
 body:not(.admin-page) :where(.fq-cms-editorial-grid,.home-latest-blog-grid,.accommodation-grid,.results-grid,.destination-grid){
   justify-content:start!important;align-content:start!important;column-gap:18px!important;row-gap:24px!important;
 }
 body:not(.admin-page) .fq-cms-editorial-grid{grid-template-columns:repeat(3,minmax(0,420px))!important}
 body:not(.admin-page) .fq-cms-editorial-grid:has(>.editorial-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,420px))!important}
 body:not(.admin-page) .fq-cms-editorial-grid:has(>.editorial-card:first-child:last-child){grid-template-columns:minmax(0,420px)!important}
}

/* ================================================================
   FQO 1.0.242 – globale Abschlusskorrektur
   Ursache des weißen Balkens/Footers zentral bereinigt.
   ================================================================ */
:root{--fq-page-bg:#F4F9FC;--fq-section-gap:36px}

/* Der Footer ist im Markup ein nacktes <footer>. Ihn selbst einfärben und
   einen eigenen Formatierungskontext geben, damit der obere Margin des
   Ortsbereichs nicht mehr als weißer Balken durchschlägt. */
body:not(.admin-page) footer{
  display:flow-root!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:var(--fq-page-bg)!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
body:not(.admin-page) footer>.popular-destinations{
  margin-top:var(--fq-section-gap)!important;
  margin-bottom:var(--fq-section-gap)!important;
  padding-top:0!important;
  border:0!important;
  background:var(--fq-page-bg)!important;
}
body:not(.admin-page) footer :where(.popular-destinations-inner,.footer-banner,.footer-inner,.footer-copyright,.footer-copyright-inner){
  background:var(--fq-page-bg)!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
body:not(.admin-page) .footer-banner{padding:0!important;margin:0!important}
body:not(.admin-page) .footer-banner img{display:block!important;margin:0 auto!important;background:transparent!important}

/* Keine leeren/dekorativen Vollbreiten-Trenner vor dem globalen Footer. */
body:not(.admin-page) .content>hr,
body:not(.admin-page) .content>.fq-separator,
body:not(.admin-page) .content>.section-divider,
body:not(.admin-page) .content>.separator{display:none!important}

/* Abschnittsabstand entsteht nur über den Seitenhintergrund. */
body:not(.admin-page) .content{background:var(--fq-page-bg)!important;background-image:none!important}

/* ================================================================
   FQO 1.0.243 – finale Umsetzung der freigegebenen Layoutvorgaben
   Keine Eigeninterpretationen: echte Abschnittsabstände auf #F4F9FC,
   Region ohne doppelten Seitenkopf, Footer-Banner wie abgenommen.
   ================================================================ */
:root{--fq-page-bg:#F4F9FC;--fq-section-gap:36px}

/* Startseite: eigenständige Hauptbereiche sichtbar voneinander trennen.
   Der Zwischenraum besteht ausschließlich aus dem Seitenhintergrund. */
body:not(.admin-page) .content > .home-benefits,
body:not(.admin-page) .content > .home-accommodations,
body:not(.admin-page) .content > .home-categories,
body:not(.admin-page) .content > .home-slogan-panel,
body:not(.admin-page) .content > .site-ad,
body:not(.admin-page) .content > .premium-teaser,
body:not(.admin-page) .content > .home-latest-blog{
  margin-top:var(--fq-section-gap)!important;
  margin-bottom:0!important;
}

/* Suche und Hero bilden jeweils abgeschlossene Bereiche; keine weiße
   Zwischenfläche, keine Linie und kein Schatten als Abstandshalter. */
body:not(.admin-page) .content > .home-search-panel{margin-bottom:0!important}
body:not(.admin-page) .content > :where(.home-benefits,.home-accommodations,.home-categories,
.home-slogan-panel,.site-ad,.premium-teaser,.home-latest-blog){
  background-color:transparent!important;
  box-shadow:none!important;
  border-top:0!important;
  border-bottom:0!important;
}

/* Vor dem globalen Orts-/Footerbereich ebenfalls nur echter Abstand. */
body:not(.admin-page) footer>.popular-destinations{
  margin-top:var(--fq-section-gap)!important;
  margin-bottom:var(--fq-section-gap)!important;
  background:var(--fq-page-bg)!important;
}

/* Region: der doppelte obere Seitenkopf wurde aus dem Markup entfernt.
   Der verbleibende Ostfriesland-Block ist der einzige semantische Seitenkopf. */
body:not(.admin-page) .fq-cms-region-page{margin-top:0!important}
body:not(.admin-page) .fq-cms-region-page>.fq-region-seo-intro{margin-top:0!important}
body:not(.admin-page) .fq-cms-region-page>.fq-region-seo-intro h1{
  margin:0 0 12px!important;color:var(--navy)!important;
  font-size:clamp(28px,2.5vw,36px)!important;line-height:1.15!important;
}

/* Footer-Banner exakt wie in der abgenommenen Aktivitäten-Ansicht:
   keine eigene Fläche hinter der Grafik. */
body:not(.admin-page) footer,
body:not(.admin-page) footer :where(.footer-banner,.footer-inner,.footer-copyright,.footer-copyright-inner){
  background:var(--fq-page-bg)!important;background-image:none!important;
  border:0!important;box-shadow:none!important;
}
body:not(.admin-page) .footer-banner{margin:0!important;padding:0!important}
body:not(.admin-page) .footer-banner img{
  display:block!important;max-width:100%!important;height:auto!important;
  margin:0 auto!important;background:transparent!important;box-shadow:none!important;border:0!important;
}


/* ================================================================
   FQO 1.0.244 – Artikeldetailseiten nach Vorgabe
   Titelbild = Breite des Header-/Navigationsrahmens. Bestehende
   Textüberlagerung bleibt erhalten und wird proportional verbreitert.
   Bildunterschrift sitzt direkt am Titelbild.
   ================================================================ */
@media (min-width:761px){
  body:not(.admin-page) .fq-cms-detail-page{
    width:min(var(--fq-public-width),calc(100% - 56px))!important;
    max-width:var(--fq-public-width)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-cover{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:visible!important;
  }
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-cover-frame{
    width:100%!important;
    max-width:none!important;
    aspect-ratio:16 / 9!important;
  }
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-cover-frame img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  /* Das bisherige Overlay-Verhältnis bleibt erhalten: 980/1120 = 87,5 %. */
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-body{
    width:87.5%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-top:-70px!important;
  }
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-image-caption{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:7px 0 0!important;
    padding:0!important;
    text-align:right!important;
    font-size:11px!important;
    line-height:1.4!important;
    color:#82979f!important;
    background:transparent!important;
    border:0!important;
  }
}
@media (max-width:760px){
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-image-caption{
    display:block!important;
    margin:7px 0 0!important;
    padding:0!important;
    text-align:right!important;
    background:transparent!important;
    border:0!important;
  }
}


/* ================================================================
   FQO 1.0.245 – Artikeldetail: Textkarte +50 px, Caption am Kartenrand
   ================================================================ */
@media (min-width:761px){
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-body{
    margin-top:-120px!important;
    position:relative!important;
  }
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-body>.fq-cms-image-caption{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:-1px 0 18px!important;
    padding:6px 18px 0!important;
    text-align:center!important;
    font-size:11px!important;
    line-height:1.4!important;
    color:#82979f!important;
    background:transparent!important;
    border:0!important;
  }
}
@media (max-width:760px){
  body:not(.admin-page) .fq-cms-detail-page .fq-cms-body>.fq-cms-image-caption{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:4px 0 0!important;
    text-align:center!important;
    background:transparent!important;
    border:0!important;
  }
}

/* ================================================================
   FQO 1.0.246 – Artikeldetail: Kopfbereich auf volle Artikelbreite
   Kategorie, H1, Untertitel und Teaser nutzen auf Desktop dieselbe
   Außenbreite wie Titelbild/Header. Textkarte/Caption bleiben wie 1.0.245.
   ================================================================ */
@media (min-width:761px){
  body:not(.admin-page) .fq-cms-detail-page .editorial-detail-head{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    padding:30px 34px 22px!important;
  }
  body:not(.admin-page) .fq-cms-detail-page .editorial-detail-head h1,
  body:not(.admin-page) .fq-cms-detail-page .editorial-detail-head .fq-cms-excerpt,
  body:not(.admin-page) .fq-cms-detail-page .editorial-detail-head .fq-cms-excerpt p{
    width:100%!important;
    max-width:none!important;
  }
}

/* 1.0.247: Navigation fließt projektweit mit der Seite. */
body .topbar,body .public-topbar,body .admin-topbar,body .public-nav,body .detail-tabs,body .site-header,body .header,body .mobile-topbar{position:static!important;top:auto!important;transform:none!important;}
.fq-reviews,.fq-detail-rating-summary{max-width:100%;}
.fq-review{border-top:1px solid #dce9ef;padding:18px 0}.fq-review>div{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.fq-review-score{font-size:1.4rem}.fq-review-form{display:grid;gap:12px;max-width:680px}.fq-review-form label{display:grid;gap:6px}.fq-review-form input,.fq-review-form select,.fq-review-form textarea{width:100%;padding:10px;border:1px solid #cbdce6;border-radius:0}.fq-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.fq-review-admin{padding:18px 0;border-bottom:1px solid #ddd}

/* 1.0.248 – dreispaltige Angebotssektion analog zur bereitgestellten Startseitenreferenz */
.fq-home-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px;margin:28px auto;padding:0 16px}
.fq-home-offer{display:flex;flex-direction:column;min-width:0;background:#f4f1ed;color:#092c54;text-decoration:none;overflow:hidden}
.fq-home-offer img{display:block;width:100%;height:260px;object-fit:cover;border-radius:0}
.fq-home-offer>div{padding:16px;display:flex;flex:1;flex-direction:column;gap:12px}
.fq-home-offer h3{font-size:1.15rem;line-height:1.35;margin:0}
.fq-home-offer small{font-size:.8rem}.fq-home-offer span{margin-top:auto;align-self:flex-start;padding:9px 13px;border:1px solid #9aabc1}
@media(max-width:760px){.fq-home-offers{grid-template-columns:1fr}.fq-home-offer img{height:220px}}

/* v1.0.251: Werbeverwaltung entsprechend der Administration, ohne abweichende Rundungen */
.admin-page .admin-ads-panel,.admin-page .admin-ads-list .admin-row{border-radius:0;box-shadow:none}
.admin-ads-panel .admin-section-head{border-bottom:1px solid var(--line);padding-bottom:16px}
.admin-ads-panel .pricing-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.admin-ads-panel .pricing-admin-fields label{min-width:0}
.admin-ads-panel .pricing-admin-fields input,.admin-ads-panel .pricing-admin-fields textarea{width:100%;box-sizing:border-box;border-radius:0}
.admin-ads-panel .admin-row{gap:16px;align-items:center}
.admin-ads-panel .admin-user{flex:1;min-width:0}
.admin-ads-panel .admin-status-actions{flex-shrink:0}
.admin-ads-panel .admin-status-actions .button{border-radius:0}
.visitor-agent-label{display:block;font-size:11px;color:#647d86;margin-top:4px}
@media(max-width:720px){.admin-ads-panel .pricing-admin-fields{grid-template-columns:1fr}.admin-ads-panel .admin-status-actions{width:100%;justify-content:flex-start}.admin-ads-panel .admin-row{align-items:flex-start;flex-direction:column}}

/* 1.0.252: volle Desktopbreite und kompakte Statistik */
@media(min-width:1000px){body.admin-page .admin-shell{width:calc(100% - 32px)!important;max-width:none!important;margin:0 16px!important}body.admin-page .admin-shell .content{width:100%!important;max-width:none!important;padding:0 20px 30px!important}body.admin-page .visitor-referrer-section{width:calc(50% - 9px);display:inline-block;vertical-align:top}body.admin-page .visitor-top-pages{width:calc(50% - 9px);display:inline-block;vertical-align:top;margin-left:14px}}
body.admin-page .visitor-table th,body.admin-page .visitor-table td{padding:7px 9px!important}body.admin-page .admin-section{padding:16px!important;margin-bottom:12px!important;border-radius:0!important}body.admin-page .admin-hero{padding:20px!important;border-radius:0!important}body.admin-page .admin-stat{min-height:80px!important;border-radius:0!important}.fq-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:15px 8px}.fq-pagination .is-current{background:#07528f;color:#fff}.fq-pagination [aria-disabled=true]{opacity:.45;pointer-events:none}

/* Update 1.0.253: lokale Schrift ausschließlich für den Hero-Slogan. */
@font-face{font-family:'FQ Artline';src:url('fonts/Artline.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
body:not(.admin-page) .hero-home-redesign .hero-signature,
body:not(.admin-page) .hero-home-redesign .hero-signature span{font-family:'FQ Artline',cursive!important;font-weight:400!important}
/* Statistikbereiche über die volle Desktopbreite, ohne ungenutzte rechte Spalte. */
@media(min-width:1000px){body.admin-page .visitor-referrer-section,body.admin-page .visitor-top-pages{box-sizing:border-box!important;width:calc(50% - 9px)!important;display:inline-block!important;vertical-align:top!important}body.admin-page .visitor-top-pages{margin-left:14px!important}}

/* 1.0.255 – Besucherstatistik: klarer Desktopaufbau */
@media(min-width:1000px){body.admin-page .visitor-referrer-section,body.admin-page .visitor-top-pages{display:inline-block!important;vertical-align:top!important;width:calc(50% - 9px)!important;max-width:none!important}body.admin-page .visitor-top-pages{margin-left:14px!important}body.admin-page .visitor-log-section{clear:both;width:100%!important}}
.visitor-operator-filter{display:flex!important;align-items:center;gap:9px;justify-content:flex-start;white-space:normal}.visitor-operator-filter input{width:auto!important;flex:0 0 auto}.visitor-table-wrap{overflow-x:auto}.visitor-referrer-section,.visitor-top-pages{border-radius:0!important}

/* 1.0.256 – Statistik-Auswertungen als echtes responsives Raster */
body.admin-page .visitor-insights-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;width:100%;margin:0 0 16px}
body.admin-page .visitor-insights-grid>.visitor-referrer-section,body.admin-page .visitor-insights-grid>.visitor-top-pages{display:block!important;float:none!important;position:static!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;vertical-align:initial!important}
body.admin-page .visitor-insights-grid .visitor-referrer-grid,body.admin-page .visitor-insights-grid .visitor-top-list{min-width:0}
@media(max-width:900px){body.admin-page .visitor-insights-grid{grid-template-columns:minmax(0,1fr)}}

/* Unterkunft: Titelbild endet auf der markierten Kartenhöhe, nicht am Spaltenende. */
@media(min-width:901px){.accommodation-detail .detail-hero{align-items:start;min-height:0}.accommodation-detail .detail-hero-photo{height:540px;min-height:0;align-self:start}.accommodation-detail .detail-hero-photo img{height:100%;object-fit:cover}.accommodation-detail .detail-hero-copy{min-height:0}}
.fq-osm-admin-list{display:grid;gap:12px}.fq-osm-admin-row{display:grid;grid-template-columns:minmax(170px,2fr) repeat(3,minmax(110px,1fr)) auto;gap:12px;align-items:end;border:1px solid #d9e7ec;padding:14px}.fq-osm-admin-row strong,.fq-osm-admin-row small{display:block}.fq-osm-admin-row label{margin:0}.fq-osm-admin-row input{width:100%}@media(max-width:850px){.fq-osm-admin-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fq-osm-admin-row>div{grid-column:1/-1}}@media(max-width:500px){.fq-osm-admin-row{grid-template-columns:1fr}}

/* 1.0.259: ausschließlich Desktop-Hero-Slogan um 6 px vergrößern. */
@media(min-width:1025px){body:not(.admin-page) .hero-home-redesign .hero-signature{font-size:44px!important}body:not(.admin-page) .hero-home-redesign .hero-signature span{font-size:26px!important}}

/* 1.0.261 – Admin: einheitliche Kopfbereiche und keine öffentlichen Footer-Blöcke */
body.admin-page .admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
body.admin-page .admin-section-head>.button{width:auto!important;max-width:100%;flex:0 0 auto;align-self:flex-start}
body.admin-page .admin-nav{display:flex;flex-wrap:wrap;align-items:center}
body.admin-page .admin-section,body.admin-page .visitor-insights-grid{max-width:none}
/* Unterkunft: Foto und Textspalte schließen gemeinsam ab; keine weiße Foto-Restfläche. */
@media(min-width:901px){
 .accommodation-detail .detail-hero{display:grid;align-items:stretch!important;min-height:0!important;grid-template-rows:auto}
 .accommodation-detail .detail-hero-photo{height:auto!important;min-height:0!important;align-self:stretch!important;position:relative;overflow:hidden;background:transparent}
 .accommodation-detail .detail-hero-photo img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:center;display:block}
 .accommodation-detail .detail-hero-copy{min-height:0!important}
 .accommodation-detail .detail-columns{align-items:start}
 .accommodation-detail .overview-box{align-self:start}
}

/* 1.0.262 – Einheitlicher farbiger Administrationskopf */
body.admin-page .admin-hero,body.admin-page .fq-admin-standard-hero{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;flex-wrap:wrap!important;padding:22px 24px!important;background:linear-gradient(110deg,#e0f7fb 0%,#f4faf5 100%)!important;border:1px solid #d5e8ee!important;margin-bottom:16px!important;min-height:0!important}
body.admin-page .admin-hero-copy{flex:1 1 460px;min-width:0}
body.admin-page .fq-admin-back{margin-left:auto;flex:0 0 auto;align-self:flex-start}
body.admin-page .fq-admin-back .button{display:inline-flex!important;align-items:center!important;width:auto!important;min-width:0!important;max-width:100%!important;padding:11px 16px!important;white-space:nowrap!important}
body.admin-page .admin-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;width:auto!important;max-width:100%!important;margin-top:14px!important}
body.admin-page .admin-hero-actions .button{width:auto!important;flex:0 1 auto!important;min-width:0!important;padding:11px 16px!important}
body.admin-page .admin-nav a:first-child{min-width:0!important;width:auto!important;background:transparent!important;color:#07355c!important;padding:12px 13px!important}
body.admin-page .admin-nav a:first-child.is-active{background:#eaf5fb!important;color:#07528f!important}
body.admin-page .admin-nav a:first-child i{display:inline-block!important}
body.admin-page .fq-osm-admin-list{margin-bottom:0!important}
@media(max-width:700px){body.admin-page .admin-hero,body.admin-page .fq-admin-standard-hero{padding:18px!important}body.admin-page .fq-admin-back{margin-left:0;width:100%}body.admin-page .fq-admin-back .button{width:100%!important;justify-content:center}body.admin-page .admin-hero-actions{width:100%!important}body.admin-page .admin-hero-actions .button{flex:1 1 100%!important}}

/* 1.0.263: einheitliche lokal eingebundene FontAwesome-Icons im Admin-Hero. */
body.admin-page .admin-hero .hero-kicker,body.admin-page .fq-admin-standard-hero .hero-kicker{display:inline-flex;align-items:center;gap:9px}
body.admin-page .admin-hero .hero-kicker>.fa,body.admin-page .fq-admin-standard-hero .hero-kicker>.fa{font-family:FontAwesome!important;font-size:17px!important;font-weight:normal!important;line-height:1!important;display:inline-flex;align-items:center;justify-content:center;width:23px;min-width:23px;height:23px;color:#07528f;vertical-align:middle}
/* Die Kartenansicht wird allein durch die im Admin gespeicherte Zoomstufe festgelegt.
   Kein versehentliches Zoomen durch Scrollen oder Touch-Gesten im eingebetteten iframe. */
.hero-map-frame iframe{pointer-events:none!important}

/* FQO 1.0.264 – öffentliche Navigation und redaktionelle Übersichten */
body:not(.admin-page) .topbar.public-topbar,
body:not(.admin-page) .public-topbar,
body:not(.admin-page) .public-nav{
  border-bottom:0!important;box-shadow:none!important;
}
body:not(.admin-page) .topbar.public-topbar::before,
body:not(.admin-page) .topbar.public-topbar::after{
  border-bottom:0!important;box-shadow:none!important;
}
body:not(.admin-page) .fq-cms-editorial-list{
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;box-sizing:border-box;
}
body:not(.admin-page) .fq-cms-editorial-list>.editorial-list-head{
  width:100%!important;max-width:100%!important;margin:0 0 24px!important;
  padding:26px!important;box-sizing:border-box;
}
body:not(.admin-page) .fq-cms-editorial-list>.editorial-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;align-items:start;
}
body:not(.admin-page) .fq-cms-editorial-list>.editorial-grid>.editorial-card{
  display:block;min-width:0!important;width:100%!important;max-width:100%!important;
  margin:0!important;overflow:hidden;
}
body:not(.admin-page) .fq-cms-editorial-list .editorial-card-image img{
  display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
}
@media(max-width:1000px){
  body:not(.admin-page) .fq-cms-editorial-list>.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  body:not(.admin-page) .fq-cms-editorial-list>.editorial-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  body:not(.admin-page) .fq-cms-editorial-list>.editorial-list-head{padding:20px 16px!important;margin-bottom:18px!important}
}

/* FQO 1.0.265 – öffentliche Seiten: unerwünschten linken Zierbalken
   und aktive Navigations-Unterstreichung entfernen. Keine Änderung der
   Innenabstände oder der Inhaltsarchitektur. */
body:not(.admin-page) :is(.fq-region-seo-intro,.fq-cms-public-page .editorial-list-head,.destination-intro){
  border-left:0!important;
  border-inline-start:0!important;
}
body:not(.admin-page) :is(.public-topbar,.public-nav) a:is(.active,.is-active,[aria-current="page"]),
body:not(.admin-page) :is(.public-topbar,.public-nav) a:is(.active,.is-active,[aria-current="page"])::after{
  border-bottom:0!important;
  box-shadow:none!important;
}

/* Besucherstatistik: eigenständige Dashboard-Karten, Version 1.0.276 */
.fq-visitor-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0 26px}
.fq-visitor-dashboard-card{position:relative;display:flex;flex-direction:column;gap:12px;min-height:174px;padding:22px 20px;border:1px solid #dce7ec;border-radius:7px;background:#fff;color:#174e69;text-decoration:none;box-shadow:0 2px 8px rgba(13,62,83,.045);transition:border-color .15s,box-shadow .15s}
.fq-visitor-dashboard-card:hover,.fq-visitor-dashboard-card:focus-visible{border-color:#1884b1;box-shadow:0 5px 16px rgba(13,62,83,.12);text-decoration:none}
.fq-visitor-dashboard-card>.fa:first-child{font-size:25px;color:#147ca4}
.fq-visitor-card-name{font-size:17px;font-weight:600;color:#174563}
.fq-visitor-dashboard-card small{font-size:13px;line-height:1.45;color:#657b87}
.fq-visitor-card-arrow{position:absolute;right:20px;top:24px;color:#7f9ba9}
.fq-visitor-section-nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:20px 0}
.fq-visitor-section-nav>span{font-size:17px;color:#174563}
.fq-visitor-lookup{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}
.fq-visitor-lookup input{flex:1 1 230px;min-width:0}
@media(max-width:1080px){.fq-visitor-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.fq-visitor-dashboard{grid-template-columns:minmax(0,1fr);gap:12px}.fq-visitor-dashboard-card{min-height:145px;padding:18px}}
