/* Keep touch navigation independent from third-party booking widget layout. */
@media (max-width: 760px) {
  html { scroll-behavior: auto; }
}

.booking-widget__settings {
  display: block;
  margin-top: 20px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: #77736c;
  font: inherit;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.booking-widget__fallback a { color: #d35f20; }
.booking-widget__fallback button { margin: 8px 12px 8px 0; }

/* Native HomeReserve dates/guests search, above the apartment catalogue. */
.booking-search { margin: 0 0 28px; padding: 24px; border: 1px solid #e7e0d6; border-radius: 14px; background: #fff; }
.booking-search > h3 { margin: 0 0 8px; color: #18222a; font: 600 24px/1.3 Arial, sans-serif; letter-spacing: 0; }
.booking-search > p { margin: 0 0 20px; color: #68645d; font: 16px/1.5 Arial, sans-serif; }
.booking-search #hr-widget { width: 100%; min-width: 0; }
.booking-search #hr-widget[hidden] { display: none !important; }
@media (max-width: 760px) {
  .booking-search { padding: 18px 14px; margin-bottom: 22px; }
  .booking-search > h3 { font-size: 21px; }
  .booking-search #hr-widget .search__container { display: flex; flex-direction: column; gap: 0; }
  .booking-search #hr-widget .search__calendar { width: 100%; }
  .booking-search #hr-widget .select__input_last.hide-mobile { display: flex !important; width: 100%; min-height: 56px; border-radius: 0; border-top: 1px solid #eee; }
  .booking-search #hr-widget .search__input-button.hide-mobile { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 50px; border-radius: 0 0 8px 8px; }
}

/* A first-party preview remains usable if the booking provider is slow/offline. */
.catalog-preview[hidden] { display: none !important; }
.catalog-preview__note { margin: 16px 0 22px; color: #68645d; font-size: 14px; line-height: 1.6; }
.catalog-preview__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.catalog-preview__card { min-width: 0; overflow: hidden; border: 1px solid #e7e3dd; border-radius: 12px; background: #fff; }
.catalog-preview__card > a { display: block; height: 100%; color: #18222a; text-decoration: none; }
.catalog-preview__card img { display: block; width: 100%; height: 220px; object-fit: cover; background: #eae5df; }
.catalog-preview__body { padding: 20px; }
.catalog-preview__body h3 { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 0 0 12px; min-height: 2.7em; font-family: Arial, sans-serif; font-size: 20px; font-weight: 600; line-height: 1.35; letter-spacing: 0; }
.catalog-preview__address { margin: 0 0 10px; font-size: 15px; line-height: 1.5; }
.catalog-preview__facts { margin: 0 0 18px; color: #68645d; font-size: 14px; line-height: 1.5; }
.catalog-preview__button { display: inline-block; padding: 12px 18px; border-radius: 6px; background: #ee7930; color: white; font-size: 14px; font-weight: 600; line-height: 1.4; }
.catalog-preview__card a:hover .catalog-preview__button { background: #d96422; }
.catalog-preview__card a:focus-visible { outline: 3px solid #ed7830; outline-offset: -3px; }
@media (max-width: 760px) {
  .catalog-preview__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .catalog-preview__body { padding: 16px; }
  .catalog-preview__body h3 { font-size: 18px; }
  .catalog-preview__card img { height: auto; aspect-ratio: 3 / 2; }
  .catalog-preview__button { display: block; text-align: center; }
}
