/* Zuhause am Bach – reduzierte Startseite, 26.10.2026.
   Buchungsformular, Kalender, Galerie und Zahlungsablauf werden nicht verändert. */
.zab-slim #booking{grid-template-columns:minmax(0,1fr);gap:0;max-width:960px;margin-left:auto;margin-right:auto}
.zab-slim #booking>.booking-card{width:100%;min-width:0}
.zab-slim .booking-shell .zab-short-note{margin:12px 0 6px;color:#52635b;font-size:.93rem;line-height:1.5}
.zab-slim .zab-slim-section{background:#fff;border:1px solid #e0e9e2;border-radius:18px;box-shadow:0 6px 24px #1c40200d;padding:clamp(20px,3.5vw,35px);margin:28px auto;max-width:1160px;scroll-margin-top:90px}
.zab-slim .zab-slim-heading{max-width:800px;margin:0 0 22px}
.zab-slim .zab-slim-heading h2{font:700 clamp(1.8rem,3.5vw,2.6rem)/1.15 Georgia,serif;color:#244a34;margin:7px 0 9px}
.zab-slim .zab-slim-heading p{color:#52635b;max-width:75ch;line-height:1.6;margin:0}
.zab-slim .zab-slim-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 24px}
.zab-slim .zab-slim-perks span{display:flex;align-items:center;border:1px solid #d7e4d9;border-radius:12px;padding:13px 14px;background:#f5f9f5;font-weight:650;line-height:1.4}
.zab-slim .zab-slim-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.zab-slim .zab-slim-photos figure{margin:0;overflow:hidden;border-radius:14px;border:1px solid #d7e4d9;background:#fafbf9}
.zab-slim .zab-slim-photos img{display:block;width:100%;height:220px;max-height:32vh;object-fit:cover}
.zab-slim .zab-slim-photos figcaption{padding:10px 14px;font-weight:700;color:#2b4a36}
.zab-slim .zab-slim-muted{line-height:1.6;color:#52635b;margin:18px 0 0}
.zab-slim .zab-slim-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.zab-slim .zab-slim-links article{min-width:0;border:1px solid #d8e4da;border-radius:14px;background:#f9fbf8;padding:17px;display:flex;flex-direction:column;gap:10px}
.zab-slim .zab-slim-links h3{font-size:1.1rem;line-height:1.3;margin:0;color:#264733}
.zab-slim .zab-slim-links p{flex:1;color:#53655b;line-height:1.55;margin:0;font-size:.94rem}
.zab-slim .zab-slim-links a{color:#23573a;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.zab-slim .zab-slim-warning{background:#fff7e7;border:1px solid #e5c58e;padding:13px 15px;border-radius:12px;line-height:1.55;margin:18px 0}
.zab-slim .zab-slim-more{border:1px solid #d9e3da;border-radius:12px;padding:0;background:#fafcf9;margin-top:16px}
.zab-slim .zab-slim-more>summary{font-weight:750;cursor:pointer;padding:15px 17px;color:#2e523b}
.zab-slim .zab-slim-more[open]>summary{border-bottom:1px solid #d9e3da}
.zab-slim .zab-slim-more-links{padding:15px 17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.zab-slim .zab-slim-more-links a{color:#27543b;font-weight:650;overflow-wrap:anywhere}
.zab-slim .zab-slim-faq>details{border-bottom:1px solid #e1e7e2;padding:0;margin:0}
.zab-slim .zab-slim-faq>details>summary{font-weight:750;color:#2c5039;padding:15px 4px;cursor:pointer;line-height:1.5}
.zab-slim .zab-slim-faq>details>p{padding:2px 12px 15px 18px;color:#4e6055;line-height:1.6;margin:0}
.zab-slim .zab-slim-contact{margin:20px 0 12px}
.zab-slim .zab-alias{display:block;position:relative;top:-90px;height:0;visibility:hidden}
.zab-slim a.btn,.zab-slim button.btn,.zab-slim #stickyCta{background:#315b45!important;color:#fff!important;border:1px solid #315b45!important;border-radius:12px!important;box-shadow:none!important;text-decoration:none!important;font-weight:750!important}
.zab-slim a.btn:hover,.zab-slim button.btn:hover,.zab-slim #stickyCta:hover{background:#244534!important;border-color:#244534!important;color:#fff!important}
.zab-slim button.btn.secondary,.zab-slim a.hero-secondary{background:transparent!important;color:#315b45!important;border:1px solid #315b45!important;border-radius:12px!important;box-shadow:none!important;text-decoration:none!important}
.zab-slim button.btn.secondary:hover,.zab-slim a.hero-secondary:hover{background:#eef4ee!important;color:#244534!important}
.zab-slim a.btn:focus-visible,.zab-slim button.btn:focus-visible,.zab-slim a.hero-secondary:focus-visible,.zab-slim .zab-slim-section a:focus-visible,.zab-slim summary:focus-visible{outline:3px solid #d5a343!important;outline-offset:3px}
.zab-slim #checkAvailability,.zab-slim #continueBooking,.zab-slim #bookingSubmit{min-height:48px}
.zab-slim .zab-slim-last-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:18px;padding:12px 20px}
@media(max-width:960px){.zab-slim .zab-slim-links{grid-template-columns:repeat(2,minmax(0,1fr))}.zab-slim .zab-slim-perks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.zab-slim .zab-slim-section{margin:18px 8px;padding:20px 14px}.zab-slim .zab-slim-links,.zab-slim .zab-slim-perks,.zab-slim .zab-slim-photos,.zab-slim .zab-slim-more-links{grid-template-columns:minmax(0,1fr)}.zab-slim .zab-slim-photos img{height:195px;max-height:none}.zab-slim .zab-slim-last-cta{width:100%;box-sizing:border-box}.zab-slim .zab-slim-links article{padding:14px}.zab-slim #booking{margin-left:8px;margin-right:8px}.zab-slim .zab-slim-heading h2{font-size:1.7rem}}

/* 26.10.2026: accessible, compact optional extras and legal acknowledgement */
.zab-slim .zab-extras-details{margin:14px 0 18px;border:1px solid #d8e4da;border-radius:13px;background:#f8fbf7;overflow:visible}
.zab-slim .zab-extras-details>summary{cursor:pointer;padding:15px 17px;font-weight:760;color:#244b35;line-height:1.5}
.zab-slim .zab-extras-details[open]>summary{border-bottom:1px solid #d8e4da}
.zab-slim .zab-extras-details>p.small{padding:3px 17px 0;margin:9px 0;color:#4d6558}
.zab-slim .zab-extras-details>.booking-services{margin:8px 13px 15px;padding:8px 0;background:transparent}
.zab-slim .zab-terms-ack{display:flex;gap:12px;align-items:flex-start;padding:14px 15px;margin:16px 0 12px;border:1px solid #c7d9cc;border-radius:12px;background:#f5faf6;cursor:pointer;font-size:.94rem;line-height:1.6;color:#244534}
.zab-slim .zab-terms-ack>input{flex:0 0 auto;width:19px;height:19px;margin:3px 0 0;accent-color:#315b45}
.zab-slim .zab-terms-ack a{font-weight:750;text-decoration:underline;color:#25553a;text-underline-offset:2px}
.zab-slim .zab-terms-ack:has(input:focus-visible){outline:3px solid #d5a343;outline-offset:2px}
.zab-slim .hero-proof a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:750}
@media(max-width:640px){.zab-slim .zab-extras-details>.booking-services{margin:7px 9px 12px}.zab-slim .zab-terms-ack{gap:9px;padding:12px 10px}}

/* Explicit, guest-facing booking amount vs statutory tax vs overall stay costs */
.zab-slim .zab-stay-costs{margin:12px 0;border:1px solid #d4e2d8;border-radius:13px;padding:13px 16px;background:#f8fbf9}
.zab-slim .zab-stay-costs>div,.zab-slim .zab-summary-cost{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;line-height:1.5}
.zab-slim .zab-stay-costs>div>span,.zab-slim .zab-summary-cost>span{min-width:0;color:#345241}
.zab-slim .zab-stay-costs>div>strong,.zab-slim .zab-summary-cost>strong{white-space:normal;overflow-wrap:anywhere;text-align:right;font-variant-numeric:tabular-nums}
.zab-slim .zab-stay-total{border-top:1px solid #c8dacf;font-size:1.13rem;font-weight:760;color:#1a4b32}
.zab-slim .zab-stay-total span{font-weight:760}
.zab-slim #taxCostNote{font-size:.9rem;color:#456453;line-height:1.5;margin:8px 0 0}
.zab-slim .zab-summary-cost{border-bottom:1px solid #dce9dd}
.zab-slim #summaryTaxNote{font-size:.87rem;line-height:1.5;color:#456453;margin:10px 0}
.zab-slim .zab-bank-post-book-note{background:#f0f7f2;border-left:3px solid #315b45;color:#2c4938;padding:12px 15px;line-height:1.55;margin:10px 0 15px}
.zab-slim .zab-bank-post-book-note[hidden]{display:none!important}
.zab-slim .booking-summary-total{display:flex;justify-content:space-between;gap:12px;align-items:center}
.zab-slim .booking-summary-total>span,.zab-slim .booking-summary-total>strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){
 .zab-slim .hero-content,.zab-slim .booking-card,.zab-slim .zab-slim-section,.zab-slim .booking-summary{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .zab-slim .zab-stay-costs>div,.zab-slim .zab-summary-cost,.zab-slim .booking-summary-total{flex-wrap:wrap;align-items:flex-start}
 .zab-slim .zab-stay-costs>div>strong,.zab-slim .zab-summary-cost>strong,.zab-slim .booking-summary-total>strong{text-align:left;max-width:100%}
 .zab-slim #taxDisclosure{overflow-wrap:anywhere}
 .zab-slim input,.zab-slim select,.zab-slim textarea,.zab-slim button{max-width:100%;box-sizing:border-box}
 .zab-slim .zab-extras-details summary{overflow-wrap:anywhere}
}
@media(max-width:390px){
 .zab-slim .zab-stay-costs{padding:11px 10px}
 .zab-slim .zab-slim-section{padding:17px 12px}
 .zab-slim .booking-card{padding:16px 12px}
 .zab-slim .zab-terms-ack span{min-width:0;overflow-wrap:anywhere}
}

/* Mobile screenshot QA: constrain intrinsic gallery width rather than masking overflow. */
@media(max-width:700px){
  .zab-slim .room-list,.zab-slim .booking-grid,.zab-slim .guest-grid,
  .zab-slim .booking-card,.zab-slim .room-option{
    min-width:0!important;max-width:100%!important;box-sizing:border-box;
  }
  .zab-slim .room-list{display:grid;grid-template-columns:minmax(0,1fr)!important}
  .zab-slim .room-option{grid-template-columns:82px minmax(0,1fr)!important}
  .zab-slim .room-copy,.zab-slim .room-price{min-width:0!important;max-width:100%;overflow-wrap:anywhere}
  .zab-slim .zab-room-gallery{
    display:block;width:100%;max-width:100%;min-width:0!important;
    box-sizing:border-box;overflow:hidden;
  }
  .zab-slim .zab-gallery-thumbs{
    min-width:0!important;max-width:100%;width:100%;
    display:grid;grid-template-columns:repeat(5,72px);gap:8px;
    overflow-x:auto;overflow-y:hidden;box-sizing:border-box;
    overscroll-behavior-x:contain;scrollbar-width:thin;
  }
  .zab-slim .zab-gallery-head,.zab-slim .zab-gallery-actions{min-width:0;max-width:100%}
  .zab-slim .total-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px}
  .zab-slim .total-row>*{min-width:0!important;max-width:100%;overflow-wrap:anywhere}
  .zab-slim .total-row>strong{text-align:right}
  .zab-slim .booking-summary-grid{min-width:0;grid-template-columns:minmax(0,1fr)}
  .zab-slim .booking-summary-row{min-width:0;overflow-wrap:anywhere}
  .zab-slim .hero-actions .hero-secondary{
    color:#fff!important;border:1px solid rgba(255,255,255,.85)!important;
    background:rgba(0,0,0,.4)!important;text-shadow:0 1px 4px #000!important;
  }
  .zab-slim .hero-actions .hero-secondary:hover{color:#fff!important;background:rgba(0,0,0,.65)!important}
}

/* Final handheld form polish: full-width voucher field and readable input labels. */
.zab-slim #guestArea>label{display:block;font-weight:700;margin-top:14px;line-height:1.5}
.zab-slim #couponCode{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:48px;margin-top:7px;padding:10px 12px;border-radius:10px;font-size:16px}
.zab-slim #guestArea .guest-grid label{display:flex;flex-direction:column;gap:7px}
.zab-slim #guestArea .guest-grid input{width:100%;box-sizing:border-box;min-height:48px;font-size:16px}
