/* Native ZaK, with the site's typography and a presentation-only date layer. */
#booking-widget .kw_container { padding: 0; width: 100%; max-width: none; background: transparent; font-family: 'DM Sans', Arial, sans-serif; }
#booking-widget .kw_wrapper { max-width: none; width: 100%; }
#booking-widget .kw_book { background: #eee9df; padding: 12px; border-radius: 8px; width: 100%; }
#booking-widget .kw_grid.kw_grid-match > div { width: 100%; min-width: 0; }
#booking-widget .kw_book { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 12px; margin: 0; }
#booking-widget .kw_book__item { padding: 0; min-width: 0; width: 100%; }
#booking-widget .kw_section { gap: 10px; margin: 0; width: 100%; }
#booking-widget .kw_section__item { margin: 0; min-width: 0; }
#booking-widget .kw_form_dates { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; max-height: none; }
#booking-widget .kw_section__item_dates { flex: 1 1 auto; }
#booking-widget .kw_form_dates__checkin, #booking-widget .kw_form_dates__chekcout, #booking-widget .kw_form_occ { background: #fcfaf6; color: #203436; border: 1px solid #c5d0ce; border-radius: 6px; box-shadow: none; }
#booking-widget .kw_block { padding: 12px; }
#booking-widget .kw_block__head { font: 600 11px/1.4 'DM Sans', Arial, sans-serif; color: #566460; text-align: left; }
#booking-widget .kw_block__content { margin: 4px 0 0; font: 500 18px/1.4 'DM Sans', Arial, sans-serif; color: #203436; }
#booking-widget .booking-date-display { position: relative; min-height: 30px; }
#booking-widget .booking-date-display .kw_form_dates__input { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; max-width: none; opacity: 0; cursor: pointer; }
#booking-widget .booking-date-label { display: block; font: 600 22px/1.35 'Cormorant Garamond', Georgia, serif; white-space: nowrap; pointer-events: none; }
#booking-widget .kw_form_dates__checkin:focus-within, #booking-widget .kw_form_dates__chekcout:focus-within, #booking-widget [role=button]:focus-visible { outline: 3px solid #8c572c; outline-offset: 2px; }
#booking-widget .kw_form_occ { min-height: 76px; width: 100%; }
#booking-widget .kw_form_occ .kw_block__column { padding: 0 6px; }
#booking-widget .kw_form_occ .kw_block__column .kw_block__head { display: block; }
#booking-widget .kw_form_discount { border: 1px solid #c5d0ce; border-radius: 6px; background: #fcfaf6; color: #203436; flex: 1 1 140px; }
#booking-widget .kw_form_discount .kw_block__content { display: block; }
#booking-widget .kw_form_discount .kw_form_icon { display: none; }
#booking-widget .kw_form_discount input.kw_input { color: #203436; background: #fff; width: 100%; min-width: 0; max-width: 100%; height: 32px; border: 0; border-bottom: 1px solid #9aa9a5; font: 16px/1.4 'DM Sans',Arial,sans-serif; }
#booking-widget .kw_section--margin_top_remove_items { flex: 1 1 170px; width: auto; }
#booking-widget .kw_book_button { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 76px; border-radius: 6px; box-shadow: none; background: #173e43; color: #fcfaf6; cursor: pointer; }
#booking-widget .kw_book_button .kw_block__head { color: #fcfaf6; text-align: center; font-size: 15px; text-transform: none; }
#booking-widget .kw_book_button .kw_block__content:empty { display: none; }
#booking-widget .kw_book_button:hover { background: #27565b; }
#booking-widget .kw_book_button__new_line { display: none; }
#booking-widget .kw_ota_price { display: none !important; }
#booking-widget .kw_form_occ__rooms { padding: 10px; }
#booking-widget .kw_form_occ__details { padding: 10px 6px; }
@media(max-width:1023px) {
 #booking-widget .kw_book { display: grid; grid-template-columns: 1fr; }
 #booking-widget .kw_book__item + .kw_grid__item { margin-top: 0; }
 #booking-widget .kw_section { display: flex; flex-wrap: wrap; }
 #booking-widget .kw_section__item_dates, #booking-widget .js_kw_bwidget_occ { flex: 1 0 100%; width: 100%; }
 #booking-widget .kw_form_dates__checkin, #booking-widget .kw_form_dates__chekcout { width: auto; }
 #booking-widget .kw_form_occ { justify-content: space-between; min-height: 64px; }
 #booking-widget .kw_form_discount, #booking-widget .kw_section--margin_top_remove_items { flex: 1 0 100%; width: 100%; }
 #booking-widget .kw_book_button { min-height: 54px; }
 #booking-widget .kw_form_discount .kw_block { display: flex; align-items: center; gap: 12px; }
 #booking-widget .kw_form_discount .kw_block__head { flex: 0 0 90px; }
 #booking-widget .kw_form_discount .kw_block__content { flex: 1 1 auto; min-width: 0; margin: 0; }
}
@media(max-width:375px) {
 #booking-widget .kw_book { padding: 8px; }
 #booking-widget .kw_block { padding: 10px 8px; }
 #booking-widget .booking-date-label { font-size: 20px; }
}

@media(max-width:700px) {
 .mobile-actions { padding: 7px 8px max(7px, env(safe-area-inset-bottom)); gap: 6px; }
 .mobile-actions a, .mobile-actions > a:not(.button) { display: flex; flex: 1 1 0; flex-direction: column; justify-content: center; align-items: center; gap: 2px; margin: 0; padding: 4px; font-size: 11px; line-height: 1.2; text-decoration: none; min-width: 0; height: 48px; }
 .mobile-actions a:first-child, .mobile-actions > .button { flex: 1.25 1 0; margin: 0; font-size: 12px; padding: 6px; min-height: 48px; border-radius: 4px; }
 .mobile-actions .icon { width: 18px; height: 18px; }
 .chat-launcher, .chat-link { bottom: 78px; right: 12px; border-radius: 50%; width: 44px; height: 44px; background: #173e43; color: white; box-shadow: 0 2px 10px #173e4322; }
 body.booking-in-view .mobile-actions { visibility: hidden; pointer-events: none; }
}

/* Keep fixed chat controls clear of the native booking form at every width. */
body.booking-in-view .chat-launcher, body.booking-in-view .chat-link { visibility: hidden; pointer-events: none; }

/* The provider can calculate a negative top in a short landscape viewport. */
@media(max-height:500px) {
 #js_nebk_ui_daepicker { top: 8px !important; max-height: calc(100vh - 16px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
}

/* Older engines keep a usable single-column form when modern Grid is unavailable. */
.legacy-layout #booking-widget .kw_book, .legacy-layout #booking-widget .kw_section, .legacy-layout #booking-widget .kw_form_dates { display: block; }
.legacy-layout #booking-widget .kw_book__item, .legacy-layout #booking-widget .kw_section__item, .legacy-layout #booking-widget .kw_form_dates__checkin, .legacy-layout #booking-widget .kw_form_dates__chekcout { width: 100%; margin: 0 0 10px; float: none; }
