/* Authoritative layout for inc/booking-search-form.php on every booking page.
   Only layout lives here; endpoint codes, dates and booking state stay in JS/PHP. */
/* Cùng khung 1200px với phần còn lại của trang; 1480px làm ô tìm vé giãn dài trên màn hình lớn. */
.hvr-page .hvr-hero > .hvr-shell:has(.hvb-search-form) { width: min(1200px,calc(100% - 48px)); }
.hvr-page.hvrt-page .hvb-search-form[data-hvrt-search] {
 display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-areas:none;
 gap:8px; padding:12px; align-items:center; border-radius: 16px;
}
.hvr-page.hvrt-page .hvb-search-form .hvr-field,
.hvr-page.hvrt-page .hvb-search-form .hvb-mode-control {
 min-width:0; margin:0; padding:4px 6px; border:0; grid-column:auto; grid-row:auto; align-content:start;
}
.hvr-page.hvrt-page .hvb-search-form label,
.hvr-page.hvrt-page .hvb-search-form .hvr-field-label {
 display:block; margin:0 0 4px; min-height:16px; font-size:11px; line-height:16px; letter-spacing:.025em;
}
.hvr-page.hvrt-page .hvb-search-form input:not([type=radio]),
.hvr-page.hvrt-page .hvb-search-form select {
 width:100%; min-width:0; height:44px; min-height:44px; margin:0; padding:0 18px 0 0;
 font-family:inherit; font-size:16px; font-weight: 500; line-height:1.35; background-color:transparent;
 border:0; border-radius:0; box-shadow:none;
}
.hvr-page.hvrt-page .hvb-search-form input[type=date] { padding-right:0; }
.hvr-page.hvrt-page .hvb-search-form input[readonly] { padding-right:0; }
.hvr-page.hvrt-page .hvb-search-form .hvr-return-field,
.hvr-page.hvrt-page .hvb-search-form .hvrt-return-endpoints { display:contents; }
.hvr-page.hvrt-page .hvb-search-form [hidden] { display:none !important; }
.hvr-page.hvrt-page .hvb-search-form .hvb-mode-control { grid-area:return; padding-inline:0; }
.hvr-page.hvrt-page .hvb-search-form .hvb-return-date { grid-area:backdate; }
.hvr-page.hvrt-page .hvb-search-form .hvrt-return-endpoints > :first-child { grid-area:backfrom; }
.hvr-page.hvrt-page .hvb-search-form .hvrt-return-endpoints > :last-child { grid-area:backto; }
.hvr-page.hvrt-page .hvb-search-form [data-hvrt-inline-toggle] {
 min-height:44px; margin:0; padding:0; border:0; background:transparent; box-shadow:none;
 gap:6px; font-size:15px; letter-spacing:0; text-transform:none;
}
.hvb-search-form .hvr-trip-switch-track { transform:scale(.86); transform-origin:left center; margin-right:-7px; }
.hvr-page.hvrt-page .hvb-search-form > .hvr-search-submit {
 grid-area:submit; align-self:center; min-width:0; width:100%; height:52px; min-height:52px; margin:0;
 padding:10px 8px; font-size:16px; line-height:1.25; white-space:normal;
}
.hvr-page.hvrt-page .hvb-search-form > .hvr-field-from { grid-area:from; }
.hvr-page.hvrt-page .hvb-search-form > .hvr-field-to { grid-area:to; }
.hvr-page.hvrt-page .hvb-search-form > .hvr-field-date { grid-area:date; }
.hvr-page.hvrt-page .hvb-search-form > .hvr-field-guests { grid-area:guests; }
.hvr-page.hvrt-page .hvb-search-form > .hvr-swap {
 grid-area:swap; width:28px; height:28px; min-width:28px; min-height:28px;
 align-self:center; justify-self:center; margin:16px 0 0; position:static; font-size:18px;
}
.hvr-page.hvrt-page .hvb-search-form.hvr-search-unified {
 grid-template-columns:minmax(0,1.5fr) 28px minmax(0,1.5fr) minmax(0,1.1fr) minmax(76px,.7fr) minmax(64px,.5fr) 110px;
 grid-template-areas:"from swap to date return guests submit";
}
.hvr-page.hvrt-page.hvrt-inline-roundtrip .hvb-search-form.hvr-search-unified {
 grid-template-columns:minmax(0,1.3fr) 28px minmax(0,1.2fr) minmax(118px,1.1fr) 76px minmax(118px,1.1fr) minmax(0,1.3fr) minmax(0,1.3fr) 60px 94px;
 grid-template-areas:"from swap to date return backdate backfrom backto guests submit";
 gap:5px;
}
/* Dedicated round-trip forms keep their direction/pair controls, using the same field sizing. */
.hvr-page.hvrt-page .hvb-search-form:not(.hvr-search-unified) {
 grid-template-columns:repeat(4,minmax(0,1fr));
 grid-template-areas:"direction direction pair pair" "date backdate backfrom backto" "guests guests submit submit";
}
.hvr-page.hvrt-page .hvb-search-form:not(.hvr-search-unified):not(:has(.hvrt-pair-field)) {
 grid-template-areas:"direction direction guests submit" "date backdate backfrom backto";
}
.hvr-page.hvrt-page .hvb-search-form > .hvrt-direction { grid-area:direction; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.hvr-page.hvrt-page .hvb-search-form > .hvrt-pair-field { grid-area:pair; }
.hvr-page.hvrt-page .hvb-search-form .hvrt-direction label { margin:0; }
@media(min-width:1400px) {
 .hvr-page.hvrt-page .hvb-search-form:not(.hvr-search-unified) {
  grid-template-columns:210px minmax(280px,1.8fr) 125px 125px minmax(120px,1fr) minmax(150px,1.2fr) 60px 94px;
  grid-template-areas:"direction pair date backdate backfrom backto guests submit";
 }
 .hvr-page.hvrt-page .hvb-search-form:not(.hvr-search-unified):not(:has(.hvrt-pair-field)) {
  grid-template-columns:minmax(0,2fr) 140px 140px minmax(0,1.2fr) minmax(0,1.2fr) 60px 100px;
  grid-template-areas:"direction date backdate backfrom backto guests submit";
 }
}
@media(max-width:1200px) {
 .hvr-page.hvrt-page .hvb-search-form.hvr-search-unified,
 .hvr-page.hvrt-page.hvrt-inline-roundtrip .hvb-search-form.hvr-search-unified {
  grid-template-columns:repeat(12,minmax(0,1fr)); gap:8px;
  grid-template-areas:"from from from from from swap swap to to to to to" "date date date date return return return guests guests submit submit submit";
 }
 .hvr-page.hvrt-page.hvrt-inline-roundtrip .hvb-search-form.hvr-search-unified {
  grid-template-areas:"from from from from from swap swap to to to to to" "date date date date return return return return backdate backdate backdate backdate" "backfrom backfrom backfrom backfrom backto backto backto backto guests guests submit submit";
 }
}
/* Bật khứ hồi là thêm 4 ô nữa vào cùng một hàng: dưới 1500px thì ô điểm đi/điểm
   đến bị bóp còn vài chữ ("Quận 1 – Phòn…"). Xuống hàng như bản hẹp cho dễ đọc. */
@media(min-width:1201px) and (max-width:1500px) {
 .hvr-page.hvrt-page.hvrt-inline-roundtrip .hvb-search-form.hvr-search-unified {
  grid-template-columns:repeat(12,minmax(0,1fr)); gap:8px;
  grid-template-areas:"from from from from from swap swap to to to to to" "date date date date return return return return backdate backdate backdate backdate" "backfrom backfrom backfrom backfrom backto backto backto backto guests guests submit submit";
 }
}
@media(max-width:700px) {
 .hvr-page.hvrt-page .hvb-search-form:not(.hvr-search-unified),
 .hvr-page.hvrt-page .hvb-search-form:not(.hvr-search-unified):not(:has(.hvrt-pair-field)) {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:"direction direction" "pair pair" "date backdate" "backfrom backfrom" "backto backto" "guests submit";
 }
}
@media(max-width:560px) {
 .hvr-page .hvr-hero > .hvr-shell:has(.hvb-search-form) { width:calc(100% - 28px); }
 .hvr-page.hvrt-page .hvb-search-form.hvr-search-unified,
 .hvr-page.hvrt-page.hvrt-inline-roundtrip .hvb-search-form.hvr-search-unified {
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:10px;
  grid-template-areas:"from from" "to to" "date date" "return guests" "submit submit";
 }
 .hvr-page.hvrt-page.hvrt-inline-roundtrip .hvb-search-form.hvr-search-unified {
  grid-template-areas:"from from" "to to" "date backdate" "backfrom backfrom" "backto backto" "return guests" "submit submit";
 }
 .hvr-page.hvrt-page .hvb-search-form > .hvr-swap { grid-area:from; justify-self:end; align-self:end; margin:0 4px -15px 0; position:relative; z-index:2; }
 .hvr-page.hvrt-page .hvb-search-form > .hvr-field-from { padding-right:34px; }
 .hvr-page.hvrt-page .hvb-search-form .hvr-field,
 .hvr-page.hvrt-page .hvb-search-form .hvb-mode-control { padding:4px; }
 .hvr-page.hvrt-page .hvb-search-form input[type=date] { font-size:15px; }
 .hvr-page.hvrt-page:has(> .hvr-sticky) { padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
}
