/* Keep the real TravelLine search form within the first screen. */
#block-search, #block-search * { box-sizing: border-box; }
#block-search {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1200px;
  margin-top: 24px;
  background: #fff;
  border-radius: 15px;
  color: #542619;
}
#tl-search-form { padding: 0 25px; margin: 0 auto; min-height: 100px; }
.booking-loading { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 100px; }
.booking-loading strong { font-size: 20px; }
.booking-loading a { color: #b34c00; }
html:has([id^="tl-lightbox-"]) { scroll-snap-type: none; }
@media (min-width: 1000px) {
  .booking-mobile-trigger { display: none; }
  #design .hero-content { width: min(100%, 1200px); }
  #design .hero-title { width: min(100%, 680px); max-height: min(36svh, 330px); object-fit: contain; object-position: left center; }
  #design .hero-slogan, #design .hero-desc, #design .dash-line { max-width: 680px; }
  #design .hero { padding-bottom: 42px; }
}
@media (min-width: 1000px) and (max-height: 700px) {
  #design .hero { padding-top: calc(var(--header-height) + 18px); padding-bottom: 24px; }
  #design .hero-title { max-height: clamp(120px, calc(100svh - 450px), 250px); }
  #design .hero-slogan { margin-top: 12px; font-size: 21px; }
  #design .dash-line { margin-block: 16px; }
  #design .hero-desc { font-size: 17px; line-height: 1.4; }
  #block-search { margin-top: 18px; }
}
@media (max-width: 999px) {
  /* Keep TravelLine's dialog and button handlers, hide only its floating launcher. */
  .x-tl-booking-widget-container { display: none !important; }
  #block-search { display: none; }
  #tl-search-form { padding: 0 14px; }
  .booking-loading { flex-direction: column; align-items: flex-start; padding: 18px 0; }
  .booking-loading strong { font-size: 17px; }
}
