/* Shared image geometry and keyboard/mobile usability for public templates. */
.property-picture { display: contents; }
.property-picture img { max-width: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.property-picture img.gallery-clickable { height: auto; }
.property-picture img.fixed-image { height: 180px; }
.mobile-hotel-slider .property-picture img { width: 100%; height: 260px; }
.mobile-menu { overflow-y: auto; overscroll-behavior: contain; height: 100dvh; visibility: hidden; }
.mobile-menu.open { visibility: visible; }
.mobile-menu a { min-height: 44px; }
:focus-visible { outline: 3px solid #ae6800; outline-offset: 3px; }
.date-circle { border: 0; padding: 0; flex-shrink: 0; }
.search-section { min-width: 0; }
#checkInCircles { gap: 2px; }
@media (min-width: 992px) {
    .search-bar { display: grid; grid-template-columns: minmax(90px, 1fr) 250px minmax(135px, 1fr) minmax(90px, .7fr) minmax(125px, 1fr) 50px; gap: 0; }
    .search-section { padding: 10px 12px; }
    .search-section.calander-background { min-width: 250px; }
}
@media (min-width: 992px) and (max-width: 1399.98px) {
    .my-container { max-width: 95%; }
}
.mobile-result-title { overflow-wrap: anywhere; font-size: 1rem; }
@media (max-width: 991.98px) {
    input:not([type=checkbox]):not([type=radio]), select, textarea { font-size: 16px !important; }
    .delasto-footer { padding: 2rem 1rem 6rem !important; overflow-wrap: anywhere; }
    #floatingShowMapBtn { z-index: 1030 !important; }
    .mobile-menu button, .offcanvas button { min-height: 44px; }
    .card-body { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .mobile-menu, .floating-cta { transition: none; }
}
