/* Auberge woning v0.3.2 – only selectors under .awb-booking-ui / .awb-house-flow. */
.awb-booking-ui, body.awb-house-flow {
  --awb-green: #365845;
  --awb-green-dark: #294b37;
  --awb-ink: #30483a;
  --awb-muted: #627267;
  --awb-paper: #f5f3ee;
  --awb-line: #e5e7e0;
  --awb-pale: #edf1eb;
  color: var(--awb-ink);
}
.awb-booking-ui *, .awb-booking-ui *::before, .awb-booking-ui *::after,
body.awb-house-flow .awb-progress *, body.awb-house-flow .awb-option-line * { box-sizing: border-box; }
.awb-booking-ui {
  width: 100%; max-width: 1160px; padding: clamp(16px, 2.4vw, 30px);
  margin: 12px auto 32px; background: var(--awb-paper); border-radius: 16px;
  font-family: inherit; color: var(--awb-ink);
}
.awb-intro { margin-bottom: 16px; }
.awb-intro .awb-eyebrow { margin: 0 0 7px !important; color: #607764; font-size: 10px; font-weight: 700; letter-spacing: .11em; }
.awb-intro h2 { margin: 0 0 8px !important; color: var(--awb-ink); font-size: clamp(22px, 2.5vw, 31px); font-weight: 700; line-height: 1.2; }
.awb-description { margin: 0 0 12px !important; color: var(--awb-muted); font-size: 13px; line-height: 1.6; }
.awb-facts { display: flex; flex-wrap: wrap; gap: 7px 18px; color: var(--awb-green); font-size: 12px; }
.awb-facts span:before { content: '✓'; padding-right: 6px; }
.awb-photo { margin: 0 0 20px !important; height: clamp(150px, 19vw, 235px); border-radius: 10px; overflow: hidden; background: #e9e3d8; }
.awb-photo img { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 50% 54%; }
.awb-booking-ui .awb-grid { display: none; }
.awb-booking-ui.awb-ready .awb-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 16px; align-items: start; }
.awb-card { padding: clamp(17px, 2vw, 26px); background: #fff; border-radius: 10px; min-width: 0; box-shadow: 0 3px 14px rgba(35,50,40,.04); }
.awb-card h3 { margin: 0 0 18px !important; font-size: clamp(16px, 1.6vw, 19px); font-weight: 700; color: var(--awb-ink); }
.awb-native-output--concealed { position: absolute !important; left: -99999px !important; top: auto !important; overflow: hidden !important; width: 1px !important; height: 1px !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; pointer-events: none !important; }
/* Native VikBooking form, moved—not recreated. */
.awb-booking-ui .awb-native-form-target .vbo-seldates-cont,
.awb-booking-ui .awb-native-form-target .vbo-seldates-cont-inner,
.awb-booking-ui .awb-native-form-target .vbo-room-details-booking-wrapper,
.awb-booking-ui .awb-native-form-target .vbdivsearch,
.awb-booking-ui .awb-native-form-target .vb-search-inner {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
  display: block !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
}
.awb-booking-ui .awb-native-form-target .vbo-intro-main,
.awb-booking-ui .awb-native-form-target .vbo-closing-main,
.awb-booking-ui .awb-native-form-target .vbo-seldates-cont-inner > h4 { display: none !important; }
.awb-booking-ui .awb-native-form-target form { margin: 0 !important; }
.awb-booking-ui .awb-native-form-target .vbo-search-inpblock-checkin,
.awb-booking-ui .awb-native-form-target .vbo-search-inpblock-checkout { width: calc(50% - 8px); display: inline-block; vertical-align: top; margin: 0 11px 15px 0 !important; }
.awb-booking-ui .awb-native-form-target .vbo-search-inpblock-checkout { margin-right: 0 !important; }
.awb-booking-ui .awb-native-form-target .vbo-search-inpblock label { display: block; margin: 0 0 7px !important; color: var(--awb-ink); font-size: 12px; font-weight: 650; }
.awb-booking-ui .awb-native-form-target .vbo-search-inpblock .input-group { display: flex; align-items: center; background: #fbfbf9; border: 1px solid var(--awb-line); min-height: 47px; border-radius: 7px; overflow: hidden; box-shadow: none; width: 100%; }
.awb-booking-ui .awb-native-form-target .vbo-search-inpblock .input-group input { width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 10px 9px !important; color: var(--awb-ink); background: transparent !important; font-size: 13px; border: 0 !important; box-shadow: none !important; }
.awb-booking-ui .awb-native-form-target .vbo-search-inpblock .input-group i { padding: 0 10px; color: var(--awb-green); cursor: pointer; }
.awb-booking-ui .awb-native-form-target .vbo-search-num-racblock { margin: 3px 0 10px !important; }
.awb-booking-ui .awb-native-form-target .awb-hidden-original-guest { display: none !important; }
.awb-booking-ui .awb-native-form-target .vbo-search-num-aduchild-block:has(.awb-hidden-original-guest) { display: none !important; }
.awb-booking-ui .awb-native-form-target .vbo-search-num-racblock:has(.awb-guests-grid) { padding: 0 !important; border: 0 !important; }
.awb-guests-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin: 5px 0 8px; align-items: end; }
.awb-guest-field { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 650; color: var(--awb-ink); }
.awb-guest-field .awb-number-field { display: block; width: 100%; max-width: none !important; min-height: 45px; padding: 8px 12px !important; background: #fbfbf9 !important; border: 1px solid var(--awb-line) !important; border-radius: 7px !important; color: var(--awb-ink); font-size: 14px; }
.awb-guest-feedback { grid-column: 1 / -1; font-size: 12px; color: var(--awb-muted); margin: 0 !important; }
.awb-guest-feedback.awb-error, .awb-quote-status:not(:empty) { color: #9f4a2f; }
.awb-booking-ui .awb-native-form-target #vbjstotnights { margin: 5px 0 !important; font-size: 12px; color: var(--awb-muted); }
.awb-booking-ui .awb-native-form-target .vbo-search-submit.awb-native-submit-connected { display: none !important; }
.awb-booking-ui .awb-native-form-target .vbo-search-submit input { background: var(--awb-green) !important; color: #fff !important; border-radius: 7px !important; padding: 10px 16px !important; }
.awb-calendar-note { margin: 14px 0 0 !important; font-size: 11px; line-height: 1.6; color: var(--awb-muted); }
.awb-summary-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; color: var(--awb-muted); font-size: 13px; border-bottom: 1px solid var(--awb-line); }
.awb-summary-line strong { text-align: right; color: var(--awb-ink); font-size: 13px; font-weight: 700; }
.awb-summary-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 14px; color: var(--awb-ink); font-weight: 700; }
.awb-summary-total strong { font-size: clamp(20px,2.1vw,25px); font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.awb-guarantee { margin: 11px 0 15px !important; font-size: 11px; line-height: 1.55; color: var(--awb-muted); }
.awb-quote-status { margin: 0 0 11px !important; min-height: 1px; font-size: 11px; }
.awb-next-button { display: block; width: 100%; min-height: 47px; padding: 11px 15px; border-radius: 7px; border: 1px solid var(--awb-green); background: var(--awb-green); color: #fff; font-weight: 700; font-size: 13px; cursor: pointer; }
.awb-next-button:hover, .awb-next-button:focus-visible { color: #fff; background: var(--awb-green-dark); }
.awb-next-button[hidden] { display: none !important; }
/* Native availability calendar: do not let a 1-night orphan be selected by clicking on its cell. */
.awb-booking-ui td.awb-orphan-night { opacity: .28; background: #f4f4f1 !important; cursor: not-allowed !important; }
/* Same three-step progress on every stage. */
.awb-progress-home:empty { display: none; }
.awb-progress, body.awb-house-flow .awb-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 22px; padding: 7px 8px 9px; border: 1px solid #e4e6df; border-radius: 10px; background: #fcfcfa; }
.awb-progress-item { position: relative; text-align: center; }
.awb-progress-item:not(:last-child):after { content: ''; position: absolute; top: 16px; width: calc(100% - 50px); left: calc(50% + 26px); height: 1px; background: #cdd9d0; }
.awb-progress-label { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 0 4px; text-decoration: none !important; color: #7a837a !important; font-size: 12px; }
.awb-progress-item.is-current .awb-progress-label { color: var(--awb-ink) !important; font-weight: 700; }
.awb-progress-badge { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; background: #edf0eb; border: 1px solid #d4ddd4; border-radius: 100px; font-weight: 700; font-size: 12px; }
.awb-progress-item.is-complete .awb-progress-badge { background: var(--awb-green); color: white; border-color: var(--awb-green); }
.awb-progress-item.is-current .awb-progress-badge { box-shadow: 0 0 0 3px #e5ece6; }
.awb-progress-label[href]:hover .awb-progress-name { text-decoration: underline; }
/* Every subsequent step is targeted only when VBO's form contains one house, ID=1. */
body.awb-house-flow .vbstepsbarcont { display: none !important; }
body.awb-house-flow .awb-flow-progress,
body.awb-house-flow .awb-flow-heading { max-width: 1100px; margin-left: auto !important; margin-right: auto !important; }
body.awb-house-flow .awb-flow-heading { margin-top: 12px !important; margin-bottom: 19px !important; font-size: clamp(21px,2.7vw,28px); line-height: 1.3; color: var(--awb-ink); font-weight: 700; }
body.awb-house-flow .vbo-results-wrapper,
body.awb-house-flow .vbo-showprc-head-wrapper,
body.awb-house-flow .vbo-showprc-wrapper,
body.awb-house-flow .vbo-oconfirm-wrapper,
body.awb-house-flow .vbo-oconfirm-summary-container,
body.awb-house-flow .vbcustomfields,
body.awb-house-flow .vbo-oconfirm-paymentopts { border-color: var(--awb-line); color: var(--awb-ink); }
body.awb-house-flow .vbo-results-wrapper,
body.awb-house-flow .vbo-showprc-wrapper,
body.awb-house-flow .vbo-oconfirm-wrapper { max-width: 1100px; margin: 0 auto 20px; }
body.awb-house-flow .vbo-results-filters-wrap,
body.awb-house-flow .vbo-results-style-wrap { display: none !important; }
body.awb-house-flow input.vbo-pref-color-btn,
body.awb-house-flow button.vbo-pref-color-btn,
body.awb-house-flow input.booknow,
body.awb-house-flow button.vbselectr-result { background: var(--awb-green) !important; border: 1px solid var(--awb-green) !important; color: white !important; border-radius: 7px !important; font-weight: 700 !important; }
body.awb-house-flow input.vbo-pref-color-btn:hover,
body.awb-house-flow button.vbo-pref-color-btn:hover { background: var(--awb-green-dark) !important; }
body.awb-house-flow .vbo-results-head { border: 1px solid #e8eae4; border-radius: 10px; background: #fcfcfa; padding: 12px 14px; margin: 0 0 15px; box-shadow: 0 2px 7px rgba(0,0,0,.025); }
body.awb-house-flow .vbo-results-head .fa-plane-arrival,
body.awb-house-flow .vbo-results-head .fa-plane-departure { display: none !important; }
body.awb-house-pricing .vbo-results-numadults,
body.awb-house-checkout .vbo-results-numadults { opacity: .85; }
body.awb-house-pricing .vbo-showprc-roomname h3 { color: var(--awb-ink) !important; font-size: 20px !important; font-weight: 700; }
body.awb-house-pricing .vbo-showprc-room-block,
body.awb-house-pricing .room_container { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.awb-house-pricing .vbroomimgdesc,
body.awb-house-pricing .vbo-showprc-room-head .vbo-showprc-staydetails-party { display: none !important; }
body.awb-house-pricing .room_prices { margin: 9px 0 23px !important; }
body.awb-house-pricing .vbo-showprc-price-entry { background: #f9faf8 !important; border: 1px solid #e7ebe5 !important; border-radius: 7px; padding: 15px !important; }
body.awb-house-pricing .vbo-showprc-price-entry-cost { color: var(--awb-green) !important; font-weight: 700 !important; }
body.awb-house-pricing .vbo-showprc-price-entry-rateplan label { color: var(--awb-ink) !important; font-weight: 650; }
body.awb-house-pricing .vbo-showprc-optionstable { display: block !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body.awb-house-pricing .vbo-showprc-option-entry.awb-option-line { display: grid !important; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 16px 0 !important; border: 0 !important; border-bottom: 1px solid var(--awb-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; min-height: 48px; }
body.awb-house-pricing .awb-option-line .vbo-showprc-option-entry-img,
body.awb-house-pricing .awb-option-line .awb-native-option-name-hidden { display: none !important; }
body.awb-house-pricing .awb-option-info { display: flex; flex-wrap: wrap; gap: 8px 12px; min-width: 0; align-items: center; }
body.awb-house-pricing .awb-option-label { margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--awb-ink); line-height: 1.35; cursor: pointer; }
body.awb-house-pricing .awb-option-line .vbo-showprc-option-entry-input { margin: 0 !important; padding: 0 !important; width: auto !important; min-width: 0 !important; display: inline-flex; align-items: center; }
body.awb-house-pricing .awb-option-line input[type=checkbox] { accent-color: var(--awb-green); margin: 0 !important; width: 17px; height: 17px; }
body.awb-house-pricing .awb-option-line .vbo-showprc-option-entry-cost { display: block !important; width: auto !important; text-align: right !important; padding: 0 !important; font-size: 14px; font-weight: 700; color: var(--awb-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.awb-house-pricing .awb-option-line .awb-required-option-value { display: none !important; }
body.awb-house-pricing .awb-option-line .awb-option-caption { flex: 0 0 100%; font-size: 11px; font-weight: 400; color: var(--awb-muted); line-height: 1.5; }
body.awb-house-pricing .awb-option-line[hidden] { display: none !important; }
body.awb-house-pricing .awb-pricing-total { max-width: 1100px; margin: 14px auto 20px; padding: 21px 24px; background: #fff; border: 1px solid var(--awb-line); border-radius: 10px; }
body.awb-house-pricing .awb-pricing-total-main { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; font-size: 16px; }
body.awb-house-pricing .awb-pricing-total-value { font-size: clamp(21px,2.4vw,27px); color: var(--awb-green); }
body.awb-house-pricing .awb-pricing-guarantee { font-size: 11px; color: var(--awb-muted); margin: 10px 0 0 !important; }
body.awb-house-pricing .awb-price-warning { font-size: 11px; color: #9f4a2f; margin: 5px 0 0 !important; }
body.awb-house-pricing .vbo-showprc-option-entry-img img,
body.awb-house-pricing .vbo-showprc-option-entry-img { display: none !important; }
body.awb-house-pricing .vbo-showprc-wrapper { background: var(--awb-paper); border-radius: 10px; padding: clamp(15px,2vw,26px); }
body.awb-house-pricing .vbo-showprc-wrapper .room_options { background: transparent !important; }
body.awb-house-flow .goback a { color: var(--awb-green) !important; background: transparent !important; border: 1px solid var(--awb-green) !important; border-radius: 7px !important; padding: 9px 14px !important; }
/* Checkout and contact form */
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper,
body.awb-house-checkout .vbo-oconfirm-summary-total-wrapper { border-color: var(--awb-line) !important; }
body.awb-house-checkout .awb-checkout-total { max-width: 1100px; margin: 10px auto 22px; padding: 18px 22px; border: 1px solid #dfe9dd; border-radius: 9px; background: #f6f8f3; }
body.awb-house-checkout .awb-checkout-total-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 16px; padding: 4px 0; }
body.awb-house-checkout .awb-checkout-total-row strong:last-child { color: var(--awb-green); font-size: 22px; font-variant-numeric: tabular-nums; }
body.awb-house-checkout .awb-checkout-total-row.awb-muted-row { color: var(--awb-muted); font-size: 12px; }
body.awb-house-checkout .awb-checkout-total-row.awb-muted-row span:last-child { color: var(--awb-muted); font-weight: 650; }
body.awb-house-checkout .awb-native-inclusive-total > .vbo-oconfirm-summary-total-row { display: none !important; }
body.awb-house-checkout .vbcustomfields { max-width: 1100px; }
body.awb-house-checkout .vbo-oconfirm-cfield-entry input:not([type=checkbox]):not([type=radio]),
body.awb-house-checkout .vbo-oconfirm-cfield-entry select,
body.awb-house-checkout .vbo-oconfirm-cfield-entry textarea { border: 1px solid #dce3db !important; border-radius: 7px !important; background: #fcfcfa !important; }
body.awb-house-checkout .vbo-oconfirm-cfield-entry[hidden] { display: none !important; }
body.awb-house-checkout .awb-customer-kind,
body.awb-house-checkout .awb-reason { padding: 17px 19px; margin: 0 0 19px; border: 1px solid var(--awb-line); border-radius: 9px; background: #f9faf7; }
body.awb-house-checkout .awb-customer-kind legend,
body.awb-house-checkout .awb-reason legend { float: none; width: auto; padding: 0 6px; color: var(--awb-ink); font-size: 14px; font-weight: 700; }
body.awb-house-checkout .awb-kind-label { display: inline-flex; align-items: center; gap: 5px; margin: 5px 20px 6px 0; font-size: 13px; cursor: pointer; }
body.awb-house-checkout .awb-customer-kind input[type=radio],
body.awb-house-checkout .awb-reason input[type=checkbox] { accent-color: var(--awb-green); }
body.awb-house-checkout .awb-customer-kind-note,
body.awb-house-checkout .awb-reason-hint { margin: 6px 0 10px !important; font-size: 12px; color: var(--awb-muted); }
body.awb-house-checkout .awb-reason-select,
body.awb-house-checkout .awb-reason-other { display: block; max-width: 530px; width: 100%; min-height: 43px; padding: 9px 10px; border: 1px solid var(--awb-line); border-radius: 7px; background: white; font-size: 13px; margin: 8px 0; }
body.awb-house-checkout .awb-reason-other[hidden],
body.awb-house-checkout .awb-customer-kind-note[hidden] { display: none !important; }
body.awb-house-checkout .awb-quiet-label { margin: 15px 0 0; display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.5; color: var(--awb-ink); }
body.awb-house-checkout .awb-quiet-label input { margin-top: 2px; flex: 0 0 auto; }
body.awb-house-checkout .awb-terms-linked a { color: var(--awb-green); text-decoration: underline !important; font-weight: 700; }
body.awb-house-checkout .vbo-enterpin-block { display: none !important; }
body.awb-house-flow .awb-flow-warning { border: 1px solid #e6ab95; background: #fff1ec; color: #97452d; padding: 13px; border-radius: 7px; font-size: 13px; }
@media (max-width: 820px) {
  .awb-booking-ui.awb-ready .awb-grid { grid-template-columns: minmax(0,1fr); }
  .awb-photo { height: 195px; }
  body.awb-house-pricing .vbo-showprc-wrapper { padding: 14px; }
}
@media (max-width: 490px) {
  .awb-booking-ui { padding: 13px; border-radius: 10px; }
  .awb-photo { height: 165px; }
  .awb-card { padding: 18px 14px; }
  .awb-booking-ui .awb-native-form-target .vbo-search-inpblock-checkin,
  .awb-booking-ui .awb-native-form-target .vbo-search-inpblock-checkout { display: block; width: 100%; margin: 0 0 13px !important; }
  .awb-progress-name { font-size: 10px; }
  .awb-progress-item:not(:last-child):after { width: calc(100% - 34px); left: calc(50% + 17px); }
  body.awb-house-pricing .vbo-showprc-option-entry.awb-option-line { grid-template-columns: minmax(0,1fr) 82px; }
  body.awb-house-pricing .awb-option-label { font-size: 12px; }
  body.awb-house-checkout .awb-checkout-total-row { font-size: 13px; }
  body.awb-house-checkout .awb-checkout-total-row strong:last-child { font-size: 19px; }
}

/* If VikBooking offers only other rooms, do not show horse accommodation as
   alternatives to this house-only booking. The native search stays untouched. */
body.awb-house-search .awb-house-search-unavailable .vbo-results-body { display: none !important; }
body.awb-house-search .awb-search-unavailable { padding: 25px; margin: 12px 0; border-radius: 9px; border: 1px solid #e0e7df; background: #fff; }
body.awb-house-search .awb-search-unavailable p { margin: 0 0 14px !important; color: var(--awb-ink); font-weight: 700; }
body.awb-house-search .awb-search-unavailable a { color: var(--awb-green); text-decoration: underline; }
body.awb-house-flow .awb-hidden-child-count { display: none !important; }

/* v0.3.1 – compact, equal-width guest controls on one line. */
.awb-booking-ui .awb-guests-section {
  display: block !important; width: 100% !important; clear: both; margin: 14px 0 8px !important;
  padding: 12px 0 0; border-top: 1px solid var(--awb-line);
}
.awb-booking-ui .awb-guests-heading {
  color: var(--awb-ink); font-weight: 700; font-size: 13px; margin: 0 0 3px;
}
.awb-booking-ui .awb-guests-hint {
  font-size: 12px; color: var(--awb-muted); margin: 0 0 10px !important; line-height: 1.45;
}
.awb-booking-ui .awb-guests-section .awb-guests-grid {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important; width: 100% !important; margin: 0 0 8px !important;
}
.awb-booking-ui .awb-guests-section .awb-guest-field {
  grid-column: auto !important; display: flex !important; flex-direction: column !important;
  width: 100% !important; min-width: 0 !important; gap: 6px !important;
  align-items: stretch !important; justify-content: start !important;
  margin: 0 !important; padding: 0 !important; float: none !important;
}
.awb-booking-ui .awb-guests-section .awb-guest-field span {
  display: block !important; font-size: 12px !important; line-height: 1.45 !important;
  font-weight: 650 !important; margin: 0 !important; padding: 0 !important;
}
.awb-booking-ui .awb-guests-section .awb-guest-field .awb-number-field {
  display: block !important; width: 100% !important; min-width: 0 !important;
  max-width: none !important; text-align: left !important; margin: 0 !important;
  box-sizing: border-box !important;
}
.awb-booking-ui .awb-guests-section .awb-guest-feedback {
  display: block !important; font-size: 11px !important; margin: 0 0 3px !important;
}
.awb-quote-debug { margin: 5px 0 10px; font-size: 11px; color: #726147; }
.awb-quote-debug summary { cursor: pointer; text-decoration: underline; }
.awb-quote-debug .awb-quote-debug-detail { overflow-wrap: anywhere; margin: 4px 0 !important; }

/* v0.3.2 - required markers for the quiet-hours consent and business fields. */
body.awb-house-checkout .awb-required-star {
  color: #c0392b; font-weight: 700; flex: 0 0 auto;
  margin: 0 0 0 -3px; line-height: 1.45;
}
body.awb-house-checkout .awb-corporate-required {
  display: inline-block; color: #c0392b; margin-right: 4px;
}
body.awb-house-checkout .awb-corporate-required sup {
  font-size: 12px; position: static; vertical-align: baseline;
}

/* v0.3.3: House-only fallback for a failed native VikBooking reservation. */
body.awb-house-unavailable .vbstepsbarcont,
body.awb-house-unavailable #vbselectroomform.awb-legacy-search-hidden { display: none !important; }
body.awb-house-flow .awb-legacy-search-hidden { display: none !important; }
.awb-booking-ui.awb-unavailable .awb-grid { display: none !important; }
.awb-unavailable-panel { background: #fff; border-radius: 10px; border: 1px solid #dde6dc; padding: clamp(20px, 2.6vw, 30px); margin: 15px 0 24px; color: var(--awb-ink, #30483a); }
.awb-unavailable-panel h2 { margin: 0 0 11px; font-size: 20px; color: var(--awb-green, #365845); }
.awb-unavailable-panel p { line-height: 1.55; font-size: 14px; margin: 0 0 17px; }
.awb-unavailable-back { display: inline-flex; text-decoration: none !important; align-items: center; background: #365845; color: #fff !important; font-size: 13px; font-weight: 700; padding: 12px 16px; border-radius: 7px; }
.awb-unavailable-back:hover { background: #294b37; }

/* v0.3.3: customer sees payment schedule before confirming; native Mollie amount is untouched. */
body.awb-house-checkout .awb-payment-info { max-width: 1100px; margin: 0 auto 20px; padding: 17px 22px; background: #fff; border: 1px solid #dfe8de; border-radius: 9px; color: var(--awb-ink); }
body.awb-house-checkout .awb-payment-line { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 9px 0; }
body.awb-house-checkout .awb-payment-balance { border-top: 1px solid var(--awb-line); }
body.awb-house-checkout .awb-payment-label { display: flex; flex-direction: column; gap: 4px; line-height: 1.35; }
body.awb-house-checkout .awb-payment-label strong { font-size: 15px; }
body.awb-house-checkout .awb-payment-label small { font-size: 11px; color: var(--awb-muted); }
body.awb-house-checkout .awb-payment-value { font-size: 22px; font-variant-numeric: tabular-nums; color: var(--awb-green); }
body.awb-house-checkout .awb-payment-smallnote { margin: 8px 0 0 !important; font-size: 11px; color: var(--awb-muted); }
body.awb-house-checkout .awb-dry-run-button { display: block; max-width: 1100px; margin: 10px auto 8px !important; border: 1px dashed #365845; background: #f5f8f3; color: #365845; border-radius: 7px; padding: 9px 14px; font-size: 13px; font-weight: 700; }
body.awb-house-checkout .awb-dry-run-report { max-width: 1100px; margin: 8px auto 22px; padding: 17px; border: 1px dashed #365845; border-radius: 9px; background: #f6f9f5; }
body.awb-house-checkout .awb-dry-run-report[hidden] { display: none !important; }
body.awb-house-checkout .awb-dry-run-report h3 { font-size: 16px; margin: 0 0 10px !important; }
body.awb-house-checkout .awb-dry-run-row { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid #e3e9e0; gap: 12px; }
body.awb-house-checkout .awb-dry-run-report p { margin: 12px 0 0 !important; font-size: 12px; line-height: 1.5; }
@media(max-width: 490px) {
  body.awb-house-checkout .awb-payment-line { align-items: flex-start; }
  body.awb-house-checkout .awb-payment-value { font-size: 18px; text-align: right; }
}


/* v0.4.4 – presentation-only simplification on the two house price steps.
   Native VikBooking options, amounts, required inputs, hidden payment fields,
   vouchers, and Mollie integration are left untouched. */

/* Price and extras: guarantee is shown only *below* the stay total. */
body.awb-house-pricing .vbo-showprc-option-entry.awb-option-line.awb-option-guarantee {
  display: none !important;
}
body.awb-house-pricing .awb-pricing-separate-guarantee {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; margin-top: 11px; color: var(--awb-muted, #627267);
  font-size: 12px; line-height: 1.5;
}
body.awb-house-pricing .awb-pricing-separate-guarantee > span:last-child {
  font-weight: 650; color: var(--awb-muted, #627267); white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* Final confirmation: separate guarantee below the total, never within the
   room/options table. This targets the house-only checkout body class. */
body.awb-house-checkout .vbo-oconfirm-summary-option-row.awb-checkout-guarantee-row {
  display: none !important;
}

/* VikBooking still calculates tax internally. Hide only the NET and VAT
   columns from guests (including desktop headings and mobile labels). */
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper .vbo-oconfirm-summary-room-cell-net,
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper .vbo-oconfirm-summary-room-cell-tax {
  display: none !important;
}

/* Redistribute the now-four visible columns to avoid empty spaces from the
   original six-column hotel table. Scope to the one-house summary only. */
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-head,
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row {
  display: grid !important;
  grid-template-columns: minmax(0, 2.5fr) minmax(86px, 1fr) minmax(65px, .65fr) minmax(105px, 1.2fr);
  column-gap: 14px;
  align-items: center;
}
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-head > div,
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row > div {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  flex: none !important;
  float: none !important;
}
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper .vbo-oconfirm-summary-room-cell-tot {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper .vbo-oconfirm-summary-room-cell-descr {
  overflow-wrap: anywhere;
}

@media (max-width: 650px) {
  body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-head {
    display: none !important;
  }
  body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row {
    grid-template-columns: minmax(0, 1fr) minmax(100px, auto);
    row-gap: 8px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row > .vbo-oconfirm-summary-room-cell-descr {
    grid-column: 1;
  }
  body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row > .vbo-oconfirm-summary-room-cell-tot {
    grid-column: 2;
    grid-row: 1;
  }
  body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row > .vbo-oconfirm-summary-room-cell-guests,
  body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row > .vbo-oconfirm-summary-room-cell-nights {
    grid-column: 1 / -1;
    font-size: 12px;
  }
}

/* Keep this more specific than the generic four-column grid rules above. */
body.awb-house-checkout .vbo-oconfirm-summary-room-wrapper > .vbo-oconfirm-summary-room-row.awb-checkout-guarantee-row {
  display: none !important;
}

/* Hide the empty original VikBooking total panel only when our separately
   calculated display replaces its *sole* original price row. */
body.awb-house-checkout .vbo-oconfirm-summary-total-wrapper.awb-native-total-only {
  display: none !important;
}
