/* OWNER UI LOCK v1 — visual-only layer for the existing transfer form. */
:root {
	--th-transfer-navy: #082d51;
	--th-transfer-blue: #087fb9;
	--th-transfer-teal: #118e82;
	--th-transfer-gold: #ffb118;
	--th-transfer-ink: #102b42;
	--th-transfer-muted: #657889;
	--th-transfer-line: #dce5ec;
	--th-transfer-canvas: #f5f8fb;
}

/* Home: make the brand image and statement lead, then let the unified panel
   overlap the image by a controlled amount instead of taking over the hero. */
.th-home .th-home-hero,
.th-home .th-home-hero__inner { min-block-size: min(640px, 56vw); }
.th-home .th-home-hero__inner { padding-block: clamp(64px, 8vw, 112px) clamp(108px, 12vw, 164px); }
.th-home .th-home-hero__title { max-inline-size: 16ch; font-family: var(--th-font); font-size: clamp(2.65rem, 4.5vw, 4.25rem); }
.th-home .th-home-hero__lede { max-inline-size: 40rem; font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.th-home .th-home-hero__actions { margin-block-start: 24px; }
.th-home .th-home-opening .thh-search { margin-block-start: -72px; }
.th-home .thh-search__panel { max-inline-size: 1250px; margin-inline: auto; padding: 24px 28px 26px; border: 1px solid rgba(8,45,81,.11); border-radius: 22px; background: #fff; box-shadow: 0 22px 54px rgba(5,28,51,.19); }
.th-home .thh-search__tabs { gap: 8px; margin-block-end: 18px; }
.th-home .thh-search__tab { min-block-size: 42px; padding: 9px 18px; border-color: #dce5ec; border-radius: 999px; color: var(--th-transfer-navy); }
.th-home .thh-search__tab.is-active { border-color: var(--th-transfer-navy); background: var(--th-transfer-navy); color: #fff; }
.th-home .th-home-transfer-form { color: var(--th-transfer-ink); }
.th-home .th-home-transfer-form .thtz-search { grid-template-columns: 1.1fr 1fr 1.35fr 1fr 1fr; align-items: end; gap: 12px; }
.th-home .th-home-transfer-form .thtz-field,
.th-home .th-home-transfer-form .thtz-hotel { min-inline-size: 0; gap: 0; }
.th-home .th-home-transfer-form .thtz-search > .thtz-field > span:first-child,
.th-home .th-home-transfer-form .thtz-hotel > label { position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.th-home .th-home-transfer-form input,
.th-home .th-home-transfer-form select { inline-size: 100%; min-inline-size: 0; min-block-size: 52px; padding: 0 14px; border: 1px solid var(--th-transfer-line); border-radius: 10px; background-color: #fff; color: var(--th-transfer-ink); font: 500 15px/1.3 var(--th-font, inherit); box-shadow: 0 1px 2px rgba(16,43,66,.03); }
.th-home .th-home-transfer-form input:focus-visible,
.th-home .th-home-transfer-form select:focus-visible { outline: 3px solid rgba(8,127,185,.24); outline-offset: 1px; border-color: var(--th-transfer-blue); }
.th-home .th-home-transfer-form .thtz-hotel { position: relative; }
.th-home .th-home-transfer-form .thtz-search > .thtz-return { grid-column: 1/-1; }
.th-home .th-home-transfer-form .thtz-return:not([hidden]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.th-home .th-home-transfer-form .thtz-search > .thtz-party { grid-column: 1 / 3; }
.th-home .th-home-transfer-form .thtz-search > .thtz-seats { grid-column: 3 / 5; }
.th-home .th-home-transfer-form .thtz-search > .thtz-button { grid-column: 5 / 6; justify-self: stretch; min-block-size: 50px; margin-block-start: 0; padding: 0 18px; border: 0; border-radius: 10px; background: var(--th-transfer-teal); color: #fff; font: 700 15px/1.2 var(--th-font, inherit); box-shadow: 0 8px 20px rgba(17,142,130,.2); }
.th-home .th-home-transfer-form .thtz-search > .thtz-button:hover { background: #0d766d; }
.th-home .th-home-transfer-form .thtz-search > .thtz-button:focus-visible { outline: 3px solid rgba(8,127,185,.35); outline-offset: 3px; }
.th-home .thh-search__hint { margin-block-start: 12px; color: var(--th-transfer-muted); }
.th-home .thh-search__hint a { color: var(--th-transfer-blue); }

/* Shared enhanced disclosures and steppers. No business field is removed. */
.thtz-disclosure { position: relative; min-inline-size: 0; min-block-size: 0; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.thtz-entry fieldset.thtz-disclosure { grid-column: auto; display: block; min-block-size: 0; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.thtz-disclosure--party.is-open > .thtz-disclosure-content--party { position: relative; z-index: 2; inline-size: 100%; }
.thtz-disclosure > legend { position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.thtz-disclosure-toggle { display: grid; grid-template-columns: minmax(0,1fr) auto 16px; align-items: center; gap: 6px 12px; inline-size: 100%; min-block-size: 52px; padding: 9px 14px; border: 1px solid var(--th-transfer-line); border-radius: 12px; background: #fff; color: var(--th-transfer-ink); text-align: start; cursor: pointer; }
.thtz-disclosure-toggle:hover { border-color: #9eb7c9; background: #fbfdff; }
.thtz-disclosure-toggle:focus-visible { outline: 3px solid rgba(8,127,185,.26); outline-offset: 2px; }
.thtz-disclosure-title { font-size: 14px; font-weight: 700; }
.thtz-disclosure-summary { min-inline-size: 0; color: var(--th-transfer-muted); font-size: 12px; line-height: 1.35; text-align: end; }
.thtz-disclosure-chevron { color: var(--th-transfer-blue); font-size: 20px; line-height: 1; transition: transform .18s ease; }
.thtz-disclosure-toggle[aria-expanded="true"] .thtz-disclosure-chevron { transform: rotate(180deg); }
.thtz-disclosure-content[hidden],
.thtz-entry fieldset.thtz-disclosure > .thtz-disclosure-content[hidden] { display: none !important; visibility: hidden !important; inline-size: 0 !important; block-size: 0 !important; min-block-size: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.thtz-disclosure-content { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-block-start: 10px; padding: 14px; border: 1px solid var(--th-transfer-line); border-radius: 14px; background: #fff; box-shadow: 0 16px 36px rgba(5,28,51,.11); }
.thtz-seats .thtz-disclosure-content { grid-template-columns: repeat(3,minmax(0,1fr)); }
.thtz-disclosure-content .thtz-field { min-inline-size: 0; gap: 7px; color: var(--th-transfer-ink); font-size: 13px; font-weight: 600; }
.thtz-number-control { display: grid; grid-template-columns: 38px minmax(0,1fr) 38px; align-items: center; inline-size: 100%; min-block-size: 42px; overflow: hidden; border: 1px solid var(--th-transfer-line); border-radius: 10px; background: #fff; }
.thtz-number-control input[type="number"] { min-inline-size: 0; inline-size: 100%; min-block-size: 40px; padding: 0 4px; border: 0; border-radius: 0; background: #fff; color: var(--th-transfer-ink); text-align: center; font: 700 15px/1.2 var(--th-font, inherit); appearance: textfield; }
.thtz-number-control input[type="number"]::-webkit-inner-spin-button,
.thtz-number-control input[type="number"]::-webkit-outer-spin-button { margin: 0; appearance: none; }
.thtz-number-control input[type="number"]:focus-visible { outline: 0; box-shadow: inset 0 0 0 2px rgba(8,127,185,.35); }
.thtz-stepper-button { display: grid; place-items: center; align-self: stretch; min-inline-size: 38px; padding: 0; border: 0; background: #f3f7fa; color: var(--th-transfer-navy); font: 600 21px/1 var(--th-font, inherit); cursor: pointer; }
.thtz-stepper-button:hover:not(:disabled) { background: #e7f1f7; }
.thtz-stepper-button:focus-visible { outline: 2px solid var(--th-transfer-blue); outline-offset: -3px; }
.thtz-stepper-button:disabled { color: #a8b4bd; cursor: not-allowed; }
.thtz-field-error { display: block; margin-block-start: 6px; color: #a43834; font-size: 12px; font-weight: 600; line-height: 1.4; }
.thtz-field-error[hidden] { display: none !important; }
.thtz-entry [aria-invalid="true"] { border-color: #bd4b46 !important; box-shadow: 0 0 0 2px rgba(189,75,70,.12); }
.thtz-disclosure--seats .thtz-disclosure-toggle { grid-template-columns: minmax(0,1fr) auto 16px; }
.thtz-disclosure--seats .thtz-disclosure-title { color: var(--th-transfer-blue); }
.thtz-disclosure--seats.is-open .thtz-disclosure-title { color: var(--th-transfer-ink); }

/* Booking page: retain global chrome, replace the isolated beige presentation
   with the common canvas, container and card language. */
.th-page[data-travelhub-surface="transfer"] { min-block-size: 60vh; padding-block-end: clamp(40px,6vw,80px); background: var(--th-transfer-canvas); color: var(--th-transfer-ink); }
.th-page[data-travelhub-surface="transfer"] .th-page__hero { display: none; }
.th-page[data-travelhub-surface="transfer"] .th-page__grid { display: block; max-inline-size: 1250px; padding-block-start: clamp(26px,4vw,48px); }
.th-page[data-travelhub-surface="transfer"] .th-page__card { padding: 0; overflow: visible; border: 1px solid rgba(8,45,81,.10); border-radius: 22px; background: #fff; box-shadow: 0 18px 52px rgba(5,28,51,.08); }
.th-page[data-travelhub-surface="transfer"] .th-page__contact { display: none; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry { color: var(--th-transfer-ink); }
.th-page[data-travelhub-surface="transfer"] .thsx-shell__head { padding: clamp(24px,4vw,42px) clamp(20px,4vw,48px) 16px; background: linear-gradient(120deg,#fff 0%,#f6fafc 100%); border-radius: 22px 22px 0 0; }
.th-page[data-travelhub-surface="transfer"] .thsx-shell__head .thc-wrap,
.th-page[data-travelhub-surface="transfer"] .thsx-shell__body > .thc-wrap { inline-size: min(100%, 1250px); margin-inline: auto; padding-inline: 0; }
.th-page[data-travelhub-surface="transfer"] .thsx-shell__title { margin: 0 0 8px; color: var(--th-transfer-navy); font: 750 clamp(1.8rem,3.2vw,2.6rem)/1.15 var(--th-font, inherit); letter-spacing: -.025em; }
.th-page[data-travelhub-surface="transfer"] .thsx-shell__intro { max-inline-size: 62ch; margin: 0; color: var(--th-transfer-muted); font-size: 16px; line-height: 1.6; }
.th-page[data-travelhub-surface="transfer"] .thsx-shell__body { padding: 0 clamp(20px,4vw,48px) clamp(24px,4vw,48px); background: #fff; border-radius: 0 0 22px 22px; }
.th-page[data-travelhub-surface="transfer"] .thtz-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 10px clamp(14px,2vw,30px); margin: 0 0 26px; padding: 0 0 20px; border-block-end: 1px solid #e8eef2; list-style: none; counter-reset: th-transfer-step; color: #7c8b97; font-size: 14px; }
.th-page[data-travelhub-surface="transfer"] .thtz-steps li { display: inline-flex; align-items: center; gap: 8px; opacity: 1; color: #7c8b97; font-weight: 500; }
.th-page[data-travelhub-surface="transfer"] .thtz-steps li::before { content: counter(th-transfer-step); counter-increment: th-transfer-step; display: inline-grid; place-items: center; inline-size: 26px; block-size: 26px; border: 1px solid #d5dfe6; border-radius: 50%; background: #f3f6f8; color: #617483; font-size: 12px; font-weight: 700; }
.th-page[data-travelhub-surface="transfer"] .thtz-steps li.is-current { color: var(--th-transfer-navy); font-weight: 700; }
.th-page[data-travelhub-surface="transfer"] .thtz-steps li.is-current::before { border-color: var(--th-transfer-navy); background: var(--th-transfer-navy); color: #fff; }
.th-page[data-travelhub-surface="transfer"] .thtz-steps li.is-done { color: #117a70; font-weight: 700; }
.th-page[data-travelhub-surface="transfer"] .thtz-steps li.is-done::before { border-color: var(--th-transfer-teal); background: var(--th-transfer-teal); color: #fff; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry form.thtz-search { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); align-items: end; gap: 16px; margin: 0; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-field,
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-hotel { min-inline-size: 0; gap: 7px; color: var(--th-transfer-ink); font-size: 13px; font-weight: 650; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field > span:first-child,
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-hotel > label { display: block; margin: 0; color: #40596c; font-size: 13px; font-weight: 650; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field:nth-child(1),
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field:nth-child(2) { grid-column: span 3; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field:nth-child(1) { grid-column: span 4; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-hotel { grid-column: span 5; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field:nth-child(4),
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field:nth-child(5) { grid-column: span 6; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-return { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry input,
.th-page[data-travelhub-surface="transfer"] .thtz-entry select { inline-size: 100%; min-inline-size: 0; min-block-size: 50px; padding: 0 14px; border: 1px solid var(--th-transfer-line); border-radius: 10px; background: #fff; color: var(--th-transfer-ink); font: 500 15px/1.3 var(--th-font, inherit); }
.th-page[data-travelhub-surface="transfer"] .thtz-entry input:focus-visible,
.th-page[data-travelhub-surface="transfer"] .thtz-entry select:focus-visible { outline: 3px solid rgba(8,127,185,.22); outline-offset: 1px; border-color: var(--th-transfer-blue); }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-party,
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-seats { grid-column: span 6; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-disclosure-content { box-shadow: 0 14px 32px rgba(5,28,51,.08); }
.th-page[data-travelhub-surface="transfer"] .thtz-entry form > .thtz-button { grid-column: 1/-1; justify-self: start; min-block-size: 50px; margin: 6px 0 0; padding: 0 25px; border: 0; border-radius: 10px; background: var(--th-transfer-teal); color: #fff; font: 700 15px/1.2 var(--th-font, inherit); box-shadow: 0 8px 20px rgba(17,142,130,.18); }
.th-page[data-travelhub-surface="transfer"] .thtz-entry form > .thtz-button:hover { background: #0d766d; }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-suggest { inset-inline: 0; inset-block-start: calc(100% + 4px); max-block-size: 280px; border: 1px solid var(--th-transfer-line); border-radius: 12px; box-shadow: 0 16px 32px rgba(5,28,51,.16); }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-suggest li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; color: var(--th-transfer-ink); }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-suggest li small { color: var(--th-transfer-muted); }
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-suggest li:hover,
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-suggest li:focus { background: #eef7fa; }
.thtz-entry .thtz-field :user-invalid,
.thtz-entry .thtz-hotel :user-invalid { border-color: #c35a55; }

@media (min-width: 768px) and (max-width: 1023.98px) {
	.th-home .th-home-hero,
	.th-home .th-home-hero__inner { min-block-size: min(570px, 68svh); }
	.th-home .th-home-transfer-form .thtz-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.th-home .th-home-transfer-form .thtz-search > .thtz-field,
	.th-home .th-home-transfer-form .thtz-search > .thtz-hotel { grid-column: span 1; }
	.th-home .th-home-transfer-form .thtz-search > .thtz-party,
	.th-home .th-home-transfer-form .thtz-search > .thtz-seats,
	.th-home .th-home-transfer-form .thtz-search > .thtz-return,
	.th-home .th-home-transfer-form .thtz-search > .thtz-button { grid-column: 1/-1; }
	.th-page[data-travelhub-surface="transfer"] .thtz-entry form.thtz-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-hotel { grid-column: span 1; }
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-party,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-seats,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-return,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry form > .thtz-button { grid-column: 1/-1; }
}
@media (max-width: 767.98px) {
	.th-home .th-home-hero,
	.th-home .th-home-hero__inner { min-block-size: min(70svh, 560px); }
	.th-home .th-home-hero__inner { padding-block: 58px 116px; }
	.th-home .th-home-hero__title { font-size: clamp(2.2rem, 10vw, 3.1rem); }
	.th-home .th-home-hero__actions { display: none; }
	.th-home .th-home-opening .thh-search { margin-block-start: -58px; }
	.th-home .thh-search__panel { padding: 16px; border-radius: 18px; }
	.th-home .thh-search__tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-block-end: 14px; }
	.th-home .thh-search__tab { min-block-size: 42px; padding: 8px 10px; font-size: 13px; }
	.th-home .th-home-transfer-form .thtz-search,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry form.thtz-search { grid-template-columns: 1fr; gap: 10px; }
	.th-home .th-home-transfer-form .thtz-search > .thtz-field,
	.th-home .th-home-transfer-form .thtz-search > .thtz-hotel,
	.th-home .th-home-transfer-form .thtz-search > .thtz-party,
	.th-home .th-home-transfer-form .thtz-search > .thtz-seats,
	.th-home .th-home-transfer-form .thtz-search > .thtz-return,
	.th-home .th-home-transfer-form .thtz-search > .thtz-button,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-field,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-search > .thtz-hotel,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-party,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-seats,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-return,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry form > .thtz-button { grid-column: 1/-1; }
	.th-home .th-home-transfer-form .thtz-search > .thtz-field,
	.th-home .th-home-transfer-form .thtz-search > .thtz-hotel { min-inline-size: 0; }
	.th-home .th-home-transfer-form input,
	.th-home .th-home-transfer-form select { min-block-size: 50px; font-size: 16px; }
	.th-home .th-home-transfer-form .thtz-search > .thtz-button,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry form > .thtz-button { inline-size: 100%; justify-self: stretch; min-block-size: 52px; }
	.thtz-disclosure-toggle { min-block-size: 56px; grid-template-columns: 1fr 16px; }
	.thtz-disclosure-summary { grid-column: 1; grid-row: 2; text-align: start; }
	.thtz-disclosure-chevron { grid-column: 2; grid-row: 1 / 3; }
	.thtz-disclosure-content,
	.thtz-seats .thtz-disclosure-content { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 12px; }
	.thtz-disclosure-content .thtz-field:first-child:nth-last-child(4) { grid-column: span 2; }
	.thtz-disclosure--party.is-open .thtz-disclosure-content { position: relative; z-index: 2; inset: auto; max-block-size: none; overflow: visible; inline-size: 100%; padding: 16px; border-color: rgba(8,45,81,.14); box-shadow: 0 12px 28px rgba(5,28,51,.12); }
	.th-page[data-travelhub-surface="transfer"] .th-page__grid { padding-inline: 12px; }
	.th-page[data-travelhub-surface="transfer"] .th-page__card { border-radius: 18px; }
	.th-page[data-travelhub-surface="transfer"] .thsx-shell__head { padding: 24px 18px 12px; }
	.th-page[data-travelhub-surface="transfer"] .thsx-shell__body { padding: 0 18px 24px; }
	.th-page[data-travelhub-surface="transfer"] .thsx-shell__title { font-size: 1.75rem; }
	.th-page[data-travelhub-surface="transfer"] .thtz-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-block-end: 18px; padding-block-end: 16px; font-size: 13px; }
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-field,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-hotel { font-size: 13px; }
	.th-page[data-travelhub-surface="transfer"] .thtz-entry input,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry select { min-block-size: 50px; font-size: 16px; }
}
@media (max-width: 390px) {
	.th-home .thh-search__panel { padding: 12px; }
	.th-home .thh-search__tab { padding-inline: 7px; font-size: 12px; }
	.th-home .th-home-transfer-form .thtz-search { gap: 9px; }
	.thtz-disclosure-content,
	.thtz-seats .thtz-disclosure-content { gap: 9px; }
}
@media (prefers-reduced-motion: reduce) {
	.thtz-disclosure-chevron { transition: none; }
}

/* The Transfer Zones public entry replaces the theme's generic service-page
   wrapper. Give that authoritative shell the same presentation directly. */
.thsx-shell.thsx-shell--transfers.thtz-entry {
	max-inline-size: 1250px;
	margin-inline: auto;
	padding: clamp(24px, 4vw, 48px) clamp(16px, 3vw, 32px) clamp(40px, 6vw, 80px);
	background: var(--th-transfer-canvas);
	color: var(--th-transfer-ink);
}
.thsx-shell.thsx-shell--transfers.thtz-entry > .thsx-shell__head {
	padding: clamp(24px, 4vw, 42px) clamp(20px, 4vw, 48px) 16px;
	border: 1px solid rgba(8,45,81,.10);
	border-block-end: 0;
	border-radius: 22px 22px 0 0;
	background: linear-gradient(120deg, #fff 0%, #f6fafc 100%);
}
.thsx-shell.thsx-shell--transfers.thtz-entry > .thsx-shell__body {
	padding: 0 clamp(20px, 4vw, 48px) clamp(24px, 4vw, 48px);
	border: 1px solid rgba(8,45,81,.10);
	border-block-start: 0;
	border-radius: 0 0 22px 22px;
	background: #fff;
	box-shadow: 0 18px 52px rgba(5,28,51,.08);
}
.thsx-shell.thsx-shell--transfers.thtz-entry .thsx-shell__head .thc-wrap,
.thsx-shell.thsx-shell--transfers.thtz-entry .thsx-shell__body > .thc-wrap {
	inline-size: 100%;
	max-inline-size: 1250px;
	margin-inline: auto;
	padding-inline: 0;
}
.thsx-shell.thsx-shell--transfers.thtz-entry .thsx-shell__title {
	margin: 0 0 8px;
	color: var(--th-transfer-navy);
	font: 750 clamp(1.8rem, 3.2vw, 2.6rem)/1.15 var(--th-font, inherit);
	letter-spacing: -.025em;
}
.thsx-shell.thsx-shell--transfers.thtz-entry .thsx-shell__intro {
	max-inline-size: 62ch;
	margin: 0;
	color: var(--th-transfer-muted);
	font-size: 16px;
	line-height: 1.6;
}
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px clamp(14px, 2vw, 30px);
	margin: 0 0 26px;
	padding: 0 0 20px;
	border-block-end: 1px solid #e8eef2;
	list-style: none;
	counter-reset: th-transfer-step;
	color: #7c8b97;
	font-size: 14px;
}
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps li { display: inline-flex; align-items: center; gap: 8px; color: #7c8b97; font-weight: 500; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps li::before { content: counter(th-transfer-step); counter-increment: th-transfer-step; display: inline-grid; place-items: center; inline-size: 26px; block-size: 26px; border: 1px solid #d5dfe6; border-radius: 50%; background: #f3f6f8; color: #617483; font-size: 12px; font-weight: 700; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps li.is-current { color: var(--th-transfer-navy); font-weight: 700; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps li.is-current::before { border-color: var(--th-transfer-navy); background: var(--th-transfer-navy); color: #fff; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps li.is-done { color: #117a70; font-weight: 700; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps li.is-done::before { border-color: var(--th-transfer-teal); background: var(--th-transfer-teal); color: #fff; }
.thsx-shell.thsx-shell--transfers.thtz-entry form.thtz-search { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; gap: 16px; margin: 0; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-field,
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-hotel { min-inline-size: 0; gap: 0; color: var(--th-transfer-ink); font-size: 13px; font-weight: 650; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field > span:first-child,
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-hotel > label { position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(1) { grid-column: span 4; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(2) { grid-column: span 3; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-hotel { grid-column: span 5; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(4),
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(5) { grid-column: span 6; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-return { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-return:not([hidden]) { display: grid; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-return[hidden] { display: none; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-party,
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-seats { grid-column: span 6; }
.thsx-shell.thsx-shell--transfers.thtz-entry input,
.thsx-shell.thsx-shell--transfers.thtz-entry select { inline-size: 100%; min-inline-size: 0; min-block-size: 50px; padding: 0 14px; border: 1px solid var(--th-transfer-line); border-radius: 10px; background: #fff; color: var(--th-transfer-ink); font: 500 15px/1.3 var(--th-font, inherit); }
.thsx-shell.thsx-shell--transfers.thtz-entry input:focus-visible,
.thsx-shell.thsx-shell--transfers.thtz-entry select:focus-visible { outline: 3px solid rgba(8,127,185,.22); outline-offset: 1px; border-color: var(--th-transfer-blue); }
.thsx-shell.thsx-shell--transfers.thtz-entry form > .thtz-button { grid-column: 1 / -1; justify-self: start; min-block-size: 50px; margin: 4px 0 0; padding: 0 25px; border: 0; border-radius: 10px; background: var(--th-transfer-teal); color: #fff; font: 700 15px/1.2 var(--th-font, inherit); box-shadow: 0 8px 20px rgba(17,142,130,.18); }
.thsx-shell.thsx-shell--transfers.thtz-entry form > .thtz-button:hover { background: #0d766d; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-suggest { inset-inline: 0; inset-block-start: calc(100% + 4px); max-block-size: 280px; border: 1px solid var(--th-transfer-line); border-radius: 12px; box-shadow: 0 16px 32px rgba(5,28,51,.16); }

/* Results: keep the authoritative vehicle/fare facts easy to scan at every breakpoint. */
.thtz-entry .thtz-vehicles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.thtz-entry .thtz-vehicle { min-inline-size: 0; gap: 14px; padding: clamp(18px, 2.2vw, 26px); border: 1px solid #dce6ec; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(6, 42, 70, .06); }
.thtz-entry .thtz-vehicle__head { display: flex; align-items: center; gap: 14px; }
.thtz-entry .thtz-vehicle__icon { display: grid; place-items: center; flex: 0 0 56px; inline-size: 56px; block-size: 56px; border-radius: 15px; background: #edf6fa; color: var(--th-transfer-navy, #0b3d68); }
.thtz-entry .thtz-vehicle__icon svg { inline-size: 38px; block-size: 28px; fill: currentColor; }
.thtz-entry .thtz-vehicle__head h3 { color: var(--th-transfer-navy, #0b3d68); font-size: 1.2rem; line-height: 1.25; }
.thtz-entry .thtz-suitable { margin: 4px 0 0; color: #607687; font-size: .9rem; }
.thtz-entry .thtz-vehicle__service { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; color: #536b7a; font-size: .9rem; }
.thtz-entry .thtz-vehicle__service strong { color: #27485f; }
.thtz-entry .thtz-unverified-counts { padding: 11px 14px; border-inline-start: 3px solid #d59b29; border-radius: 6px; background: #fff8e8; color: #624918; }
.thtz-entry .thtz-change-search { display: inline-flex; min-block-size: 40px; align-items: center; }
.thtz-entry .thtz-recommended { display: inline-flex; margin-block-end: 5px; padding: 4px 8px; border-radius: 999px; background: #e8f5f1; color: #176c5d; font-size: .72rem; font-weight: 700; letter-spacing: .02em; }
.thtz-entry .thtz-details { display: grid; gap: 18px; max-inline-size: 1180px; margin: 10px auto 30px; }
.thtz-entry .thtz-details > h2 { margin: 0; color: var(--th-transfer-navy, #0b3d68); font-size: clamp(1.5rem, 3vw, 2rem); }
.thtz-entry .thtz-details-form { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 22px; margin: 0; }
.thtz-entry .thtz-details-main { display: grid; grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr); align-items: start; gap: 22px; min-inline-size: 0; }
.thtz-entry .thtz-details-summary { position: sticky; inset-block-start: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: clamp(16px, 2.5vw, 24px); border: 1px solid #dce7ed; border-radius: 18px; background: linear-gradient(135deg, #f7fbfc, #fff); box-shadow: 0 12px 30px rgba(7, 48, 77, .06); }
.thtz-entry .thtz-details-summary > div { display: grid; gap: 4px; min-inline-size: 0; }
.thtz-entry .thtz-details-summary span { color: #687f8f; font-size: .82rem; }
.thtz-entry .thtz-details-summary strong { color: #123d5c; overflow-wrap: anywhere; }
.thtz-entry .thtz-details-summary__total { grid-column: 1 / -1; padding-block-start: 12px; border-block-start: 1px solid #dce7ed; }
.thtz-entry .thtz-details-summary__total strong { color: #0b766c; font-size: 1.6rem; }
.thtz-entry .thtz-details-summary__total small { color: #687f8f; font-size: .78rem; }
.thtz-entry .thtz-details-summary__breakdown { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; color: #687f8f; font-size: .85rem; }
.thtz-entry .thtz-details-summary__breakdown strong { color: #27485f; text-align: end; }
.thtz-entry .thtz-details-fields { display: grid; gap: 16px; }
.thtz-entry .thtz-details-fields__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.thtz-entry .thtz-details-fields .thtz-field { display: grid; gap: 7px; min-inline-size: 0; color: #304e63; font-size: .9rem; font-weight: 650; }
.thtz-entry .thtz-details-fields input,
.thtz-entry .thtz-details-fields textarea { inline-size: 100%; min-inline-size: 0; min-block-size: 48px; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ccd9e1; border-radius: 10px; background: #fff; color: #183d58; font: inherit; }
.thtz-entry .thtz-phone { display: grid; grid-template-columns: minmax(90px, .4fr) minmax(0, 1fr); gap: 8px; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.thtz-entry .thtz-phone legend { grid-column: 1 / -1; margin-block-end: 2px; color: #304e63; font-size: .9rem; font-weight: 650; }
.thtz-entry .thtz-phone label { display: grid; gap: 5px; min-inline-size: 0; color: #647b8b; font-size: .76rem; }
.thtz-entry .thtz-phone input { font-size: 1rem; }
.thtz-entry .thtz-travel-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 16px; border: 1px solid #dce7ed; border-radius: 14px; }
.thtz-entry .thtz-travel-fields legend { padding-inline: 6px; color: #123d5c; font-weight: 700; }
.thtz-entry .thtz-travel-fields > p { grid-column: 1 / -1; margin: 0; color: #627988; }
.thtz-entry .thtz-return-contract { font-size: .86rem; }
.thtz-entry .thtz-details-notes { display: grid; gap: 7px; color: #304e63; font-size: .9rem; font-weight: 650; }
.thtz-entry .thtz-details-boundary { margin: 0; padding: 12px 14px; border-inline-start: 3px solid #8299a8; border-radius: 6px; background: #f3f6f8; color: #4d6677; font-size: .9rem; }
.thtz-entry .thtz-details-main > .thtz-button { justify-self: start; min-block-size: 50px; padding-inline: 24px; }
.thtz-entry .thtz-vehicle__facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.thtz-entry .thtz-vehicle__facts li { padding: 7px 10px; border-radius: 999px; background: #f2f6f8; color: #334f63; font-size: .85rem; }
.thtz-entry .thtz-vehicle .thtz-price { display: grid; gap: 4px; margin: 0; padding-block: 12px; border-block: 1px solid #e8eef2; color: var(--th-transfer-navy, #0b3d68); }
.thtz-entry .thtz-vehicle .thtz-price strong { font-size: clamp(1.45rem, 3vw, 1.8rem); line-height: 1.15; }
.thtz-entry .thtz-vehicle .thtz-price small { color: #687f8f; font-size: .78rem; line-height: 1.4; }
.thtz-entry .thtz-price-breakdown { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; margin: -8px 0 0; color: #536b7a; font-size: .85rem; }
.thtz-entry .thtz-price-breakdown span:nth-child(even) { color: #183f5c; font-weight: 650; text-align: end; }
.thtz-entry .thtz-vehicle .thtz-status { margin-block-start: auto; }
.thtz-entry .thtz-summary { grid-template-columns: max-content minmax(0, 1fr); gap: 8px 14px; padding: 16px 18px; border: 1px solid #e1eaf0; border-radius: 14px; background: #f7fafb; }
.thtz-entry .thtz-summary dt { color: #647b8b; }
.thtz-entry .thtz-summary dd { min-inline-size: 0; color: var(--th-transfer-navy, #0b3d68); font-weight: 600; overflow-wrap: anywhere; }

@media (min-width: 768px) and (max-width: 1023.98px) {
	.thsx-shell.thsx-shell--transfers.thtz-entry form.thtz-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-hotel,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-passengers { grid-column: span 1; }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(1),
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(2),
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(4),
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field:nth-child(5) { grid-column: span 1; }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-passengers,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-return,
	.thsx-shell.thsx-shell--transfers.thtz-entry form > .thtz-button { grid-column: 1 / -1; }
	.thtz-entry .thtz-vehicles { grid-template-columns: 1fr; }
	.thtz-entry .thtz-vehicle { grid-template-columns: minmax(0, 1fr) minmax(180px, .55fr); }
.thtz-entry .thtz-details-main { grid-template-columns: minmax(0, 7fr) minmax(250px, 5fr); gap: 16px; }
}
@media (max-width: 767.98px) {
	.thsx-shell.thsx-shell--transfers.thtz-entry { padding: 18px 12px 40px; }
	.thsx-shell.thsx-shell--transfers.thtz-entry > .thsx-shell__head { padding: 24px 18px 12px; }
	.thsx-shell.thsx-shell--transfers.thtz-entry > .thsx-shell__body { padding: 0 18px 24px; }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thsx-shell__title { font-size: 1.75rem; }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-block-end: 18px; padding-block-end: 16px; font-size: 13px; }
	.thsx-shell.thsx-shell--transfers.thtz-entry form.thtz-search { grid-template-columns: 1fr; gap: 10px; }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-field,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-hotel,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-passengers,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-return,
	.thsx-shell.thsx-shell--transfers.thtz-entry form > .thtz-button { grid-column: 1 / -1; }
	.thsx-shell.thsx-shell--transfers.thtz-entry form > .thtz-button { inline-size: 100%; justify-self: stretch; min-block-size: 52px; }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-field,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-hotel { font-size: 13px; }
	.thsx-shell.thsx-shell--transfers.thtz-entry input,
	.thsx-shell.thsx-shell--transfers.thtz-entry select { min-block-size: 50px; font-size: 16px; }
	.thtz-entry .thtz-vehicles { grid-template-columns: 1fr; gap: 12px; }
	.thtz-entry .thtz-vehicle { padding: 17px; border-radius: 15px; }
	.thtz-entry .thtz-summary { grid-template-columns: 1fr; gap: 3px; padding: 14px; }
	.thtz-entry .thtz-summary dd { margin-block-end: 7px; }
	.thtz-entry .thtz-vehicle { grid-template-columns: 1fr; }
	.thtz-entry .thtz-vehicle__head,
	.thtz-entry .thtz-vehicle__service,
	.thtz-entry .thtz-vehicle__facts,
	.thtz-entry .thtz-vehicle > .thtz-price,
	.thtz-entry .thtz-vehicle > .thtz-price-breakdown,
	.thtz-entry .thtz-vehicle > .thtz-button,
	.thtz-entry .thtz-vehicle > .thtz-reasons { grid-column: 1; }
	.thtz-entry .thtz-vehicle > .thtz-price { grid-row: auto; }
	.thtz-entry .thtz-details-form,
	.thtz-entry .thtz-details-main { grid-template-columns: 1fr; }
	.thtz-entry .thtz-details-summary { position: static; grid-row: 1; }
	.thtz-entry .thtz-details-summary,
	.thtz-entry .thtz-details-fields__grid,
	.thtz-entry .thtz-travel-fields { grid-template-columns: 1fr; }
	.thtz-entry .thtz-details-summary__total { grid-column: auto; }
	.thtz-entry .thtz-travel-fields > p { grid-column: auto; }
}

@media (min-width: 768px) {
	.thtz-entry .thtz-vehicles { grid-auto-rows: 1fr; }
	.thtz-entry .thtz-vehicle { height: 100%; box-sizing: border-box; }
}

/* Compact public search: passenger and luggage counts stay together; seats are selected after a vehicle. */
.th-home .th-home-transfer-form .thtz-search { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.th-home .th-home-transfer-form .thtz-search > .thtz-field:nth-child(1),
.th-home .th-home-transfer-form .thtz-search > .thtz-field:nth-child(2),
.th-home .th-home-transfer-form .thtz-search > .thtz-hotel { grid-column: span 2; }
.th-home .th-home-transfer-form .thtz-search > .thtz-date-time { grid-column: span 3; }
.th-home .th-home-transfer-form .thtz-search > .thtz-passengers,
.th-home .th-home-transfer-form .thtz-search > .thtz-button { grid-column: 1 / -1; }
.th-home .th-home-transfer-form .thtz-passengers__body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.thtz-entry .thtz-passengers { position: relative; min-inline-size: 0; align-self: end; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-date-time { grid-column: span 6; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-passengers { grid-column: 1 / -1; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-date-time { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-inline-size: 0; }
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-date-time > .thtz-return { grid-column: 1 / -1; }
.thtz-entry .thtz-passengers > summary { display: flex; align-items: center; gap: 9px; min-block-size: 50px; box-sizing: border-box; padding: 0 14px; border: 1px solid var(--th-transfer-line); border-radius: 10px; background: #fff; color: var(--th-transfer-ink); cursor: pointer; list-style: none; }
.thtz-entry .thtz-passengers > summary::-webkit-details-marker { display: none; }
.thtz-entry .thtz-passengers > summary::after { content: ""; inline-size: 8px; block-size: 8px; margin-inline-start: auto; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.thtz-entry .thtz-passengers[open] > summary { border-color: var(--th-transfer-blue); border-radius: 10px 10px 0 0; }
.thtz-entry .thtz-passengers > summary strong { color: var(--th-transfer-navy); }
.thtz-entry .thtz-passengers__hint { color: var(--th-transfer-muted); font-size: .85rem; }
.thtz-entry .thtz-passengers__body { position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 12px; padding: 14px; border: 1px solid var(--th-transfer-blue); border-block-start: 0; border-radius: 0 0 10px 10px; background: #fff; box-shadow: 0 12px 28px rgba(5,28,51,.08); }
.thtz-entry .thtz-counter > span:first-child { position: static; inline-size: auto; block-size: auto; margin: 0; padding: 0; overflow: visible; clip: auto; white-space: normal; border: 0; color: #304e63; }
.thtz-entry .thtz-counter { display: grid; gap: 7px; min-inline-size: 0; color: #304e63; font-size: .84rem; font-weight: 650; }
.thtz-entry .thtz-counter__control { display: grid; grid-template-columns: 36px minmax(56px, 1fr) 36px; gap: 5px; align-items: center; }
.thtz-entry .thtz-counter__control input { box-sizing: border-box; min-inline-size: 56px; min-block-size: 44px; padding-inline: 2px; text-align: center; font-size: 16px; }
.thtz-entry .thtz-counter__control button { min-inline-size: 36px; min-block-size: 40px; padding: 0; border: 1px solid #d4e0e7; border-radius: 8px; background: #f6f9fa; color: var(--th-transfer-navy); font: 700 1.1rem/1 var(--th-font, inherit); cursor: pointer; }
.thtz-entry .thtz-counter__control button:hover { border-color: var(--th-transfer-blue); background: #edf6fa; }
.thtz-entry .thtz-counter__control button:focus-visible { outline: 3px solid rgba(8,127,185,.22); outline-offset: 1px; }
.thtz-entry .thtz-counter__control input[type="number"] { appearance: textfield; }
.thtz-entry .thtz-counter__control input[type="number"]::-webkit-inner-spin-button,
.thtz-entry .thtz-counter__control input[type="number"]::-webkit-outer-spin-button { appearance: none; }
.thtz-entry .thtz-search > input[type="hidden"] { display: none; }

/* Desktop vehicle results pair the route facts with the exact engine quote. */
.thtz-entry .thtz-vehicle { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, .44fr); align-items: start; gap: 12px 24px; }
.thtz-entry .thtz-vehicle__head, .thtz-entry .thtz-vehicle__route, .thtz-entry .thtz-vehicle__facts, .thtz-entry .thtz-vehicle > .thtz-status, .thtz-entry .thtz-vehicle > .thtz-reasons { grid-column: 1; }
.thtz-entry .thtz-vehicle > .thtz-price, .thtz-entry .thtz-vehicle > .thtz-price-breakdown, .thtz-entry .thtz-vehicle > .thtz-button { grid-column: 2; }
.thtz-entry .thtz-vehicle > .thtz-price { grid-row: 1 / span 2; align-self: center; border-block: 0; }
.thtz-entry .thtz-vehicle > .thtz-button { min-block-size: 48px; }

/* Extras and details are sequential GET previews; neither screen creates an order or cart item. */
.thtz-entry .thtz-extras { display: grid; gap: 16px; inline-size: 100%; max-inline-size: 1120px; min-inline-size: 0; margin: 10px auto 30px; }
.thtz-entry .thtz-extras h2 { margin: 0; color: var(--th-transfer-navy, #0b3d68); font-size: clamp(1.5rem, 3vw, 2rem); }
.thtz-entry .thtz-extras-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px 18px; padding: 18px 20px; border-block: 1px solid #dce7ed; }
.thtz-entry .thtz-extras-summary strong:first-child { color: var(--th-transfer-navy); }
.thtz-entry .thtz-extras-summary strong:last-child { color: #0b766c; font-size: 1.25rem; }
.thtz-entry .thtz-extras-intro { margin: 0; color: var(--th-transfer-muted); }
.thtz-entry .thtz-extras-form { display: grid; gap: 0; min-inline-size: 0; }
.thtz-entry .thtz-extra-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; border-block-end: 1px solid #e5edf1; }
.thtz-entry .thtz-extra-row > div:first-child { display: grid; gap: 4px; }
.thtz-entry .thtz-extra-row > div:first-child strong { color: #193f5b; }
.thtz-entry .thtz-extra-row > div:first-child span { color: #6a7f8c; font-size: .85rem; }
.thtz-entry .thtz-extras-form .thtz-counter { grid-template-columns: minmax(120px, 1fr) auto; align-items: center; min-inline-size: 180px; }
.thtz-entry .thtz-extras-form .thtz-counter > span:first-child { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.thtz-entry .thtz-extras-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-block-start: 16px; }
.thtz-entry .thtz-extras-footer > div { display: grid; gap: 3px; }
.thtz-entry .thtz-extras-footer > div span { color: var(--th-transfer-muted); font-size: .85rem; }
.thtz-entry .thtz-extras-footer > div strong { color: #0b766c; font-size: 1.35rem; }
.thtz-entry .thtz-extras-unavailable { padding: 12px 14px; border-inline-start: 3px solid #b88b34; background: #fbf7ed; color: #66552f; }

/* Keep each seat choice self-contained; quote and action get their own full-width row. */
.thtz-entry .thtz-extras > .thtz-extras-form { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
.thtz-entry .thtz-extras-form > input[type="hidden"] { display: none; }
.thtz-entry .thtz-extras-form > .thtz-extra-row { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; justify-items: stretch; gap: 12px; min-inline-size: 0; margin: 0; padding: 16px; border: 1px solid #dce7ed; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(5,28,51,.045); }
.thtz-entry .thtz-extra-row > div:first-child { display: grid; min-inline-size: 0; min-block-size: 54px; align-content: start; gap: 5px; }
.thtz-entry .thtz-extra-row > div:first-child strong { font-size: 1rem; line-height: 1.35; }
.thtz-entry .thtz-extra-row > div:first-child span { min-inline-size: 0; font-size: .84rem; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.thtz-entry .thtz-extras-form .thtz-counter { inline-size: 100%; min-inline-size: 0; grid-template-columns: minmax(0, 1fr); }
.thtz-entry .thtz-extras-form .thtz-counter__control { inline-size: 100%; box-sizing: border-box; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 0; overflow: hidden; border: 1px solid #d4e0e7; border-radius: 10px; background: #fff; }
.thtz-entry .thtz-extras-form .thtz-counter__control button { min-inline-size: 42px; min-block-size: 44px; border: 0; border-radius: 0; }
.thtz-entry .thtz-extras-form .thtz-counter__control input { inline-size: 100%; min-inline-size: 0; min-block-size: 44px; box-sizing: border-box; border-inline: 1px solid #e1eaf0; border-radius: 0; }
.thtz-entry .thtz-extras-form > .thtz-extras-footer { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px 24px; inline-size: 100%; min-inline-size: 0; box-sizing: border-box; margin: 0; padding: 16px 18px; border: 1px solid #dce7ed; border-radius: 14px; background: #f7fafb; }
.thtz-entry .thtz-extras-footer > div { min-inline-size: 0; }
.thtz-entry .thtz-extras-footer .thtz-button { justify-self: end; min-block-size: 48px; max-inline-size: 100%; padding-inline: 22px; white-space: normal; }

/* Desktop uses the approved 7/5 form-to-summary balance. Mobile follows DOM order. */
.thtz-entry .thtz-details-form { grid-template-columns: minmax(0,1fr); gap: clamp(18px,2.4vw,28px); }
.thtz-entry .thtz-details-main { grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: clamp(18px,2.4vw,28px); }
.thtz-entry .thtz-details-summary { min-inline-size: 0; }
.thtz-entry .thtz-details-fields__grid,
.thtz-entry .thtz-travel-fields { min-inline-size: 0; }

/* Final form organization: compact aligned contacts, party controls and grouped journey times. */
.thtz-entry .thtz-details-fields { gap: 14px; min-inline-size: 0; }
.thtz-entry .thtz-details-fields__grid { align-items: start; gap: 14px; }
.thtz-entry .thtz-details-fields__grid > .thtz-phone { grid-column: auto; }
.thtz-entry .thtz-phone { grid-template-columns: minmax(96px, 122px) minmax(0, 1fr); align-items: end; column-gap: 10px; }
.thtz-entry .thtz-phone label { min-inline-size: 0; }
.thtz-entry .thtz-phone input { inline-size: 100%; min-inline-size: 0; min-block-size: 48px; box-sizing: border-box; }
.thtz-entry .thtz-travel-fields { align-items: start; gap: 14px; padding: 14px; }
.thtz-entry .thtz-passengers__body { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.thtz-entry .thtz-date-time > .thtz-outbound,
.thtz-entry .thtz-date-time > .thtz-return,
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-date-time > .thtz-outbound,
.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-date-time > .thtz-return,
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-date-time > .thtz-outbound,
.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-date-time > .thtz-return { display: grid; grid-column: auto; grid-template-columns: minmax(0,1fr); align-content: start; gap: 12px; min-inline-size: 0; }
.th-home .th-home-transfer-form .thtz-date-time { grid-template-columns: repeat(2, minmax(0,1fr)); }
.thtz-entry .thtz-date-group__title { grid-column: 1 / -1; margin: 0; color: #38566c; font-size: .74rem; font-weight: 750; letter-spacing: .06em; line-height: 1.2; text-transform: uppercase; }
.th-home .th-home-transfer-form .thtz-search > .thtz-return[hidden],
.thtz-entry .thtz-date-time > .thtz-return[hidden] { display: none !important; }

@media (min-width: 768px) and (max-width: 1023.98px) {
	.thtz-entry .thtz-passengers__body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.thtz-entry .thtz-date-time,
	.th-home .th-home-transfer-form .thtz-date-time { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
	.thtz-entry .thtz-date-time > .thtz-outbound,
	.thtz-entry .thtz-date-time > .thtz-return,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-date-time > .thtz-outbound,
	.th-page[data-travelhub-surface="transfer"] .thtz-entry .thtz-date-time > .thtz-return,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-date-time > .thtz-outbound,
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-date-time > .thtz-return { grid-column: 1 / -1; grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 380px) {
	.thtz-entry .thtz-passengers__body { grid-template-columns: 1fr; }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
	.th-home .th-home-transfer-form .thtz-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.th-home .th-home-transfer-form .thtz-search > .thtz-date-time,
	.th-home .th-home-transfer-form .thtz-search > .thtz-passengers,
	.th-home .th-home-transfer-form .thtz-search > .thtz-button { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
	.th-home .th-home-transfer-form .thtz-search { grid-template-columns: 1fr; }
	.th-home .th-home-transfer-form .thtz-search > .thtz-date-time,
	.th-home .th-home-transfer-form .thtz-search > .thtz-passengers,
	.th-home .th-home-transfer-form .thtz-search > .thtz-button { grid-column: 1; }
	.thsx-shell.thsx-shell--transfers.thtz-entry .thtz-search > .thtz-date-time { grid-column: 1 / -1; grid-template-columns: 1fr; }
 .thtz-entry .thtz-passengers__body { grid-template-columns: repeat(2, minmax(0, 1fr)); border-block-start: 1px solid var(--th-transfer-blue); border-radius: 0 0 10px 10px; box-shadow: none; }
	.thtz-entry .thtz-vehicle { grid-template-columns: 1fr; }
	.thtz-entry .thtz-vehicle__head, .thtz-entry .thtz-vehicle__route, .thtz-entry .thtz-vehicle__facts, .thtz-entry .thtz-vehicle > .thtz-status, .thtz-entry .thtz-vehicle > .thtz-reasons,
	.thtz-entry .thtz-vehicle > .thtz-price, .thtz-entry .thtz-vehicle > .thtz-price-breakdown, .thtz-entry .thtz-vehicle > .thtz-button { grid-column: 1; grid-row: auto; }
	.thtz-entry .thtz-vehicle > .thtz-price { padding-block: 8px; }
	.thtz-entry .thtz-extras-summary { grid-template-columns: 1fr; gap: 5px; }
	.thtz-entry .thtz-extras-summary strong:last-child { margin-block-start: 8px; }
	.thtz-entry .thtz-extras > .thtz-extras-form { grid-template-columns: 1fr; gap: 12px; }
	.thtz-entry .thtz-extras-form > .thtz-extra-row { grid-template-columns: minmax(0,1fr) minmax(150px,.72fr); align-items: center; gap: 12px; padding: 14px; }
	.thtz-entry .thtz-extra-row > div:first-child { min-block-size: 0; }
	.thtz-entry .thtz-extra-row > div:first-child span { white-space: normal; }
	.thtz-entry .thtz-extras-form .thtz-counter { inline-size: 100%; }
	.thtz-entry .thtz-extras-form > .thtz-extras-footer { grid-template-columns: 1fr; align-items: stretch; }
	.thtz-entry .thtz-extras-footer .thtz-button { inline-size: 100%; justify-self: stretch; min-block-size: 52px; }
	.thtz-entry .thtz-details-form,
	.thtz-entry .thtz-details-main { grid-template-columns: 1fr; }
	.thtz-entry .thtz-details-summary { position: static; grid-row: auto; }
	.thtz-entry .thtz-details-summary,
	.thtz-entry .thtz-details-fields__grid,
	.thtz-entry .thtz-travel-fields { grid-template-columns: 1fr; }
	.thtz-entry .thtz-details-summary__total { grid-column: auto; }
	.thtz-entry .thtz-travel-fields > p { grid-column: auto; }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
	.thtz-entry .thtz-extras > .thtz-extras-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
	.thtz-entry .thtz-extra-row { padding: 12px; }
	.thtz-entry .thtz-extra-row > div:first-child span { white-space: normal; }
	.thtz-entry .thtz-extras-form > .thtz-extras-footer { grid-column: 1 / -1; }
	.thtz-entry .thtz-details-main { grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: 14px; }
	.thtz-entry .thtz-details-summary { grid-template-columns: 1fr; padding: 16px; }
}

@media (max-width: 430px) {
	.thtz-entry .thtz-extras > .thtz-extras-form { grid-template-columns: 1fr; }
	.thtz-entry .thtz-extras-form > .thtz-extra-row { grid-template-columns: 1fr; }
	.thtz-entry .thtz-extra-row > div:first-child { min-block-size: 0; }
	.thtz-entry .thtz-extras-footer { padding: 14px; }
	.thtz-entry .thtz-extras-footer .thtz-button { white-space: normal; }
}

@media (max-width: 380px) {
	.thtz-entry .thtz-passengers__body { grid-template-columns: 1fr; }
}
