/*
Theme Name: Zum Glasmacher 2026 V18
Theme URI: https://pensionzumglasmacher.de/
Author: Webkraft Digital
Description: Modernes WordPress-Theme für Pension und Bistro Zum Glasmacher. V17 mit korrigierter Easybooking-Kategorienansicht und sauber getrennten Folgesektionen.
Version: 16.0.0
Text Domain: zum-glasmacher
*/
:root{--green:#123f32;--green2:#1f5a47;--green3:#0d3127;--orange:#ea8125;--orange-dark:#cf6916;--cream:#f7f3e9;--soft:#fbfaf7;--ink:#17241f;--muted:#66736d;--line:#dce4df;--white:#fff;--shadow:0 18px 55px rgba(14,49,39,.12);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit}.zg-container{width:min(1280px,calc(100% - 48px));margin:auto}
.zg-topbar{background:var(--green3);color:#fff;font-size:13px}.zg-topbar__inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.zg-topbar__right{display:flex;gap:22px}.zg-topbar a{text-decoration:none;color:#fff}.zg-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(18,63,50,.08)}.admin-bar .zg-header{top:32px}.zg-header__inner{height:112px;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:34px}.zg-logo{display:flex;align-items:center;height:90px;overflow:visible;text-decoration:none}.zg-logo img{display:block;width:248px;height:auto;max-height:84px;object-fit:contain;object-position:left center}.zg-nav{display:flex;justify-content:center;align-items:center;gap:28px;font-size:15px;font-weight:760;white-space:nowrap}.zg-nav>a,.zg-navdrop__toggle{text-decoration:none;color:#20312a;background:none;border:0;font:inherit;padding:13px 0;cursor:pointer}.zg-nav>a:hover,.zg-navdrop__toggle:hover{color:var(--orange)}.zg-navdrop{position:relative}.zg-navdrop__menu{position:absolute;top:48px;left:-18px;min-width:255px;background:#fff;padding:12px;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.13);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}.zg-navdrop:hover .zg-navdrop__menu{opacity:1;visibility:visible;transform:none}.zg-navdrop__menu a{display:block;padding:11px 12px;border-radius:9px;text-decoration:none;font-weight:650;white-space:normal}.zg-navdrop__menu a:hover{background:var(--cream);color:var(--orange)}.zg-menu-toggle{display:none}
.zg-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:14px 24px;border:1px solid transparent;text-decoration:none;font-weight:800;transition:.2s ease;cursor:pointer;font-size:15px}.zg-btn:hover{transform:translateY(-1px)}.zg-btn--primary{background:var(--orange);color:#fff;box-shadow:0 11px 27px rgba(234,129,37,.22)}.zg-btn--primary:hover{background:var(--orange-dark)}.zg-btn--light{background:#fff;color:var(--green)}.zg-btn--outline{border-color:var(--green);color:var(--green);background:#fff}.zg-btn--outline-light{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.zg-hero{position:relative;min-height:690px;overflow:hidden;background:var(--green3)}.zg-hero__image{position:absolute;inset:0;background-image:var(--zg-hero);background-size:cover;background-position:center;transform:scale(1.015)}.zg-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,43,33,.9) 0%,rgba(8,43,33,.65) 42%,rgba(8,43,33,.2) 72%,rgba(8,43,33,.06) 100%)}.zg-hero__inner{position:relative;z-index:2;min-height:690px;display:flex;align-items:center;padding:80px 0}.zg-hero__copy{max-width:820px;color:#fff}.zg-eyebrow,.zg-kicker{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#c96617;margin-bottom:16px}.zg-kicker--light{color:#ffbd78}.zg-hero h1,.zg-section h2,.zg-bistro h2,.zg-finalcta h2,.zg-subhero h1,.zg-bookinghero h1,.zg-errorpage h1{font-family:Georgia,"Times New Roman",serif;line-height:1.02;letter-spacing:-.025em}.zg-hero h1{font-size:clamp(54px,6.3vw,92px);margin:0 0 24px;max-width:930px}.zg-hero p{font-size:21px;max-width:690px;margin:0 0 30px;color:rgba(255,255,255,.92)}.zg-actions{display:flex;gap:13px;flex-wrap:wrap}.zg-facts{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px;font-size:14px;font-weight:700;color:rgba(255,255,255,.93)}
.zg-quickbook{background:linear-gradient(#fff 0,#fff 52%,var(--cream) 52%,var(--cream) 100%);padding:0 0 64px}.zg-quickbook__card{position:relative;z-index:5;margin-top:-62px;background:#fff;border-radius:26px;padding:30px 34px 24px;box-shadow:var(--shadow);border:1px solid rgba(18,63,50,.08)}.zg-quickbook__heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.zg-quickbook__heading h2{font-family:Georgia,serif;font-size:34px;color:var(--green);margin:0}.zg-quickbook__heading p{max-width:540px;margin:0;color:var(--muted);font-size:14px}.zg-quickbook__heading .zg-kicker{position:absolute;top:17px}.zg-quickbook__heading h2{padding-top:22px}.zg-bookbar{display:grid;grid-template-columns:1fr 1fr .72fr auto;gap:14px;align-items:end;background:#f5f6f5;padding:18px;border-radius:18px}.zg-bookbar label span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;color:#55625c}.zg-bookbar input,.zg-bookbar select{width:100%;height:54px;border:1px solid #d3dad6;border-radius:10px;background:#fff;padding:0 14px;font:inherit;color:var(--ink)}.zg-bookbar .zg-btn{height:54px;border-radius:10px;min-width:170px}.zg-bookbar__note{margin-top:11px;font-size:12px;color:#77817c;text-align:right}
.zg-section{padding:100px 0}.zg-section--cream{background:var(--cream)}.zg-introgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.zg-copy h2,.zg-sectionhead h2{font-size:clamp(42px,5vw,66px);color:var(--green);margin:0 0 24px}.zg-lead{font-size:20px;color:#34443c}.zg-checks{display:grid;gap:12px;margin:28px 0}.zg-checks span:before{content:'✓';color:var(--orange);font-weight:900;margin-right:10px}.zg-textlink{font-weight:850;color:var(--green);text-decoration:none}.zg-photo-card{margin:0;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}.zg-photo-card img{width:100%;height:100%;object-fit:cover}.zg-sectionhead{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.zg-sectionhead p{max-width:750px;color:var(--muted)}.zg-cardgrid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px}.zg-imagecard{position:relative;display:block;overflow:hidden;border-radius:26px;min-height:420px;color:#fff}.zg-imagecard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.zg-imagecard:hover img{transform:scale(1.04)}.zg-imagecard__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,43,33,.86) 0%,rgba(8,43,33,.25) 70%,rgba(8,43,33,.05) 100%)}.zg-imagecard__copy{position:absolute;left:28px;right:28px;bottom:28px;display:grid;gap:7px}.zg-imagecard__copy small{text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#ffc58d}.zg-imagecard__copy strong{font-family:Georgia,serif;font-size:30px}.zg-imagecard__copy em{font-style:normal;font-weight:700}
.zg-bistro{background:var(--green);color:#fff;padding:0}.zg-bistro__grid{display:grid;grid-template-columns:1fr 1fr;min-height:610px}.zg-bistro figure{margin:0;overflow:hidden}.zg-bistro figure img{width:100%;height:100%;object-fit:cover}.zg-bistro__copy{padding:80px 70px;display:flex;flex-direction:column;justify-content:center}.zg-bistro h2{font-size:clamp(44px,4.8vw,68px);margin:0 0 20px}.zg-bistro p{font-size:19px;color:rgba(255,255,255,.85)}.zg-hours{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 30px}.zg-hours div{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:16px}.zg-hours b,.zg-hours span{display:block}.zg-hours span{color:rgba(255,255,255,.8);font-size:14px;margin-top:3px}.zg-placegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.zg-placegrid>div{border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--soft);box-shadow:0 8px 30px rgba(18,63,50,.04)}.zg-placegrid small{color:var(--orange);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.zg-placegrid h3{font-family:Georgia,serif;color:var(--green);font-size:32px;margin:10px 0}.zg-placegrid p{color:#4f5d56}.zg-finalcta{padding:84px 0;background:var(--green3);color:#fff;text-align:center}.zg-finalcta h2{font-size:clamp(46px,5vw,72px);margin:0 0 26px}
.zg-subhero,.zg-bookinghero{padding:78px 0;background:linear-gradient(135deg,#f2f7f4 0%,#ffffff 76%);border-bottom:1px solid #e4ece7}.zg-subhero__inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.zg-subhero h1,.zg-bookinghero h1{font-size:clamp(48px,6vw,78px);color:var(--green);margin:0 0 18px;max-width:970px}.zg-subhero p,.zg-bookinghero p{max-width:800px;font-size:18px;color:var(--muted);margin:0}.zg-content{padding:76px 0}.zg-content--soft{background:var(--soft)}.zg-prose{max-width:1080px}.zg-prose img{border-radius:18px}.zg-prose h2,.zg-prose h3,.zg-prose h4{color:var(--green);line-height:1.2}.zg-prose h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);margin-top:56px}.zg-prose h3{font-size:25px;margin-top:34px}.zg-prose p,.zg-prose li{font-size:17px;color:#32423a}.zg-prose a{color:var(--orange-dark);font-weight:750}.zg-prose ul,.zg-prose ol{padding-left:1.3em}.zg-renovated-content{background:#fff;border:1px solid var(--line);border-radius:28px;padding:42px;box-shadow:0 14px 44px rgba(18,63,50,.06);overflow:hidden}.zg-renovated-content>section,.zg-renovated-content>div{background-color:transparent!important}.zg-renovated-content table{width:100%;border-collapse:collapse}.zg-renovated-content td,.zg-renovated-content th{border:1px solid var(--line);padding:12px}.zg-renovated-content button,.zg-renovated-content input[type=submit],.zg-renovated-content .button{border-radius:8px}
.zg-bookingpage{padding:50px 0 100px;background:#fff}.zg-bookingpage__container{width:min(1450px,calc(100% - 32px));overflow:visible}.zg-bookingpage iframe{width:100%!important;max-width:none!important;min-height:820px!important;border:0!important}.zg-bookingpage .easybooking,.zg-bookingpage [class*="easybooking"],.zg-bookingpage [id*="easybooking"]{max-width:none!important;width:100%!important}.zg-booking-fallback{padding:50px;border:1px solid var(--line);border-radius:22px;text-align:center}
.zg-contactpage{padding:80px 0;background:var(--soft)}.zg-contactgrid{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;align-items:start}.zg-contactcard,.zg-formcard{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 16px 46px rgba(18,63,50,.07)}.zg-contactcard{padding:38px;position:sticky;top:180px}.zg-contactcard h2{font-family:Georgia,serif;color:var(--green);font-size:42px;line-height:1.05;margin:0 0 28px}.zg-contactitem{padding:18px 0;border-top:1px solid var(--line);display:grid;gap:4px}.zg-contactitem small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.zg-contactitem a,.zg-contactitem span{font-size:18px;text-decoration:none}.zg-contactcard .zg-btn{margin-top:26px}.zg-formcard{padding:34px}.zg-formcard .zg-renovated-content{padding:0;border:0;box-shadow:none;border-radius:0}.zg-contact-content h1:first-child,.zg-contact-content h2:first-child,.zg-contact-content h3:first-child{margin-top:0}.zg-contact-content form{max-width:none!important}.zg-contact-content input,.zg-contact-content select,.zg-contact-content textarea{max-width:100%;border-radius:10px!important}
.zg-apartments-page .zg-renovated-content{max-width:1180px;margin:auto}.zg-apartments-page .zg-renovated-content>div,.zg-apartments-page .zg-renovated-content>section{background:#fff!important;color:var(--ink)!important}.zg-apartments-page .zg-renovated-content p,.zg-apartments-page .zg-renovated-content li,.zg-apartments-page .zg-renovated-content h2,.zg-apartments-page .zg-renovated-content h3,.zg-apartments-page .zg-renovated-content h4{color:var(--ink)!important}.zg-apartments-page .zg-renovated-content h2,.zg-apartments-page .zg-renovated-content h3{color:var(--green)!important}.zg-apartments-page .zg-renovated-content img{border-radius:18px}.zg-apartments-page .zg-renovated-content a:not(.button){color:var(--orange-dark)}
.zg-errorpage{padding:105px 0 120px;background:linear-gradient(135deg,var(--cream),#fff)}.zg-errorpage__inner{max-width:900px}.zg-errorpage h1{font-size:clamp(54px,7vw,88px);color:var(--green);margin:0 0 20px}.zg-errorpage p{font-size:19px;color:var(--muted);max-width:680px;margin-bottom:30px}
.zg-footer{background:#0b2c23;color:rgba(255,255,255,.78);padding:65px 0 20px}.zg-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px}.zg-footer__logo-link{display:inline-flex;background:#fff;border-radius:14px;padding:12px}.zg-footer__logo{display:block;width:250px;height:auto;max-height:92px;object-fit:contain}.zg-footer__brand p{max-width:330px}.zg-footer h3{color:#fff}.zg-footer a{color:rgba(255,255,255,.86);text-decoration:none}.zg-footer a:hover{color:#fff}.zg-footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:18px;font-size:13px}
@media(max-width:1080px){.admin-bar .zg-header{top:46px}.zg-container{width:min(100% - 32px,900px)}.zg-topbar{display:none}.zg-header__inner{height:92px;grid-template-columns:1fr auto auto;gap:14px}.zg-logo{height:76px}.zg-logo img{width:210px;height:auto;max-height:70px}.zg-menu-toggle{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:8px;color:var(--green);font-weight:800}.zg-menu-toggle span{width:24px;height:2px;background:var(--green)}.zg-menu-toggle b{font-size:10px}.zg-nav{position:absolute;left:16px;right:16px;top:92px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-radius:18px;padding:12px;box-shadow:var(--shadow);white-space:normal}.zg-nav.is-open{display:flex}.zg-nav>a,.zg-navdrop__toggle{display:block;width:100%;padding:13px 12px;text-align:left}.zg-navdrop__menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 8px 14px}.zg-navdrop.is-open .zg-navdrop__menu{display:block}.zg-navdrop:hover .zg-navdrop__menu{opacity:1;visibility:visible}.zg-header__book{padding:11px 16px;font-size:13px}.zg-hero,.zg-hero__inner{min-height:610px}.zg-hero__overlay{background:linear-gradient(90deg,rgba(8,43,33,.88),rgba(8,43,33,.45))}.zg-hero h1{font-size:clamp(48px,8vw,72px)}.zg-quickbook__heading{display:block}.zg-quickbook__heading p{margin-top:12px}.zg-bookbar{grid-template-columns:1fr 1fr}.zg-bookbar .zg-btn{min-width:0}.zg-introgrid,.zg-bistro__grid,.zg-contactgrid{grid-template-columns:1fr}.zg-contactcard{position:static}.zg-bistro figure{max-height:460px}.zg-bistro__copy{padding:60px 0}.zg-cardgrid{grid-template-columns:1fr 1fr}.zg-cardgrid .zg-imagecard:first-child{grid-column:1/-1}.zg-placegrid{grid-template-columns:1fr}.zg-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.zg-container{width:calc(100% - 28px)}.zg-header__inner{grid-template-columns:1fr auto}.zg-header__book{display:none}.zg-logo img{width:190px;height:auto;max-height:62px}.zg-hero,.zg-hero__inner{min-height:590px}.zg-hero__inner{padding:60px 0}.zg-hero__overlay{background:linear-gradient(90deg,rgba(8,43,33,.9),rgba(8,43,33,.62))}.zg-hero h1{font-size:46px}.zg-hero p{font-size:18px}.zg-quickbook{padding-bottom:35px}.zg-quickbook__card{margin-top:-35px;padding:24px 18px 18px}.zg-bookbar{grid-template-columns:1fr;padding:14px}.zg-bookbar__note{text-align:left}.zg-section{padding:70px 0}.zg-introgrid{gap:40px}.zg-copy h2,.zg-sectionhead h2{font-size:42px}.zg-cardgrid{grid-template-columns:1fr}.zg-cardgrid .zg-imagecard:first-child{grid-column:auto}.zg-imagecard{min-height:360px}.zg-bistro__grid{width:100%}.zg-bistro__copy{padding:52px 22px}.zg-hours{grid-template-columns:1fr}.zg-sectionhead{display:block}.zg-sectionhead .zg-btn{margin-top:18px}.zg-footer__grid{grid-template-columns:1fr}.zg-footer__logo{height:78px}.zg-bookingpage__container{width:100%;padding:0 8px}.zg-bookingpage{padding-top:24px}.zg-bookingpage iframe{min-height:950px!important}.zg-renovated-content,.zg-formcard,.zg-contactcard{padding:24px}.zg-subhero,.zg-bookinghero{padding:58px 0}.zg-subhero h1,.zg-bookinghero h1{font-size:46px}}

/* V4: extra Gastgeber-Themen */
.zg-speciallinks{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.zg-speciallinks a{display:flex;flex-direction:column;gap:5px;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;transition:.2s ease}.zg-speciallinks a:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(18,63,50,.08);border-color:#bfd0c6}.zg-speciallinks strong{font-family:Georgia,serif;font-size:26px;color:var(--green)}.zg-speciallinks span{color:var(--muted)}
@media(max-width:680px){.zg-speciallinks{grid-template-columns:1fr}}

/* =========================================================
   V5 – einheitliche Unterseiten, transparente Marke & Blog
   ========================================================= */
.zg-logo img{width:auto;max-width:150px;max-height:92px;object-fit:contain;background:transparent}
.zg-footer__logo-link{background:transparent!important;padding:0!important;border-radius:0!important}
.zg-footer__logo{width:auto;max-width:180px;max-height:118px;background:transparent}

.zg-speciallinks--visual{gap:22px;margin-top:26px}
.zg-speciallinks--visual .zg-specialcard{position:relative;min-height:245px;overflow:hidden;padding:0;border:0;background-image:var(--bg);background-size:cover;background-position:center;box-shadow:none}
.zg-specialcard__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,43,33,.88),rgba(8,43,33,.15))}
.zg-specialcard__copy{position:absolute;left:28px;right:28px;bottom:27px;z-index:1;color:#fff;display:grid;gap:6px}
.zg-speciallinks--visual .zg-specialcard strong{font-family:Georgia,serif;font-size:34px;color:#fff}
.zg-speciallinks--visual .zg-specialcard em{font-style:normal;font-weight:750;color:rgba(255,255,255,.9)}

.zg-placegrid>a{display:block;border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--soft);box-shadow:0 8px 30px rgba(18,63,50,.04);text-decoration:none;transition:.2s ease}
.zg-placegrid>a:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(18,63,50,.09);border-color:#c4d3cb}
.zg-placegrid>a span{display:block;margin-top:20px;color:var(--green);font-weight:850}

.zg-detailhero{padding:72px 0;background:linear-gradient(135deg,#f5f8f5 0%,#fff 100%);border-bottom:1px solid var(--line)}
.zg-detailhero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:70px;align-items:center}
.zg-detailhero__copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,5.8vw,78px);line-height:1.02;letter-spacing:-.025em;color:var(--green);margin:0 0 22px;max-width:900px}
.zg-detailhero__copy p{font-size:19px;color:var(--muted);max-width:720px;margin:0 0 28px}
.zg-detailhero__media{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 20px 55px rgba(18,63,50,.12);background:#e9efeb}
.zg-detailhero__media img{width:100%;height:100%;object-fit:cover;display:block}
.zg-detailhero--plain .zg-container{max-width:1050px}.zg-detailhero--plain h1{font-family:Georgia,serif;font-size:clamp(52px,6vw,82px);line-height:1.02;color:var(--green);margin:0 0 20px}.zg-detailhero--plain p{font-size:19px;color:var(--muted)}

.zg-articlewrap{padding:82px 0 100px;background:#f7f8f6}
.zg-article{max-width:1080px;margin:0 auto;background:#fff;border:1px solid #e0e7e2;border-radius:28px;padding:clamp(30px,5vw,66px);box-shadow:0 18px 60px rgba(18,63,50,.06);overflow:hidden}
.zg-article>*:first-child{margin-top:0!important}.zg-article>*:last-child{margin-bottom:0!important}
.zg-article h1{font-family:Georgia,serif;font-size:clamp(36px,4vw,52px);color:var(--green);line-height:1.08}
.zg-article h2{font-family:Georgia,serif;font-size:clamp(32px,3.8vw,48px);line-height:1.08;color:var(--green);margin:58px 0 18px}
.zg-article h3{font-size:25px;line-height:1.25;color:var(--green);margin:38px 0 14px}
.zg-article h4{font-size:20px;color:var(--green);margin:30px 0 10px}
.zg-article p,.zg-article li{font-size:17px;line-height:1.75;color:#33443c}
.zg-article p{margin:0 0 22px}.zg-article ul,.zg-article ol{padding-left:1.35em;margin:0 0 28px}.zg-article li{margin-bottom:8px}
.zg-article a{color:var(--orange-dark);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}
.zg-article img{display:block;max-width:100%;height:auto;border-radius:20px;margin:28px auto;box-shadow:0 12px 34px rgba(18,63,50,.1)}
.zg-article figure{max-width:100%;margin:34px 0}.zg-article figure img{margin:0}.zg-article figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.zg-article blockquote{margin:34px 0;padding:24px 28px;border-left:4px solid var(--orange);background:#f7f3e9;border-radius:0 16px 16px 0}
.zg-article hr{border:0;border-top:1px solid var(--line);margin:48px 0}
.zg-article table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:14px}.zg-article th,.zg-article td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}.zg-article tr:last-child td{border-bottom:0}
.zg-article .wp-block-button__link,.zg-article a.button,.zg-article input[type=submit],.zg-article button{display:inline-flex!important;align-items:center;justify-content:center;border:0!important;border-radius:999px!important;padding:13px 22px!important;background:var(--orange)!important;color:#fff!important;text-decoration:none!important;font-weight:800!important}
.zg-article [style*="background"],.zg-article [class*="has-background"]{border-radius:18px}

.zg-destinations{padding:70px 0 24px;background:#fff}.zg-destinationgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.zg-destinationgrid a{display:flex;flex-direction:column;min-height:290px;padding:34px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#fff,#f7faf8);text-decoration:none;transition:.2s ease}.zg-destinationgrid a:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(18,63,50,.09)}.zg-destinationgrid small{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.09em}.zg-destinationgrid h2{font-family:Georgia,serif;color:var(--green);font-size:36px;margin:12px 0}.zg-destinationgrid p{color:var(--muted);flex:1}.zg-destinationgrid span{font-weight:850;color:var(--green)}

.zg-bloghero{padding:82px 0;background:linear-gradient(135deg,#f2f7f4,#fff);border-bottom:1px solid var(--line)}.zg-bloghero h1{font-family:Georgia,serif;font-size:clamp(56px,6vw,84px);line-height:1;color:var(--green);margin:0 0 20px}.zg-bloghero p{font-size:19px;color:var(--muted);max-width:720px}.zg-blogsection{padding:76px 0 100px;background:#f7f8f6}.zg-bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.zg-blogcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;text-decoration:none;box-shadow:0 10px 34px rgba(18,63,50,.05);transition:.2s ease}.zg-blogcard:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(18,63,50,.1)}.zg-blogcard figure{margin:0;aspect-ratio:16/10;overflow:hidden}.zg-blogcard figure img{width:100%;height:100%;object-fit:cover;transition:.4s ease}.zg-blogcard:hover figure img{transform:scale(1.035)}.zg-blogcard>div{padding:25px;display:flex;flex-direction:column;flex:1}.zg-blogcard small{color:var(--orange-dark);font-weight:800}.zg-blogcard h2,.zg-blogcard h3{font-family:Georgia,serif;color:var(--green);font-size:29px;line-height:1.08;margin:10px 0 12px}.zg-blogcard p{color:var(--muted);margin:0 0 20px}.zg-blogcard span{margin-top:auto;color:var(--green);font-weight:850}.zg-pagination{margin-top:42px}.zg-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.zg-pagination a,.zg-pagination span{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none}
.zg-homeblog{background:#fff}.zg-bloggrid--home{margin-top:28px}

.zg-posthero{padding:70px 0;background:linear-gradient(135deg,#f2f7f4,#fff);border-bottom:1px solid var(--line)}.zg-posthero__grid{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center}.zg-posthero h1{font-family:Georgia,serif;font-size:clamp(46px,5.5vw,74px);line-height:1.03;color:var(--green);margin:0 0 16px}.zg-postmeta{color:var(--muted)}.zg-posthero figure{margin:0;aspect-ratio:4/3;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.zg-posthero figure img{width:100%;height:100%;object-fit:cover}

/* Contactformulier en oude Gutenberg-content rustig in de nieuwe stijl */
.zg-contactpage{background:#f7f8f6}.zg-formcard,.zg-contactcard{box-shadow:0 18px 55px rgba(18,63,50,.06)}
.zg-contact-content h1{display:none}.zg-contact-content .wp-block-group,.zg-contact-content .wp-block-columns{max-width:100%!important}
.zg-contact-content input:not([type=checkbox]):not([type=radio]),.zg-contact-content select,.zg-contact-content textarea{width:100%!important;background:#f7f8f7!important;border:1px solid #d9e1dc!important;min-height:50px;padding:12px 14px!important;color:var(--ink)!important}

/* Vermijd oude donkere/felle secties die door inline styles uit oude pagina's meekomen */
.zg-article .has-black-background-color,.zg-article .has-background[style*="#0"],.zg-article .has-background[style*="rgb(0"]{color:var(--ink)!important}

@media(max-width:1080px){
  .zg-detailhero__grid,.zg-posthero__grid{grid-template-columns:1fr;gap:36px}.zg-detailhero__media,.zg-posthero figure{max-width:700px}.zg-bloggrid{grid-template-columns:1fr 1fr}.zg-destinationgrid{grid-template-columns:1fr}.zg-logo img{max-width:125px;max-height:74px}
}
@media(max-width:680px){
  .zg-detailhero{padding:52px 0}.zg-detailhero__copy h1{font-size:46px}.zg-detailhero__media{border-radius:20px}.zg-articlewrap{padding:42px 0 70px}.zg-article{padding:26px 22px;border-radius:20px}.zg-bloggrid{grid-template-columns:1fr}.zg-bloghero{padding:58px 0}.zg-posthero{padding:52px 0}.zg-speciallinks--visual{grid-template-columns:1fr}.zg-logo img{max-width:110px;max-height:68px}.zg-footer__logo{max-width:150px}
}
.zg-detailhero--legal .zg-detailhero__grid{grid-template-columns:1fr}.zg-detailhero--legal .zg-detailhero__copy{max-width:900px}

/* =========================================================
   V6 – ruhiger Footer, einheitliche Unterseiten & Mobile
   ========================================================= */
body{overflow-x:hidden}
.zg-nav__mobilebook{display:none!important}

/* Footer ohne Logo – nur klare Wortmarke */
.zg-footer{padding:58px 0 18px}
.zg-footer__grid{grid-template-columns:1.35fr 1fr 1fr 1fr;align-items:start}
.zg-footer__name{display:inline-block;color:#fff!important;text-decoration:none!important;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:31px;line-height:1.02;letter-spacing:-.02em;margin-bottom:12px}
.zg-footer__brand p{margin:0;max-width:330px}
.zg-footer__logo-link,.zg-footer__logo{display:none!important}

/* Gewone Unterseiten: ein gedeeld, rustiger premium design */
.zg-detailhero{padding:64px 0;background:#f4f7f4}
.zg-detailhero__grid{grid-template-columns:minmax(0,1.06fr) minmax(340px,.72fr);gap:58px}
.zg-detailhero__copy h1{font-size:clamp(46px,5.3vw,72px);max-width:840px}
.zg-detailhero__media{aspect-ratio:16/11;border-radius:24px;box-shadow:0 14px 42px rgba(18,63,50,.10)}
.zg-articlewrap{padding:68px 0 92px;background:#fff}
.zg-article{max-width:1160px;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;overflow:visible}
.zg-article>h1:first-child{display:none}
.zg-article h2{margin-top:54px}
.zg-article .wp-block-columns{gap:28px!important}
.zg-article .wp-block-column{min-width:0}
.zg-article .wp-block-group,.zg-article .wp-block-cover,.zg-article .wp-block-media-text{border-radius:22px;overflow:hidden}
.zg-article .wp-block-group.has-background,.zg-article .wp-block-cover,.zg-article .wp-block-media-text{border:1px solid var(--line);box-shadow:0 10px 32px rgba(18,63,50,.045)}
.zg-article .wp-block-image img,.zg-article figure img{border-radius:22px}
.zg-article .wp-block-gallery{gap:14px}
.zg-article iframe{max-width:100%}

/* Oude inline kleuren neutraliseren zodat elke pagina dezelfde uitstraling krijgt */
.zg-article [style*="background-color"],
.zg-article [style*="background:"]{--wp--preset--color--background:#fff}
.zg-article .has-background:not(.wp-block-button__link){color:var(--ink)}
.zg-article .has-background:not(.wp-block-cover){background:#f7f9f7!important}
.zg-article .wp-block-cover.has-background{background-color:var(--green)!important}

/* Homepage Wald Retreat: de nieuwe yogaruimte goed uitsnijden */
.zg-cardgrid .zg-imagecard:nth-child(3) img{object-position:center center}

/* Mobile / tablet – compacter, rustiger en zonder horizontale overflow */
@media(max-width:1080px){
  .zg-header__inner{height:86px;grid-template-columns:auto 1fr auto;gap:12px}
  .zg-logo{height:70px}
  .zg-logo img{max-width:118px;max-height:66px}
  .zg-menu-toggle{justify-self:end}
  .zg-nav{top:86px;left:14px;right:14px;max-height:calc(100vh - 110px);overflow:auto;border:1px solid var(--line)}
  .zg-nav__mobilebook{display:block!important;background:var(--orange)!important;color:#fff!important;border-radius:12px!important;padding:13px 14px!important;margin-top:6px;text-align:center!important}
  .zg-detailhero__grid{grid-template-columns:1fr;gap:28px}
  .zg-detailhero__media{max-width:none;width:100%;aspect-ratio:16/8}
  .zg-footer__grid{grid-template-columns:1fr 1fr;gap:34px 50px}
}

@media(max-width:680px){
  .zg-container{width:calc(100% - 30px)}
  .zg-header{box-shadow:0 1px 0 rgba(18,63,50,.1)}
  .zg-header__inner{height:76px;grid-template-columns:1fr auto;padding:0}
  .zg-logo{height:62px}
  .zg-logo img{max-width:92px;max-height:58px}
  .zg-menu-toggle{padding:6px 0 6px 12px}
  .zg-menu-toggle b{font-size:9px}
  .zg-nav{top:76px;border-radius:14px;padding:9px}
  .zg-nav>a,.zg-navdrop__toggle{padding:12px 10px;font-size:15px}

  .zg-hero,.zg-hero__inner{min-height:520px}
  .zg-hero__inner{padding:44px 0 70px;align-items:flex-end}
  .zg-hero h1{font-size:clamp(38px,12vw,48px);line-height:1.01;margin-bottom:18px}
  .zg-hero p{font-size:17px;line-height:1.55;margin-bottom:22px}
  .zg-facts{gap:8px 14px;margin-top:22px;font-size:12px}
  .zg-actions{gap:10px}.zg-actions .zg-btn{width:100%}

  .zg-quickbook{padding:0 0 42px;background:var(--cream)}
  .zg-quickbook__card{margin-top:-22px;border-radius:18px;padding:22px 16px 16px}
  .zg-quickbook__heading h2{font-size:29px;padding-top:20px}
  .zg-quickbook__heading p{font-size:13px}
  .zg-bookbar{grid-template-columns:1fr;gap:11px;padding:12px;border-radius:14px}
  .zg-bookbar input,.zg-bookbar select,.zg-bookbar .zg-btn{height:50px}
  .zg-bookbar .zg-btn{width:100%}

  .zg-section{padding:58px 0}
  .zg-copy h2,.zg-sectionhead h2{font-size:38px;line-height:1.04}
  .zg-lead{font-size:17px}
  .zg-photo-card{border-radius:20px}
  .zg-cardgrid{gap:14px}.zg-imagecard{min-height:300px;border-radius:20px}
  .zg-imagecard__copy{left:20px;right:20px;bottom:20px}
  .zg-imagecard__copy strong{font-size:27px}
  .zg-speciallinks--visual{gap:14px}.zg-speciallinks--visual .zg-specialcard{min-height:210px;border-radius:20px}
  .zg-specialcard__copy{left:20px;right:20px;bottom:20px}.zg-speciallinks--visual .zg-specialcard strong{font-size:29px}

  .zg-bistro__copy{padding:44px 20px 50px}.zg-bistro h2{font-size:40px}.zg-bistro p{font-size:17px}
  .zg-bistro figure{max-height:330px}

  .zg-sectionhead{margin-bottom:26px}.zg-placegrid{gap:14px}.zg-placegrid>a{padding:23px;border-radius:18px}.zg-placegrid h3{font-size:29px}

  .zg-detailhero{padding:42px 0 34px}
  .zg-detailhero__grid{gap:24px}
  .zg-detailhero__copy h1{font-size:40px;line-height:1.02;margin-bottom:14px}
  .zg-detailhero__copy p{font-size:16px;line-height:1.55;margin-bottom:20px}
  .zg-detailhero__copy .zg-btn{width:100%}
  .zg-detailhero__media{aspect-ratio:16/10;border-radius:18px}
  .zg-articlewrap{padding:44px 0 64px}
  .zg-article{padding:0}
  .zg-article h2{font-size:34px;margin:42px 0 16px}.zg-article h3{font-size:23px}
  .zg-article p,.zg-article li{font-size:16px;line-height:1.7}
  .zg-article table{display:block;overflow-x:auto;white-space:nowrap}
  .zg-article .wp-block-columns{gap:18px!important}

  .zg-bloghero{padding:44px 0}.zg-bloghero h1{font-size:44px}.zg-blogsection{padding:44px 0 70px}
  .zg-blogcard{border-radius:18px}.zg-blogcard>div{padding:20px}.zg-blogcard h2,.zg-blogcard h3{font-size:27px}

  .zg-finalcta{padding:58px 0}.zg-finalcta h2{font-size:42px;line-height:1.04}.zg-finalcta .zg-btn{width:100%}

  .zg-footer{padding:46px 0 18px}.zg-footer__grid{grid-template-columns:1fr;gap:26px}.zg-footer__name{font-size:28px}.zg-footer h3{margin:0 0 8px}.zg-footer p{margin:0}.zg-footer__bottom{margin-top:30px}
}


/* =========================================================
   V7 – gezielte Mobile-Optimierung. Desktop bleibt unverändert.
   ========================================================= */
@media (max-width:680px){
  html,body{max-width:100%;overflow-x:hidden}
  .zg-container{width:calc(100% - 32px);max-width:100%}

  /* kompakter, ruhiger Header */
  .zg-header__inner{height:82px;min-height:82px;grid-template-columns:1fr auto;gap:10px}
  .zg-logo{height:68px;min-width:0;overflow:hidden}
  .zg-logo img{width:auto!important;height:62px!important;max-width:108px!important;max-height:62px!important;object-fit:contain;object-position:left center}
  .zg-menu-toggle{min-width:48px;padding:4px 0 4px 8px;gap:3px}
  .zg-menu-toggle span{width:25px;height:2px}
  .zg-menu-toggle b{font-size:10px;line-height:1}
  .zg-nav{top:82px;left:10px;right:10px;max-height:calc(100dvh - 98px);border-radius:14px}

  /* Hero: geen afsnijding meer van lange woorden / titels */
  .zg-hero,.zg-hero__inner{min-height:0}
  .zg-hero__inner{padding:58px 0 56px;align-items:flex-end}
  .zg-hero__copy{width:100%;max-width:100%;min-width:0}
  .zg-eyebrow,.zg-kicker{font-size:10.5px;letter-spacing:.12em;line-height:1.35;margin-bottom:14px}
  .zg-hero h1{font-size:clamp(35px,10.2vw,41px)!important;line-height:1.03;letter-spacing:-.035em;max-width:100%;width:100%;overflow-wrap:normal;word-break:normal;hyphens:auto;margin:0 0 18px}
  .zg-hero p{font-size:16.5px;line-height:1.5;max-width:100%;margin-bottom:20px}
  .zg-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .zg-actions .zg-btn{width:100%;max-width:100%;min-width:0;padding:15px 14px;white-space:normal;text-align:center;font-size:15px;line-height:1.25}
  .zg-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:22px;font-size:12px;line-height:1.35}

  /* cards en secties iets compacter op kleine schermen */
  .zg-section{padding:52px 0}
  .zg-copy h2,.zg-sectionhead h2{font-size:35px;line-height:1.06}
  .zg-cardgrid,.zg-speciallinks--visual{gap:12px}
  .zg-imagecard{min-height:285px}
  .zg-speciallinks--visual .zg-specialcard{min-height:195px}
  .zg-imagecard__copy strong,.zg-speciallinks--visual .zg-specialcard strong{font-size:26px}

  /* Quick booking zonder te grote panelen */
  .zg-quickbook__card{margin-top:-18px;padding:20px 14px 14px;border-radius:16px}
  .zg-quickbook__heading{margin-bottom:16px}
  .zg-quickbook__heading h2{font-size:27px;line-height:1.08}
  .zg-bookbar{padding:10px;gap:9px}

  /* CTA onderaan compacter */
  .zg-finalcta{padding:48px 0}
  .zg-finalcta h2{font-size:35px;line-height:1.05;margin-bottom:20px}
  .zg-finalcta .zg-btn{padding:15px 14px}

  /* Footer mobiel: minder hoog en beter scanbaar */
  .zg-footer{padding:34px 0 14px}
  .zg-footer__grid{display:grid;grid-template-columns:1fr;gap:0}
  .zg-footer__brand{padding-bottom:18px}
  .zg-footer__name{font-size:24px;line-height:1.06;margin-bottom:9px}
  .zg-footer__brand p{font-size:15px;line-height:1.55;max-width:300px}
  .zg-footer__grid>div:not(.zg-footer__brand){padding:17px 0;border-top:1px solid rgba(255,255,255,.14)}
  .zg-footer h3{font-size:18px;line-height:1.2;margin:0 0 9px}
  .zg-footer p{font-size:15px;line-height:1.75;margin:0}
  .zg-footer__bottom{margin-top:12px;padding-top:14px;font-size:12px}

  /* Unterseiten mobiel */
  .zg-detailhero{padding:38px 0 30px}
  .zg-detailhero__copy h1{font-size:36px;line-height:1.04;letter-spacing:-.025em}
  .zg-detailhero__copy p{font-size:15.5px}
  .zg-detailhero__media{aspect-ratio:16/9}
  .zg-articlewrap{padding:38px 0 56px}
  .zg-article h2{font-size:31px;line-height:1.1;margin-top:36px}
  .zg-article p,.zg-article li{font-size:15.5px;line-height:1.68}
}

@media (max-width:390px){
  .zg-container{width:calc(100% - 24px)}
  .zg-hero h1{font-size:34px!important}
  .zg-facts{grid-template-columns:1fr}
  .zg-logo img{height:58px!important;max-height:58px!important;max-width:98px!important}
}

/* =========================================================
   V8 – Mobile fix voor Kontakt + Ferienwohnungen.
   Desktop blijft onaangetast.
   ========================================================= */
@media (max-width:680px){
  /* ---------------- Kontakt ---------------- */
  .page-template-page-kontakt-php .zg-contactpage{padding:34px 0 52px;background:#f6f8f6}
  .page-template-page-kontakt-php .zg-contactgrid{display:grid;grid-template-columns:1fr;gap:18px;width:100%;max-width:100%}
  .page-template-page-kontakt-php .zg-contactcard,
  .page-template-page-kontakt-php .zg-formcard{width:100%;max-width:100%;min-width:0;border-radius:20px;padding:20px 16px;overflow:hidden;box-shadow:0 10px 28px rgba(18,63,50,.055)}
  .page-template-page-kontakt-php .zg-contactcard h2{font-size:30px;line-height:1.08;letter-spacing:-.02em;margin:0 0 18px;overflow-wrap:anywhere}
  .page-template-page-kontakt-php .zg-contactitem{padding:14px 0;min-width:0}
  .page-template-page-kontakt-php .zg-contactitem small{font-size:12px}
  .page-template-page-kontakt-php .zg-contactitem a,
  .page-template-page-kontakt-php .zg-contactitem span{font-size:17px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
  .page-template-page-kontakt-php .zg-contactcard .zg-btn{margin-top:18px;width:100%;padding:14px 12px}
  .page-template-page-kontakt-php .zg-formcard{padding:16px 10px}
  .page-template-page-kontakt-php .zg-contact-content{width:100%;max-width:100%;min-width:0;overflow:hidden}
  .page-template-page-kontakt-php .zg-contact-content *,
  .page-template-page-kontakt-php .zg-contact-content *::before,
  .page-template-page-kontakt-php .zg-contact-content *::after{box-sizing:border-box;max-width:100%}
  .page-template-page-kontakt-php .zg-contact-content > *{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .page-template-page-kontakt-php .zg-contact-content [style*="width"],
  .page-template-page-kontakt-php .zg-contact-content [width]{max-width:100%!important}
  .page-template-page-kontakt-php .zg-contact-content form,
  .page-template-page-kontakt-php .zg-contact-content fieldset,
  .page-template-page-kontakt-php .zg-contact-content iframe,
  .page-template-page-kontakt-php .zg-contact-content table{width:100%!important;max-width:100%!important;min-width:0!important}
  .page-template-page-kontakt-php .zg-contact-content input:not([type=checkbox]):not([type=radio]),
  .page-template-page-kontakt-php .zg-contact-content select,
  .page-template-page-kontakt-php .zg-contact-content textarea,
  .page-template-page-kontakt-php .zg-contact-content button{width:100%!important;max-width:100%!important;min-width:0!important}
  .page-template-page-kontakt-php .zg-contact-content img{height:auto!important;max-width:100%!important}
  .page-template-page-kontakt-php .zg-contact-content h1,
  .page-template-page-kontakt-php .zg-contact-content h2,
  .page-template-page-kontakt-php .zg-contact-content h3{overflow-wrap:anywhere;word-break:normal}
  .page-template-page-kontakt-php .zg-contact-content h2{font-size:28px!important;line-height:1.12!important}

  /* ---------------- Ferienwohnungen ---------------- */
  .page-template-page-ferienwohnungen-gehlberg-php .zg-detailhero{padding:36px 0 28px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-detailhero__copy h1{font-size:35px;line-height:1.05}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-articlewrap{padding:34px 0 54px;background:#fff}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article{width:100%;max-width:100%;min-width:0;overflow:hidden}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article *,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article *::before,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article *::after{box-sizing:border-box;max-width:100%}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article > *{max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article [style*="width"],
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article [width]{max-width:100%!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article [style*="background"],
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article .has-background:not(.wp-block-button__link){background:#fff!important;color:#26372f!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article [style*="background"] *,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article .has-background:not(.wp-block-button__link) *{color:#26372f!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article h1,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article h2,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article h3{color:var(--green)!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article h2{font-size:30px;line-height:1.12;margin-top:34px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article h3{font-size:23px;line-height:1.2}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article p,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article li{font-size:15.5px;line-height:1.66}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article figure,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article img{width:100%!important;max-width:100%!important;height:auto!important;margin-left:auto!important;margin-right:auto!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article iframe,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article form,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article fieldset{width:100%!important;max-width:100%!important;min-width:0!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article input:not([type=checkbox]):not([type=radio]),
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article select,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article textarea{width:100%!important;max-width:100%!important;min-width:0!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article a:not(.wp-block-button__link){overflow-wrap:anywhere}

  /* oude Easybooking / slideshow onderdelen op mobiel visueel neutraler */
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article div[style*="background-color"],
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article section[style*="background-color"]{background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:14px!important;color:var(--ink)!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article div[style*="background-color"] a,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-article section[style*="background-color"] a{color:var(--orange-dark)!important}
}

/* =========================================================
   V9 – echte Mobile-Layouts voor Kontakt + Ferienwohnungen
   ========================================================= */
.zg-contactgrid--clean{grid-template-columns:.78fr 1.22fr}
.zg-formcard--clean h2{font-family:Georgia,serif;color:var(--green);font-size:42px;line-height:1.06;margin:0 0 10px}
.zg-formintro{margin:0 0 24px;color:var(--muted)}
.zg-contactform{display:grid;gap:18px}
.zg-formrow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.zg-contactform label{display:grid;gap:7px;font-weight:750;color:#35443d}
.zg-contactform label>span:first-child{font-size:13px}
.zg-contactform input:not([type=checkbox]),.zg-contactform select,.zg-contactform textarea{width:100%;border:1px solid #d4ddd8;border-radius:12px;background:#f8faf8;padding:13px 14px;font:inherit;color:var(--ink);outline:none}
.zg-contactform input:not([type=checkbox]),.zg-contactform select{height:52px}.zg-contactform textarea{resize:vertical;min-height:150px}
.zg-contactform input:focus,.zg-contactform select:focus,.zg-contactform textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(31,90,71,.08)}
.zg-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-weight:500!important;font-size:13px;line-height:1.5}.zg-consent input{margin-top:3px}.zg-consent a{color:var(--orange-dark)}
.zg-formsubmit{justify-self:start}.zg-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.zg-formnotice{padding:13px 15px;border-radius:11px;margin-bottom:18px;font-weight:700}.zg-formnotice--ok{background:#edf7f1;color:#1c5a40}.zg-formnotice--error{background:#fff1ec;color:#9b3c20}
.zg-fewo-mobile{display:none}

@media(max-width:680px){
  /* CONTACT: geen oude page-content / map / Easybooking meer */
  .zg-contacthero .zg-detailhero__copy h1{font-size:37px!important}
  .zg-contactpage--clean{padding:30px 0 48px!important}
  .zg-contactgrid--clean{grid-template-columns:1fr!important;gap:16px!important}
  .zg-contactcard--clean,.zg-formcard--clean{padding:20px 16px!important;border-radius:18px!important;overflow:visible!important}
  .zg-contactcard--clean h2,.zg-formcard--clean h2{font-size:29px!important;line-height:1.08!important;margin-bottom:16px!important}
  .zg-contactitem a,.zg-contactitem span{font-size:16px!important;overflow-wrap:anywhere!important}
  .zg-formintro{font-size:14px;margin-bottom:18px}
  .zg-formrow{grid-template-columns:1fr;gap:14px}
  .zg-contactform{gap:14px}
  .zg-contactform input:not([type=checkbox]),.zg-contactform select{height:50px}
  .zg-contactform textarea{min-height:130px}
  .zg-formsubmit{width:100%;justify-self:stretch}
  .zg-consent{font-size:12.5px!important}

  /* FEWO: mobiel geen oude Easybooking-accommodatiekaarten; eigen nette inhoud */
  .zg-fewo-desktop{display:none!important}
  .zg-fewo-mobile{display:block;background:#fff;padding:40px 0 58px}
  .zg-fewohero .zg-detailhero__copy h1{font-size:36px!important}
  .zg-fewohero .zg-detailhero__media{aspect-ratio:4/3!important}
  .zg-mobileintro{padding-bottom:28px}
  .zg-mobileintro h2,.zg-mobilefewocard h2,.zg-mobilefaq h2{font-family:Georgia,serif;color:var(--green);font-size:31px;line-height:1.08;margin:0 0 14px}
  .zg-mobileintro p,.zg-mobilefewocard p{font-size:15.5px;line-height:1.65;color:#435149}
  .zg-mobilechecks{display:grid;gap:9px;margin-top:20px}.zg-mobilechecks span{font-weight:700;font-size:14px}.zg-mobilechecks span:before{content:'✓';color:var(--orange);margin-right:9px;font-weight:900}
  .zg-mobilefewocard{background:var(--cream);border-radius:20px;overflow:hidden;border:1px solid #e2e6e3;margin:0 0 18px}
  .zg-mobilefewocard img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.zg-mobilefewocard>div{padding:22px 18px}.zg-mobilefewocard .zg-btn{width:100%}
  .zg-mobilelinks{display:grid;gap:10px;margin:18px 0 34px}.zg-mobilelinks a{display:grid;gap:3px;text-decoration:none;padding:17px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.zg-mobilelinks strong{font-family:Georgia,serif;color:var(--green);font-size:21px}.zg-mobilelinks span{font-size:13px;color:var(--muted)}
  .zg-mobilefaq details{border-top:1px solid var(--line);padding:15px 0}.zg-mobilefaq details:last-child{border-bottom:1px solid var(--line)}.zg-mobilefaq summary{font-weight:800;color:var(--green);cursor:pointer}.zg-mobilefaq details p{margin:10px 0 0;font-size:14px;color:#435149}
}

/* V10: Ferienwohnungen desktop – alte Float-Layouts vollständig einschließen.
   Dadurch startet der grüne Footer erst NACH der letzten Ferienwohnung. */
@media (min-width: 681px) {
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-container,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article {
    display: flow-root;
    position: relative;
  }

  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop {
    clear: both;
    background: #fff !important;
    z-index: 2;
  }

  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article {
    background: #fff !important;
    overflow: visible !important;
  }

  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article::after {
    content: "";
    display: table;
    clear: both;
  }

  .page-template-page-ferienwohnungen-gehlberg-php .zg-footer {
    position: relative;
    z-index: 1;
    clear: both;
  }
}

/* V11 FIX: Ferienwohnungen Desktop – altes grünes Seitenlayout vollständig neutralisieren.
   Nur der Footer darf nach der letzten Ferienwohnung grün sein. */
@media (min-width: 681px) {
  body.page-template-page-ferienwohnungen-gehlberg-php main,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-container,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article {
    background: #fff !important;
    background-color: #fff !important;
  }

  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article div,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article section,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article article,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article aside,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article figure,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article ul,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article ol {
    background-color: #fff !important;
    color: #26372f !important;
  }

  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article [style*="background"],
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article .has-background {
    background-color: #fff !important;
    background-image: none !important;
    color: #26372f !important;
  }

  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article p,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article li,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article span:not([class*="icon"]),
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article strong,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article h2,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article h3,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article h4 {
    color: #26372f !important;
  }

  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article h2,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article h3,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article h4 {
    color: #124a3a !important;
  }

  /* Bilder/Slider bleiben sichtbar und sauber auf Weiß. */
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article img {
    background: transparent !important;
  }

  /* Easybooking-Aktionsbuttons nicht durch die Weiß-Regel zerstören. */
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article a[style*="background"],
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article button,
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article input[type="button"],
  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop .zg-article input[type="submit"] {
    background-color: var(--orange) !important;
    color: #fff !important;
  }

  body.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-desktop {
    padding-bottom: 70px !important;
  }

  body.page-template-page-ferienwohnungen-gehlberg-php .zg-footer {
    background: #0b2c23 !important;
    margin-top: 0 !important;
  }
}

/* =========================================================
   V12 – Ferienwohnungen komplett eigenständig aufgebaut.
   Kein alter Seiteninhalt / keine alten Floats / kein grüner
   Hintergrund zwischen den Texten. Grün beginnt erst im Footer.
   ========================================================= */
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-clean{
  background:#fff!important;
  color:var(--ink);
  padding:78px 0 0;
  position:relative;
  z-index:2;
}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:70px;
  align-items:start;
  padding-bottom:74px;
}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro h2,
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-types h2,
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo h2,
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-faq h2,
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta h2{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--green);
  letter-spacing:-.025em;
  line-height:1.04;
}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro h2{font-size:clamp(42px,4.7vw,68px);margin:10px 0 0}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro__text p{font-size:18px;line-height:1.72;margin:0 0 24px;color:#435149}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-benefits{display:grid;grid-template-columns:1fr 1fr;gap:11px 24px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-benefits span{font-weight:750;color:#26372f}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-benefits span:before{content:'✓';color:var(--orange);font-weight:900;margin-right:9px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-types{padding:72px 0;background:#f7f8f6;position:relative}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-types:before{content:'';position:absolute;inset:0 50%;width:100vw;transform:translateX(-50%);background:#f7f8f6;z-index:-1}
.page-template-page-ferienwohnungen-gehlberg-php .zg-sectionhead--fewo{align-items:end;margin-bottom:34px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-sectionhead--fewo h2{font-size:clamp(38px,4vw,58px);margin:8px 0 0;max-width:840px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typegrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 12px 34px rgba(18,63,50,.055)}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard__label{display:inline-flex;background:#eef4f0;color:var(--green);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard h3{font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:31px;line-height:1.08;margin:0 0 13px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard p{margin:0 0 18px;color:#536158;line-height:1.65}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard ul{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:7px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard li:before{content:'•';color:var(--orange);font-weight:900;margin-right:10px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-textlink{color:var(--orange-dark);font-weight:850;text-decoration:none}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;padding:86px 0}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo h2{font-size:clamp(40px,4vw,60px);margin:10px 0 22px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo p{font-size:17px;line-height:1.75;color:#4d5a53}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo__links{display:grid;gap:12px;align-content:start}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo__links a{display:grid;gap:4px;text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;transition:.2s ease}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo__links a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,63,50,.07)}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo__links strong{font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:22px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo__links span{font-size:14px;color:var(--muted)}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-faq{padding:72px 0 80px;border-top:1px solid var(--line)}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-faq>h2{font-size:clamp(38px,4vw,56px);margin:9px 0 30px;max-width:850px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid details{border:1px solid var(--line);border-radius:16px;padding:0 20px;background:#fff}
.page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid summary{list-style:none;cursor:pointer;font-weight:850;color:var(--green);padding:19px 34px 19px 0;position:relative}
.page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid summary::-webkit-details-marker{display:none}
.page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid summary:after{content:'+';position:absolute;right:0;top:14px;font-size:26px;color:var(--orange)}
.page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid details[open] summary:after{content:'–'}
.page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid details p{margin:0 0 19px;color:#536158;line-height:1.65;font-size:15px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#0f4938;border-radius:28px 28px 0 0;padding:54px 60px;color:#fff;margin-top:10px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta .zg-kicker{color:#ffb46f}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta h2{color:#fff;font-size:clamp(38px,4vw,56px);margin:8px 0 8px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta p{margin:0;color:rgba(255,255,255,.78);max-width:690px}
.page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta .zg-btn{flex:0 0 auto}
.page-template-page-ferienwohnungen-gehlberg-php .zg-footer{margin-top:0!important}

@media(max-width:900px){
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo{grid-template-columns:1fr;gap:34px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typegrid,
  .page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid{grid-template-columns:1fr}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta{align-items:flex-start;flex-direction:column;padding:42px 34px}
}
@media(max-width:680px){
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-clean{padding:42px 0 0}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro{padding-bottom:42px;gap:22px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro h2{font-size:34px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-intro__text p{font-size:15.5px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-benefits{grid-template-columns:1fr;gap:8px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-types{padding:46px 0}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-sectionhead--fewo{display:block;margin-bottom:22px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-sectionhead--fewo h2{font-size:34px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-sectionhead--fewo .zg-btn{width:100%;margin-top:18px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard{padding:22px 18px;border-radius:18px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-typecard h3{font-size:26px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo{padding:54px 0;gap:30px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-seo h2{font-size:34px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-faq{padding:48px 0 54px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-faq>h2{font-size:34px;margin-bottom:20px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid{display:grid!important;grid-template-columns:1fr!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-faqgrid details{display:block!important}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta{margin-left:-14px;margin-right:-14px;border-radius:22px 22px 0 0;padding:34px 22px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta h2{font-size:34px}
  .page-template-page-ferienwohnungen-gehlberg-php .zg-fewo-cta .zg-btn{width:100%}
}

/* =========================================================
   V13 – Ferienwohnungen: finaler eigenständiger Look.
   Absichtlich NICHT an WordPress body classes gebunden,
   damit die Gestaltung unabhängig vom Template-Slug greift.
   ========================================================= */
.zg-fewo-clean{
  background:#fff !important;
  color:#1c2d26 !important;
  padding:72px 0 0 !important;
  position:relative !important;
  z-index:2 !important;
  overflow:hidden !important;
}
.zg-fewo-clean > .zg-container{position:relative !important;z-index:2 !important}
.zg-fewo-clean h2,.zg-fewo-clean h3{color:#123f32 !important}
.zg-fewo-clean p,.zg-fewo-clean li{color:#405047 !important}

.zg-fewo-intro{
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
  gap:64px !important;
  align-items:start !important;
  padding:0 0 64px !important;
}
.zg-fewo-intro h2{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(40px,4.3vw,64px) !important;
  line-height:1.03 !important;
  letter-spacing:-.035em !important;
  margin:10px 0 0 !important;
  max-width:650px !important;
}
.zg-fewo-intro__text p{
  font-size:18px !important;
  line-height:1.7 !important;
  margin:0 0 26px !important;
}
.zg-fewo-benefits{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}
.zg-fewo-benefits span{
  display:inline-flex !important;
  align-items:center !important;
  background:#f4f7f4 !important;
  border:1px solid #dde7e1 !important;
  border-radius:999px !important;
  padding:10px 14px !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#183f33 !important;
}
.zg-fewo-benefits span:before{content:'✓' !important;color:#eb7b20 !important;margin-right:7px !important}

.zg-fewo-types{
  position:relative !important;
  padding:74px 0 82px !important;
  background:#f7f4ed !important;
}
.zg-fewo-types:before{
  content:'' !important;
  position:absolute !important;
  top:0 !important;bottom:0 !important;
  left:50% !important;
  width:100vw !important;
  transform:translateX(-50%) !important;
  background:#f7f4ed !important;
  z-index:-1 !important;
}
.zg-sectionhead--fewo{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:30px !important;
  margin-bottom:34px !important;
}
.zg-sectionhead--fewo h2{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(38px,4vw,58px) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  margin:8px 0 0 !important;
  max-width:820px !important;
}
.zg-fewo-typegrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
}
.zg-fewo-typecard{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:390px !important;
  padding:32px !important;
  background:#fff !important;
  border:1px solid #dfE6e1 !important;
  border-radius:24px !important;
  box-shadow:0 12px 32px rgba(18,63,50,.06) !important;
  overflow:hidden !important;
}
.zg-fewo-typecard:after{
  content:'' !important;
  position:absolute !important;
  width:150px !important;height:150px !important;
  right:-62px !important;top:-62px !important;
  border-radius:50% !important;
  background:#edf4ef !important;
}
.zg-fewo-typecard:nth-child(2):after{background:#fbede1 !important}
.zg-fewo-typecard:nth-child(3):after{background:#e9f1f5 !important}
.zg-fewo-typecard:nth-child(4):after{background:#f3eee5 !important}
.zg-fewo-typecard__label{
  position:relative !important;z-index:1 !important;
  display:inline-flex !important;
  align-self:flex-start !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#123f32 !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
  margin:0 0 18px !important;
}
.zg-fewo-typecard h3{
  position:relative !important;z-index:1 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:31px !important;
  line-height:1.1 !important;
  margin:0 0 14px !important;
}
.zg-fewo-typecard p{font-size:16px !important;line-height:1.65 !important;margin:0 0 18px !important}
.zg-fewo-typecard ul{
  list-style:none !important;
  padding:0 !important;
  margin:0 0 24px !important;
  display:grid !important;
  gap:8px !important;
}
.zg-fewo-typecard li{position:relative !important;padding-left:21px !important;font-size:15px !important}
.zg-fewo-typecard li:before{content:'✓' !important;position:absolute !important;left:0 !important;color:#eb7b20 !important;font-weight:900 !important}
.zg-fewo-typecard .zg-textlink{
  margin-top:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  align-self:flex-start !important;
  padding:12px 16px !important;
  border-radius:999px !important;
  background:#f8ede3 !important;
  color:#b75b13 !important;
  text-decoration:none !important;
  font-weight:900 !important;
}

.zg-fewo-seo{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr) !important;
  gap:62px !important;
  padding:84px 0 !important;
  align-items:start !important;
}
.zg-fewo-seo h2{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(38px,4vw,58px) !important;
  line-height:1.05 !important;
  margin:10px 0 22px !important;
}
.zg-fewo-seo p{font-size:17px !important;line-height:1.75 !important;margin:0 0 18px !important}
.zg-fewo-seo__links{display:grid !important;gap:12px !important}
.zg-fewo-seo__links a{
  display:grid !important;
  gap:5px !important;
  padding:19px 20px !important;
  background:#f8faf8 !important;
  border:1px solid #dfe7e2 !important;
  border-radius:16px !important;
  text-decoration:none !important;
}
.zg-fewo-seo__links strong{font-family:Georgia,"Times New Roman",serif !important;color:#123f32 !important;font-size:22px !important}
.zg-fewo-seo__links span{color:#68766e !important;font-size:14px !important}

.zg-fewo-faq{
  padding:70px 0 78px !important;
  border-top:1px solid #e0e7e2 !important;
}
.zg-fewo-faq > h2{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(38px,4vw,56px) !important;
  line-height:1.05 !important;
  margin:10px 0 28px !important;
}
.zg-faqgrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.zg-faqgrid details{
  display:block !important;
  background:#fff !important;
  border:1px solid #dfe7e2 !important;
  border-radius:16px !important;
  padding:0 20px !important;
  box-shadow:0 8px 20px rgba(18,63,50,.035) !important;
}
.zg-faqgrid summary{
  list-style:none !important;
  cursor:pointer !important;
  position:relative !important;
  padding:19px 34px 19px 0 !important;
  font-weight:850 !important;
  color:#123f32 !important;
}
.zg-faqgrid summary::-webkit-details-marker{display:none !important}
.zg-faqgrid summary:after{content:'+' !important;position:absolute !important;right:0 !important;top:14px !important;color:#eb7b20 !important;font-size:26px !important}
.zg-faqgrid details[open] summary:after{content:'–' !important}
.zg-faqgrid details p{margin:0 0 18px !important;font-size:15px !important;line-height:1.65 !important;color:#526159 !important}

.zg-fewo-cta{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:34px !important;
  margin:0 !important;
  padding:46px 52px !important;
  background:#123f32 !important;
  color:#fff !important;
  border-radius:26px 26px 0 0 !important;
}
.zg-fewo-cta h2{font-family:Georgia,"Times New Roman",serif !important;color:#fff !important;font-size:clamp(36px,3.7vw,52px) !important;margin:7px 0 8px !important}
.zg-fewo-cta p{color:rgba(255,255,255,.78) !important;margin:0 !important}
.zg-fewo-cta .zg-kicker{color:#ffb272 !important}

@media(max-width:900px){
  .zg-fewo-intro,.zg-fewo-seo{grid-template-columns:1fr !important;gap:30px !important}
  .zg-fewo-typegrid,.zg-faqgrid{grid-template-columns:1fr !important}
  .zg-fewo-cta{flex-direction:column !important;align-items:flex-start !important}
}
@media(max-width:680px){
  .zg-fewo-clean{padding-top:40px !important}
  .zg-fewo-intro{padding-bottom:40px !important}
  .zg-fewo-intro h2,.zg-sectionhead--fewo h2,.zg-fewo-seo h2,.zg-fewo-faq>h2,.zg-fewo-cta h2{font-size:32px !important}
  .zg-fewo-intro__text p{font-size:15.5px !important}
  .zg-sectionhead--fewo{display:block !important}
  .zg-sectionhead--fewo .zg-btn{width:100% !important;margin-top:18px !important}
  .zg-fewo-types{padding:44px 0 50px !important}
  .zg-fewo-typecard{min-height:0 !important;padding:22px 18px !important;border-radius:18px !important}
  .zg-fewo-typecard h3{font-size:26px !important}
  .zg-fewo-seo{padding:50px 0 !important}
  .zg-fewo-faq{padding:46px 0 52px !important}
  .zg-fewo-cta{margin-left:-14px !important;margin-right:-14px !important;padding:32px 22px !important;border-radius:20px 20px 0 0 !important}
  .zg-fewo-cta .zg-btn{width:100% !important}
}


/* V14 – Ferienwohnungsbilder & klarer Abschluss vor dem Footer */
.zg-fewo-typecard{padding:0!important;overflow:hidden!important}
.zg-fewo-typecard__media{margin:0!important;height:235px!important;overflow:hidden!important;background:#eef2ef!important}
.zg-fewo-typecard__media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transition:transform .35s ease!important}
.zg-fewo-typecard:hover .zg-fewo-typecard__media img{transform:scale(1.025)!important}
.zg-fewo-typecard__body{padding:28px 34px 32px!important;display:flex!important;flex-direction:column!important;flex:1!important}
.zg-fewo-typecard__body .zg-textlink{margin-top:auto!important}
.zg-fewo-cta{border-radius:26px!important;margin:0 0 62px!important;overflow:hidden!important}
.zg-fewo-clean{padding-bottom:0!important;background:#fff!important}
.zg-fewo-clean + .zg-footer,.zg-footer{margin-top:0!important}
@media(max-width:680px){
  .zg-fewo-typecard__media{height:210px!important}
  .zg-fewo-typecard__body{padding:22px 18px 24px!important}
  .zg-fewo-cta{margin:0 0 38px!important;border-radius:20px!important}
}

/* V15 – Ferienwohnungen: echte Mehrfach-Fotogalerien statt abgeschnittener Einzelbilder */
.zg-card-gallery {
  border-bottom: 1px solid rgba(13,66,51,.10);
  background: #f7f4ed;
}
.zg-card-gallery__stage {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eef1ec;
}
.zg-card-gallery__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 0;
  transform: scale(.995);
  transition: opacity .25s ease, transform .25s ease;
}
.zg-card-gallery__image.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}
.zg-card-gallery__nav {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 52px;
  border: 0;
  border-radius: 12px;
  background: rgba(255,255,255,.90);
  color: #0d4233;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 25px rgba(0,0,0,.12);
}
.zg-card-gallery__nav--prev { left: 14px; }
.zg-card-gallery__nav--next { right: 14px; }
.zg-card-gallery__count {
  position: absolute;
  z-index: 3;
  right: 14px;
  bottom: 14px;
  padding: 7px 11px;
  border-radius: 999px;
  color: #fff;
  background: rgba(13,66,51,.82);
  font-size: 13px;
  font-weight: 800;
}
.zg-card-gallery__thumbs {
  display: flex;
  gap: 8px;
  padding: 10px 12px 12px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.zg-card-gallery__thumb {
  flex: 0 0 72px;
  height: 54px;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  opacity: .72;
}
.zg-card-gallery__thumb.is-active {
  opacity: 1;
  border-color: #ef7f1a;
}
.zg-card-gallery__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.zg-fewo-typecard::before { display:none !important; }

/* Der dunkle Buchungs-CTA soll wie ein eigener Block enden und nicht optisch in den Footer laufen. */
.zg-fewo-cta {
  margin-bottom: 72px !important;
  overflow: hidden;
  border-radius: 28px !important;
}
.site-footer { clear: both; }

@media (max-width: 760px) {
  .zg-card-gallery__stage { aspect-ratio: 4 / 3; }
  .zg-card-gallery__nav {
    width: 40px;
    height: 48px;
    font-size: 30px;
  }
  .zg-card-gallery__thumb { flex-basis: 64px; height: 48px; }
  .zg-fewo-cta { margin-bottom: 40px !important; }
}


/* =========================================================
   V16 – offizielle Easybooking-Kategorien statt Eigenbaukarten
   ========================================================= */
.zg-fewo-easybooking{background:#fff!important}
.zg-eb-section{padding:72px 0 84px;background:var(--cream);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}
.zg-eb-section .zg-sectionhead{max-width:1280px;margin-left:auto;margin-right:auto}
.zg-eb-section .zg-sectionhead p{margin:8px 0 0;color:var(--muted);font-size:17px}
.zg-easybooking-shell{max-width:1280px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 18px 50px rgba(18,63,50,.08);overflow:visible}
#ebCategories{width:100%;max-width:100%;min-height:180px}
#ebCategories,* #ebCategories{box-sizing:border-box}
#ebCategories img{max-width:100%;height:auto}
#ebCategories iframe{max-width:100%}
.zg-fewo-easybooking .zg-fewo-seo{padding-top:90px}
.zg-fewo-easybooking .zg-fewo-cta{margin-bottom:72px!important;border-radius:28px!important}

@media(max-width:900px){
  .zg-eb-section{padding-top:56px;padding-bottom:64px;padding-left:20px;padding-right:20px}
  .zg-easybooking-shell{padding:14px;border-radius:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:680px){
  .zg-eb-section{padding-left:14px;padding-right:14px}
  .zg-easybooking-shell{padding:8px;border-radius:16px}
  #ebCategories{min-width:0!important;width:100%!important;max-width:100%!important}
  #ebCategories > *{max-width:100%!important}
  .zg-fewo-easybooking .zg-fewo-seo{padding-top:58px}
  .zg-fewo-easybooking .zg-fewo-cta{margin-bottom:40px!important}
}

/* ==========================================================
   V17 – Easybooking float containment / section separation
   ========================================================== */
.zg-eb-section,
.zg-easybooking-shell,
#ebCategories{
  display: flow-root;
  clear: both;
}

#ebCategories::after,
.zg-easybooking-shell::after,
.zg-eb-section::after{
  content:"";
  display:table;
  clear:both;
}

/* Easybooking uses legacy floated category layouts. Keep every
   category inside the booking shell instead of letting following
   sections flow alongside it. */
#ebCategories > *{
  max-width:100%;
}

/* The SEO/related-content block must always start below Easybooking. */
.zg-fewo-easybooking .zg-fewo-seo{
  clear:both!important;
  float:none!important;
  width:100%!important;
  position:relative;
  z-index:2;
  background:#fff;
}

/* Prevent legacy Easybooking floats from affecting footer/FAQ too. */
.zg-fewo-easybooking .zg-fewo-faq,
.zg-fewo-easybooking .zg-fewo-cta{
  clear:both!important;
  float:none!important;
}

@media (max-width: 900px){
  .zg-easybooking-shell{overflow:hidden;}
  #ebCategories{overflow:hidden;}
}
