.sticky-contact-actions, .mobile-contact-bar { display: none; }
.contact-icon-link { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #e3e1d9; border-radius: 50%; color: #303a2b; background: #fbfaf7; transition: background .18s, border-color .18s; }
.contact-icon-link svg { width: 20px; height: 20px; }
.contact-icon-link:hover { background: #f0eee4; border-color: #b8beaa; }
.contact-icon-link:focus-visible, .mobile-contact-bar a:focus-visible { outline: 2px solid #68764e; outline-offset: 3px; }
@media (min-width: 761px) {
 .is-booking-sticky .sticky-contact-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
}
@media (min-width: 761px) and (max-width: 1050px) {
 .is-booking-sticky .navigation { gap: 12px; }
 .is-booking-sticky .search-segment { padding-inline: 11px; gap: 6px; }
 .is-booking-sticky .search-segment>span { font-size: 14px; }
 .is-booking-sticky .search-segment .compact-search-icon { width: 27px; height: 27px; }
 .is-booking-sticky .sticky-contact-actions { gap: 5px; }
}
@media (max-width: 760px) {
 :root { --mobile-contact-height: calc(62px + env(safe-area-inset-bottom, 0px)); }
 html { scroll-padding-bottom: calc(var(--mobile-contact-height) + 16px); }
 body { padding-bottom: var(--mobile-contact-height); }
 .mobile-contact-bar { display: flex; position: fixed; inset: auto 0 0; z-index: 85; height: var(--mobile-contact-height); padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); border-top: 1px solid #d8d1c2; background: #e8e2d6fa; box-shadow: 0 -4px 20px #252b2308; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
 .mobile-contact-bar a { display: flex; justify-content: center; align-items: center; gap: 11px; flex: 1; min-width: 0; min-height: 44px; color: #2b3428; border-radius: 8px; }
 .mobile-contact-bar a+a { border-left: 1px solid #cfc9ba; border-radius: 0 8px 8px 0; }
 .contact-bar-icon { display: grid; place-items: center; width: 30px; height: 34px; flex-shrink: 0; }
 .contact-bar-icon svg { width: 22px; height: 22px; }
 .mobile-contact-bar small { display: block; color: #747769; font: 400 10px/1.3 var(--body); letter-spacing: .025em; }
 .mobile-contact-bar strong { display: block; font: 500 14px/1.45 var(--body); white-space: nowrap; }
 .mobile-contact-bar a:active { background: #efede4; }
 .search-popover, .is-booking-sticky .search-popover { bottom: calc(var(--mobile-contact-height) + 12px); max-height: calc(100dvh - var(--mobile-contact-height) - 156px); }
 .date-fields label, .date-fields input { min-width: 0; }
 .popover-close { flex-shrink: 0; }
 .mobile-menu:not([hidden]) { max-height: calc(100dvh - var(--mobile-contact-height) - 88px); }
 .is-booking-sticky .mobile-menu:not([hidden]) { max-height: calc(100dvh - var(--mobile-contact-height) - 132px); }
}
@media (max-width: 370px) {
 .date-fields { gap: 7px; }
 .date-fields label { padding-inline: 6px; font-size: 10px; }
 .date-fields input { font-size: 12px; }
 .calendar-footer .button { padding-inline: 11px; font-size: 13px; }
 .calendar-footer>button:first-child { font-size: 12px; }
}
