/* Editorial booking results. No changes to inventory, pricing or availability. */
body.tzb-design main .tzb-baumhaus-gallery { width: min(1180px,calc(100% - 64px)); margin: 64px auto !important; padding: 48px 0; border-top: 1px solid #d8ddcf; }
body.tzb-design main .tzb-baumhaus-gallery h2 { max-width: 780px; margin: 0 0 18px !important; font-size: clamp(32px,4vw,52px) !important; line-height: 1.12; }
body.tzb-design main .tzb-baumhaus-gallery > p { max-width: 620px; margin: 0 0 32px !important; font-size: 17px; line-height: 1.65; }
.tzb-design .tzb-baumhaus-gallery__grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px !important; }
.tzb-design .tzb-baumhaus-gallery__grid figure:first-child { grid-column: span 2; grid-row: span 2; }
.tzb-design .tzb-baumhaus-gallery__grid figure { width: auto !important; margin: 0 !important; min-width: 0; }
.tzb-design .tzb-baumhaus-gallery__grid a { display: block; height: 100%; overflow: hidden; border-radius: 4px; background: #e8eddf; cursor: zoom-in; }
.tzb-design .tzb-baumhaus-gallery__grid img { display: block; width: 100% !important; height: 100% !important; aspect-ratio: 4 / 3; object-fit: cover !important; transition: transform .25s ease; }
.tzb-design .tzb-baumhaus-gallery__grid a:hover img { transform: scale(1.025); }
.tzb-design .tzb-baumhaus-gallery__grid a:focus-visible { outline: 3px solid #977623; outline-offset: 4px; }
.tzb-gallery-viewer { width: min(1120px,96vw); max-width: 96vw; max-height: 94dvh; padding: 16px; background: #fffdf7; color: #203d32; border: 0; border-radius: 5px; }
.tzb-gallery-viewer::backdrop { background: rgba(20,35,28,.9); }
.tzb-gallery-viewer__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.tzb-gallery-viewer img { display: block; width: 100%; height: min(70dvh,760px); object-fit: contain; background: #f7f5ee; }
.tzb-gallery-viewer button { background: #203d32; color: #fffdf7; padding: 10px 16px; min-height: 44px; border: 0; border-radius: 3px; font-size: 15px; }
.tzb-gallery-viewer__navigation { display: flex; justify-content: space-between; margin-top: 12px; gap: 12px; }
.tzb-gallery-viewer button:focus-visible { outline: 3px solid #977623; outline-offset: 3px; }
@media(max-width:700px) {
 body.tzb-design main .tzb-baumhaus-gallery { width: calc(100% - 40px); margin: 32px auto !important; padding: 32px 0; }
 .tzb-design .tzb-baumhaus-gallery__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px !important; }
 .tzb-design .tzb-baumhaus-gallery__grid figure:first-child { grid-column: span 2; grid-row: auto; }
 .tzb-gallery-viewer img { height: 62dvh; }
}
@media(prefers-reduced-motion:reduce) { .tzb-design .tzb-baumhaus-gallery__grid img { transition: none; } }
/* Mobile date popup: seven readable columns instead of an em-sized narrow strip. */
@media (max-width: 600px) {
  body.tzb-design .datepick-popup {
    width: calc(100vw - 24px) !important;
    max-width: 380px !important;
    left: 12px !important;
    box-sizing: border-box;
    z-index: 10000;
  }
  body.tzb-design .datepick-popup .datepick {
    width: 100% !important;
    max-width: none !important;
    font-size: 14px !important;
    line-height: 1.4;
    overflow: hidden;
    border-radius: 6px;
  }
  body.tzb-design .datepick-popup .datepick-month-row,
  body.tzb-design .datepick-popup .datepick-month {
    width: 100% !important;
    float: none !important;
  }
  body.tzb-design .datepick-popup .datepick-month table {
    width: 100% !important;
    table-layout: fixed;
    margin: 0;
  }
  body.tzb-design .datepick-popup .datepick-month th,
  body.tzb-design .datepick-popup .datepick-month td {
    width: 14.2857%;
    padding: 0 !important;
    font-size: 14px !important;
  }
  body.tzb-design .datepick-popup .datepick-month td a,
  body.tzb-design .datepick-popup .datepick-month td span {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 40px;
    font-size: 15px !important;
  }
  body.tzb-design .datepick-popup .datepick-month-header {
    min-height: 44px;
    font-size: 16px !important;
    line-height: 44px;
  }
  body.tzb-design .datepick-popup .datepick-nav,
  body.tzb-design .datepick-popup .datepick-ctrl {
    display: flex;
    justify-content: space-between;
    min-height: 44px;
  }
  body.tzb-design .datepick-popup .datepick-cmd {
    float: none !important;
    width: auto !important;
    min-width: 0;
    padding: 10px 8px;
    height: auto !important;
    font-size: 14px !important;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
  }
  body.tzb-design .mphb_sc_search_results-wrapper h2 {
    font-size: clamp(28px, 7.5vw, 36px) !important;
    line-height: 1.15 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}
/* Checkout controls: isolate checkboxes from full-width text-field styling. */
body.tzb-design .mphb_sc_checkout-wrapper input[type="checkbox"],
body.tzb-design .mphb_sc_checkout-wrapper input[type="radio"] {
  appearance: auto !important;
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  padding: 0 !important;
  margin: 0 12px 0 0 !important;
  vertical-align: middle;
  accent-color: #203d32;
  box-shadow: none !important;
  transform: none !important;
}
body.tzb-design .mphb_sc_checkout-wrapper label:has(input[type="checkbox"]),
body.tzb-design .mphb_sc_checkout-wrapper label:has(input[type="radio"]) {
  display: block !important;
  align-items: flex-start;
  gap: 0;
  min-height: 44px;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: .025em;
  text-transform: none;
}
body.tzb-design .mphb_sc_checkout-wrapper label input[type="checkbox"],
body.tzb-design .mphb_sc_checkout-wrapper label input[type="radio"] {
  flex: 0 0 22px;
  margin-top: 3px !important;
}
body.tzb-design .mphb_sc_checkout-wrapper input[type="submit"],
body.tzb-design .mphb_sc_checkout-wrapper button[type="submit"] {
  background: #203d32 !important;
  background-image: none !important;
  color: #fffdf7 !important;
  -webkit-text-fill-color: #fffdf7 !important;
  border: 1px solid #203d32 !important;
  opacity: 1 !important;
  font-size: 15px !important;
  min-height: 56px;
  white-space: normal;
}
body.tzb-design .mphb_sc_checkout-wrapper input[type="submit"]:hover:not(:disabled),
body.tzb-design .mphb_sc_checkout-wrapper button[type="submit"]:hover:not(:disabled) {
  background: #315747 !important;
}
body.tzb-design .mphb_sc_checkout-wrapper input[type="submit"]:disabled,
body.tzb-design .mphb_sc_checkout-wrapper button[type="submit"]:disabled {
  background: #64746c !important;
  border-color: #64746c !important;
  cursor: not-allowed;
}
/* Do not decorate genuinely empty trailing paragraphs. */
body.page-id-417 .legacy-content > p:last-child:empty { display: none; }
.tzb-design .mphb_sc_search_results-wrapper { max-width: 100%; }
.tzb-design .mphb-room-type { background: #fffdf7; border: 1px solid #d8ddcf; padding: clamp(20px,4vw,40px); margin: 28px 0; border-radius: 8px; overflow-wrap: anywhere; }
.tzb-design .mphb-room-type img { max-width: 100%; height: auto; border-radius: 4px; }
.tzb-design main .mphb-room-type h2 { font-size: clamp(32px,5vw,48px); margin: 20px 0; }
.tzb-design main .mphb-room-type h3 { font-size: 26px; margin: 20px 0 12px; }
.tzb-design .mphb-room-type p { line-height: 1.65; }
.tzb-design .mphb-room-type .mphb-price { font-weight: 700; font-size: 24px; }
.tzb-design .mphb-room-type .mphb-price-period { border: 0; cursor: default; }
.tzb-design .tzb-search-rate-guide { margin: 14px 0 28px; padding: 18px 20px 16px; border: 1px solid rgba(117,137,112,.28); border-radius: 4px 22px 4px 4px; background: rgba(232,237,223,.48); }
.tzb-design .tzb-search-rate-guide__title { margin: 0 0 12px; color: #203d32; font-size: 12px; font-weight: 750; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }
.tzb-design .tzb-search-rate-guide dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0; }
.tzb-design .tzb-search-rate-guide dl > div { min-width: 0; padding: 0 14px; border-left: 1px solid rgba(32,61,50,.16); }
.tzb-design .tzb-search-rate-guide dl > div:first-child { padding-left: 0; border-left: 0; }
.tzb-design .tzb-search-rate-guide dt { margin: 0 0 3px; color: #56685e; font-size: 13px; line-height: 1.4; }
.tzb-design .tzb-search-rate-guide dd { margin: 0; color: #203d32; font-size: 18px; font-weight: 700; line-height: 1.35; }
.tzb-design .tzb-search-rate-guide__note { margin: 14px 0 0 !important; padding-top: 12px; border-top: 1px solid rgba(32,61,50,.16); color: #56685e; font-size: 13px; line-height: 1.55 !important; }
.tzb-design .mphb-recommendation { background: #e8eddf; padding: 24px; border: 1px solid #c5cfba; border-radius: 8px; margin: 24px 0; }
.tzb-design .mphb-recommendation .mphb-recommendation-details-list { display: block; width: 100%; margin-bottom: 0; }
.tzb-design .mphb-recommendation .mphb-recommendation-total { float: none !important; clear: both; display: flex; justify-content: flex-end; align-items: baseline; gap: .35em; width: 100%; box-sizing: border-box; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgba(32,61,50,.18); text-align: right; }
.tzb-design .mphb_sc_search_results-wrapper button { min-height: 44px; max-width: 100%; white-space: normal; background: #203d32; color: #fffdf7; border-radius: 4px; }
.tzb-design :is(a,button,input,select,summary):focus-visible { outline: 3px solid #977623; outline-offset: 4px; }
@media(max-width:700px) { .tzb-design .tzb-search-rate-guide dl { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 14px; } .tzb-design .tzb-search-rate-guide dl > div:nth-child(3) { padding-left: 0; border-left: 0; } }
@media(max-width:600px) { .tzb-design .mphb-room-type { padding: 20px 16px; } .tzb-design .mphb-recommendation { padding: 20px 16px; } .tzb-design .mphb-recommendation .mphb-recommendation-total { justify-content: space-between; } .tzb-design .mphb_sc_search_results-wrapper ul { padding-left: 18px; } .tzb-design .tzb-search-rate-guide { padding: 17px 16px 15px; } }
/* Booking flow: confident editorial hierarchy with calm, tactile form surfaces. */
.tzb-design .mphb_sc_checkout-wrapper,.tzb-design .mphb_sc_booking_confirmation{max-width:980px}
.tzb-design .mphb_sc_checkout-wrapper form{display:block}
.tzb-design .mphb_sc_checkout-wrapper .mphb-checkout-section,.tzb-design .mphb_sc_checkout-wrapper .mphb-booking-details,.tzb-design .mphb_sc_checkout-wrapper .mphb-customer-details,.tzb-design .mphb_sc_checkout-wrapper .mphb-price-breakdown{margin:26px 0;padding:clamp(22px,4vw,42px);background:rgba(255,254,249,.76);border:1px solid rgba(117,137,112,.28);border-radius:28px 28px 7px 7px;box-shadow:0 22px 55px rgba(32,61,50,.08),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.tzb-design .mphb_sc_checkout-wrapper .mphb-data-incorrect{max-width:760px;margin:0;padding:20px 24px;border:1px solid #c98f78;border-left:5px solid #9b5b3a;border-radius:4px;background:#f4e5dc;color:#683c2c;font-weight:650;line-height:1.8;box-shadow:0 12px 30px rgba(105,62,44,.08)}
.tzb-design .mphb_sc_checkout-wrapper h3,.tzb-design .mphb_sc_checkout-wrapper h4{margin:0 0 22px}
.tzb-design .mphb_sc_checkout-wrapper label{display:block;margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#506359}
.tzb-design .mphb_sc_checkout-wrapper input:not([type=checkbox]):not([type=radio]),.tzb-design .mphb_sc_checkout-wrapper select,.tzb-design .mphb_sc_checkout-wrapper textarea{border:1px solid rgba(105,126,101,.34);background:rgba(255,254,249,.9);border-radius:9px;box-shadow:inset 0 2px 5px rgba(32,61,50,.045);transition:border-color .2s,box-shadow .2s,transform .2s}
.tzb-design .mphb_sc_checkout-wrapper input:focus,.tzb-design .mphb_sc_checkout-wrapper select:focus,.tzb-design .mphb_sc_checkout-wrapper textarea:focus{border-color:#6f8764;box-shadow:0 0 0 4px rgba(111,135,100,.14);transform:translateY(-1px)}
.tzb-design .mphb_sc_checkout-wrapper input[type=submit],.tzb-design .mphb_sc_checkout-wrapper button{min-height:56px;padding:15px 24px;border:0;border-radius:3px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 12px 26px rgba(32,61,50,.18)}
body.page-id-417 .legacy-content>p:last-child{max-width:980px;margin-top:36px;padding:clamp(24px,4vw,42px);background:linear-gradient(135deg,rgba(220,229,186,.62),rgba(255,254,249,.62));border:1px solid rgba(117,137,112,.25);border-radius:6px 42px 6px 6px;box-shadow:0 18px 48px rgba(32,61,50,.07);line-height:1.85}
.tzb-design .mphb_sc_checkout-wrapper table{width:100%;border-collapse:collapse;background:rgba(255,254,249,.65)}
.tzb-design .mphb_sc_checkout-wrapper th,.tzb-design .mphb_sc_checkout-wrapper td{padding:13px;border-bottom:1px solid var(--line);text-align:left}
@media(max-width:600px){.tzb-design .mphb_sc_checkout-wrapper .mphb-checkout-section,.tzb-design .mphb_sc_checkout-wrapper .mphb-booking-details,.tzb-design .mphb_sc_checkout-wrapper .mphb-customer-details,.tzb-design .mphb_sc_checkout-wrapper .mphb-price-breakdown{padding:22px 17px;border-radius:20px 20px 6px 6px}.tzb-design .mphb_sc_checkout-wrapper .mphb-data-incorrect{padding:16px 18px}.tzb-design .mphb_sc_checkout-wrapper table{display:block;overflow-x:auto}}
