.transfer-hub{--ink:#102d37;--teal:#087f78;color:var(--ink);padding-bottom:32px}.transfer-hub section{padding:32px 0;scroll-margin-top:24px}.transfer-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center}.transfer-hero h1{font-size:clamp(30px,3.8vw,48px);line-height:1.12;letter-spacing:-.03em;margin:12px 0 18px}.transfer-hero img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:24px}.transfer-hero p{max-width:560px}.transfer-subtitle{font-weight:700}.transfer-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.transfer-note{font-size:14px!important;line-height:1.5;color:#566b71}.transfer-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.transfer-service{padding:22px;border:1px solid #dce8e6;border-radius:18px;display:flex;flex-direction:column;align-items:flex-start;background:#f5f9f8}.transfer-service h3{margin:0;font-size:21px}.transfer-service p{margin:10px 0}.transfer-service strong{font-size:22px;display:block;margin:auto 0 14px}.transfer-hub .btn{font:inherit;cursor:pointer;white-space:normal;text-align:center}.transfer-hub .btn:disabled{opacity:.5;cursor:not-allowed}.transfer-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:32px;align-items:start}.transfer-input{min-width:0}.transfer-input fieldset{border:0;border-bottom:1px solid #dce8e6;padding:0 0 24px;margin:0 0 24px;min-width:0}.transfer-input legend{font-size:22px;font-weight:700;margin-bottom:18px}.transfer-input label{display:grid;gap:8px;font-size:15px;font-weight:600;min-width:0}.transfer-input label>span,.transfer-input small{font-weight:400;color:#566b71}.transfer-input input,.transfer-input select,.transfer-input textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #b5c9c5;border-radius:9px;padding:12px;width:100%;min-width:0;box-sizing:border-box;min-height:46px}.transfer-input input:focus,.transfer-input select:focus,.transfer-input textarea:focus{outline:2px solid var(--teal);outline-offset:2px}.transfer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.transfer-wide{grid-column:1/-1}.transfer-check{display:flex!important;align-items:center;gap:12px!important}.transfer-check input{width:22px;height:22px;min-height:22px}.transfer-price{position:sticky;top:24px;background:#edf5f3;padding:24px;border-radius:20px;min-width:0}.transfer-line{display:flex;justify-content:space-between;gap:16px;margin:12px 0}.transfer-total{font-size:36px;line-height:1.2;font-weight:700;margin:14px 0 4px}.transfer-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.transfer-review-card{border:1px solid #dce8e6;border-radius:18px;padding:22px;overflow-wrap:anywhere}.transfer-review-card h3{font-size:21px;margin:0 0 14px}.transfer-benefits{display:grid;grid-template-columns:1fr 1fr;gap:32px}.transfer-hub [hidden]{display:none!important}#transfer-error{color:#a32d24}#transfer-hours{margin-top:18px}.transfer-hub h2{font-size:28px}.transfer-hub *{box-sizing:border-box}.transfer-hub input[type=date],.transfer-hub input[type=time]{max-width:100%}
@media(max-width:760px){.transfer-hero,.transfer-layout,.transfer-benefits{grid-template-columns:minmax(0,1fr);gap:20px}.transfer-hero img{aspect-ratio:16/10;order:-1}.transfer-hub section{padding:22px 0}.transfer-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.transfer-service{padding:16px}.transfer-service h3{font-size:18px}.transfer-service strong{font-size:20px}.transfer-service .btn{padding:10px 12px;font-size:14px}.transfer-price{position:static;grid-row:1}.transfer-fields,.transfer-review-grid{grid-template-columns:minmax(0,1fr)}.transfer-wide{grid-column:auto}.transfer-hero h1{font-size:32px}.transfer-actions .btn{flex:1;min-width:0}.transfer-review-card{padding:18px}.transfer-hub{padding-bottom:env(safe-area-inset-bottom)}.transfer-input legend{font-size:20px}}

.transfer-time-parts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.transfer-time-parts select:disabled{opacity:.6}
/* Quote-first journey: reuse Wandoras surfaces and keep operational details in step two. */
.transfer-services{grid-template-columns:repeat(5,minmax(0,1fr))}.transfer-service{padding:18px;background:#fff}.transfer-service h3{font-size:19px}.transfer-service p{font-size:14px;line-height:1.45}.transfer-service strong{font-size:21px}.transfer-service.selected{border:2px solid #087f78;background:#eef7f5;padding:17px}.transfer-service .btn{width:100%;padding:10px 14px}.transfer-service.selected .btn{background:#087f78;color:#fff}.transfer-price .btn{width:100%;margin-top:18px}.transfer-input details{margin:18px 0}.transfer-input summary,.transfer-price summary{cursor:pointer;font-weight:600;padding:10px 0}.transfer-input details[open] .transfer-fields{margin-top:14px}.transfer-input details label{margin:12px 0}.transfer-stepper{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0}.transfer-stepper>div{display:flex;align-items:center;gap:8px}.transfer-stepper input{width:52px;padding:8px 2px;text-align:center;appearance:textfield;-moz-appearance:textfield;border:0;font-size:18px;font-weight:700}.transfer-stepper input::-webkit-inner-spin-button{appearance:none}.transfer-stepper button{width:42px;height:42px;border:1px solid #b5c9c5;border-radius:50%;background:#fff;color:#087f78;font-size:22px;cursor:pointer}.transfer-stepper label{display:block;font-size:16px}.transfer-back,.transfer-add{background:transparent;border:0;color:#087f78;font:inherit;font-weight:600;cursor:pointer;padding:12px 0}.transfer-back{margin-bottom:18px}.transfer-datetime>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:8px}.transfer-datetime>span{font-size:15px;font-weight:600}.transfer-datetime>div>label{font-size:14px}.transfer-input fieldset{margin-bottom:16px;padding-bottom:16px}#transfer-summary{font-size:15px;line-height:1.6;overflow-wrap:anywhere}.transfer-price details{font-size:14px}.transfer-price .transfer-total{font-size:40px;margin-top:10px}.transfer-input [type=hidden]{display:none!important}.transfer-input>[hidden]{display:none!important}
@media(max-width:1000px){.transfer-services{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.transfer-services{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-service{padding:16px}.transfer-service.selected{padding:15px}.transfer-price{grid-row:auto}.transfer-datetime>div{grid-template-columns:minmax(0,1fr)}.transfer-layout{gap:18px}.transfer-service h3{font-size:18px}.transfer-service strong{font-size:19px}.transfer-service p{margin:8px 0}.transfer-hub #transfer-form{padding-top:12px}.transfer-hub #transfer-services{padding-bottom:16px}}

.transfer-hotel{position:relative;min-width:0;margin:8px 0}.transfer-hotel ul{list-style:none;margin:4px 0;padding:0;max-height:230px;overflow:auto;border:1px solid #c6dedd;border-radius:12px;background:#fff}.transfer-hotel li{padding:12px;cursor:pointer}.transfer-hotel li[aria-selected=true],.transfer-hotel li:hover{background:#edf7f5}.transfer-hotel li small{display:block;color:#536c73}.transfer-hotel-selected{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#edf7f5;border-radius:12px}.transfer-hotel-selected button,.transfer-stop>[data-remove-stop]{background:none;border:0;color:#087b78;padding:10px;cursor:pointer}.transfer-hotel [hidden]{display:none!important}.transfer-hotel>a{font-size:14px}.transfer-stop{border-bottom:1px solid #dce8e8;padding-bottom:8px}

/* Transfer journey controls: no layout or commerce changes outside this hub. */
.transfer-hub .transfer-service.selected{border-color:#087f78;outline:none;box-shadow:0 0 0 1px #087f78;background:#eef7f5}
.transfer-hub .transfer-service.selected .btn{border-color:#087f78;color:#087f78;background:white;box-shadow:none}
.transfer-hub .transfer-service .btn:focus-visible{outline:2px solid #087f78;outline-offset:3px}
.transfer-hub .transfer-manual{border-style:dashed;background:#f6f8f8}
.transfer-hub .transfer-datetime label{display:block;width:100%;min-width:0}
.transfer-hub input[type=datetime-local]{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.transfer-hub .transfer-service p{font-size:.88rem;line-height:1.4}
.transfer-hub #transfer-summary p{font-size:.95rem;line-height:1.5;margin:.6rem 0}
/* Compact service selection and route-first booking module. */
.transfer-hub #transfer-services{padding-bottom:18px}
.transfer-hub #transfer-form{padding:24px 0 64px;border-bottom:1px solid #dce8e6;margin-bottom:28px}
.transfer-hub .transfer-services{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.transfer-hub button.transfer-service{position:relative;text-align:left;justify-content:flex-start;gap:8px;padding:18px;border:1px solid #dce8e6;border-radius:16px;background:#fff;color:var(--ink);font:inherit;cursor:pointer;min-width:0;box-shadow:none}
.transfer-hub button.transfer-service.selected{padding:18px;background:#edf7f5;border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);outline:none}
.transfer-service-title{font-size:18px;font-weight:700;padding-right:14px}
.transfer-service-desc{font-size:14px;line-height:1.4;color:#566b71}
.transfer-hub button.transfer-service strong{font-size:20px;margin:5px 0 0;line-height:1.35}
.transfer-hub button.transfer-service small{font-size:13px;font-weight:500;white-space:normal}
.transfer-checkmark{color:var(--teal);font-weight:700}.transfer-service>.transfer-checkmark{position:absolute;right:14px;top:14px}
.transfer-saving{color:var(--teal)}
.transfer-hire-banner{margin-top:16px;width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;background:#f5f8f8;border:1px solid #e0e9e7;border-radius:14px;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.transfer-hire-banner>span{display:grid;gap:5px}.transfer-hire-banner strong{font-size:16px}.transfer-hire-banner span span{font-size:14px}.transfer-hire-action{color:var(--teal);font-weight:600}.transfer-hire-action small{font-size:12px;font-weight:500;color:#566b71}.transfer-hire-banner.selected{border-color:var(--teal);background:#edf7f5}
.transfer-hub [data-service]:focus-visible,.transfer-picker-trigger:focus-visible,.transfer-time-list button:focus-visible,.transfer-hub .wa-calendar button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.transfer-hub .transfer-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:40px}
.transfer-hub .transfer-route-fields{grid-template-columns:minmax(0,1fr);gap:8px;max-width:720px}
.transfer-route-fields>.transfer-hotel{margin:0}.transfer-route-fields>.transfer-hotel:nth-child(2){position:relative;margin-top:20px}

.transfer-route-fields>.transfer-note{margin:4px 0 14px}.transfer-hotel label{margin-bottom:8px}
.transfer-schedule{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;margin:8px 0;align-items:start;min-width:0}
.transfer-date-control,.transfer-time-control{position:relative;min-width:0;font-size:15px;font-weight:600}
.transfer-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;width:100%;min-width:0;min-height:48px;background:white;border:1px solid #b5c9c5;border-radius:10px;padding:12px;font:inherit;font-weight:500;color:var(--ink);text-align:left;cursor:pointer}
.transfer-picker-trigger:disabled{opacity:.5;cursor:default}.transfer-calendar-pop{position:absolute;z-index:10;top:100%;left:0;width:340px;max-width:calc(100vw - 48px);margin-top:6px;box-shadow:0 8px 28px #102d3718;border-radius:14px}
.transfer-calendar-pop .wa-calendar{max-width:none}.transfer-time-list{position:absolute;top:100%;left:0;right:0;z-index:11;max-height:250px;overflow:auto;margin-top:6px;padding:6px;background:#fff;border:1px solid #c6dedd;border-radius:12px;box-shadow:0 8px 28px #102d3718}
.transfer-time-list button{display:block;width:100%;font:inherit;font-weight:500;min-height:42px;background:#fff;border:0;border-radius:7px;padding:10px 12px;color:var(--ink);text-align:left;cursor:pointer}.transfer-time-list button:hover,.transfer-time-list button[aria-selected=true]{background:#edf7f5;color:var(--teal)}
.transfer-hub .transfer-price{padding:28px;background:#f3f7f6;border:1px solid #e0e9e7;min-height:205px}.transfer-price.has-quote{background:#eaf5f2;border-color:#cce4dd}
.transfer-price .eyebrow{color:#48665f}.transfer-price h3{margin:12px 0;font-size:23px}.transfer-price #transfer-summary>strong{display:block;font-size:23px}.transfer-price #transfer-summary p{font-size:15px;line-height:1.55}.transfer-price .transfer-total{font-size:44px;letter-spacing:-.03em;margin-top:20px}.transfer-extended{font-size:14px;color:#325950;margin:12px 0}
.transfer-hub .transfer-price .btn{min-height:46px}.transfer-hub #transfer-continue:disabled{display:none}.transfer-hub .transfer-input fieldset{border-bottom:0;padding-bottom:8px}.transfer-hub .transfer-benefits{padding-top:28px}
@media(max-width:1000px){.transfer-hub .transfer-services{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-hub .transfer-layout{gap:24px}}
@media(max-width:760px){.transfer-hub .transfer-services{grid-template-columns:minmax(0,1fr);gap:9px}.transfer-hub button.transfer-service{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:14px 16px;gap:4px 12px}.transfer-hub button.transfer-service.selected{padding:14px 16px}.transfer-service-title{font-size:16px}.transfer-service-desc{font-size:13px;grid-column:1}.transfer-hub button.transfer-service strong{grid-column:2;grid-row:1/3;font-size:18px;align-self:center;margin:0;max-width:140px;text-align:right}.transfer-hub button.transfer-service strong small{display:block;font-size:12px}.transfer-service>.transfer-checkmark{right:4px;top:3px;font-size:12px}.transfer-hire-banner{display:grid;gap:12px;padding:16px}.transfer-hire-action{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px!important}.transfer-hire-action small{margin-right:auto}.transfer-hub .transfer-layout{grid-template-columns:minmax(0,1fr);gap:20px}.transfer-hub .transfer-price{position:static;padding:22px;min-height:0}.transfer-hub #transfer-form{padding-bottom:32px}.transfer-schedule{gap:12px}.transfer-calendar-pop{width:min(340px,calc(100vw - 48px))}.transfer-hub .transfer-price .transfer-total{font-size:38px}.transfer-picker-trigger{font-size:14px;padding:12px 10px}}

@media(min-width:1001px){.transfer-route-fields .transfer-schedule{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 160px;align-items:start}.transfer-route-fields #transfer-passengers .transfer-stepper{display:block;margin:0}.transfer-route-fields #transfer-passengers .transfer-stepper>div{margin-top:8px;gap:4px;min-height:48px;justify-content:space-between}.transfer-route-fields #transfer-passengers .transfer-stepper input{width:44px}.transfer-route-fields #transfer-passengers label{font-size:15px}}
@media(max-width:1000px){.transfer-route-fields #transfer-passengers{grid-column:1/-1}}

/* Operational capacity and arrival-only add-on. */
.transfer-stepper button:disabled{opacity:.4;cursor:not-allowed}
.transfer-passenger-max{margin:6px 0 16px}
.transfer-service-capacity{font-size:13px;color:#566b71;line-height:1.4}
.transfer-hub .transfer-addon{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:18px 20px;border:1px solid #c6d9d5;border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.transfer-addon-copy,.transfer-addon-choice{display:grid;gap:6px}.transfer-addon-copy>span,.transfer-addon-copy>small{font-size:14px;line-height:1.5;color:#566b71}.transfer-addon-choice{text-align:right;flex-shrink:0}.transfer-addon-choice>span{color:var(--teal);font-size:14px;font-weight:600}
.transfer-hub .transfer-addon[aria-pressed=true]{border-color:var(--teal);background:#edf7f5;box-shadow:inset 0 0 0 1px var(--teal)}
.transfer-addon:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.transfer-hub #transfer-extras{margin-bottom:0;padding-bottom:0}.transfer-hub #transfer-special-request{margin:16px 0 24px}.transfer-hub #transfer-special-request summary{color:var(--teal)}
@media(max-width:760px){.transfer-service-capacity{grid-column:1;font-size:12px}.transfer-hub button.transfer-service strong{grid-row:1/4}}
@media(max-width:430px){.transfer-hub .transfer-addon{padding:16px;gap:16px;align-items:flex-start;flex-direction:column}.transfer-addon-choice{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left}}
/* Transfer details: compact content, one final review at secure checkout. */
.transfer-hub #transfer-form .transfer-input{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;min-height:0;display:block}
.transfer-hub #transfer-details{max-width:680px}.transfer-hub #transfer-details fieldset{min-height:0;height:auto;display:block;padding:0 0 16px;margin:0 0 16px;border:0;border-radius:0;background:transparent}
.transfer-hub .transfer-contact .transfer-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.transfer-contact .transfer-fields label:last-child{grid-column:1/-1;max-width:330px}
.transfer-hub .transfer-input legend{font-size:20px;margin-bottom:12px}.transfer-hub #transfer-operational{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.transfer-hub #transfer-operational .transfer-stepper{margin:8px 0}
.transfer-hub .transfer-price{min-height:0;padding:24px;border:0}.transfer-breakdown{border-bottom:1px solid #cdded9;padding:8px 0}.transfer-line{font-size:15px;line-height:1.4;align-items:baseline}.transfer-line strong{white-space:nowrap}.transfer-hub .transfer-price .transfer-total{margin-top:18px}
.transfer-cancellation{margin:8px 0 18px;font-size:14px;line-height:1.5}.transfer-cancellation>p{margin:4px 0;color:#566b71}.transfer-cancellation details{margin:0 0 10px}.transfer-cancellation summary{padding:6px 0;color:#087f78;font-size:14px}.transfer-cancellation .transfer-check{padding:12px;background:#edf5f3;border-radius:10px;font-size:14px}
.transfer-hub .transfer-check input{appearance:none;flex:none;width:20px;height:20px;min-height:20px;padding:0;border:1.5px solid #648d85;border-radius:5px;display:grid;place-content:center;background:#fff}.transfer-hub .transfer-check input:checked{background:#087f78;border-color:#087f78}.transfer-hub .transfer-check input:checked:after{content:'✓';color:white;font-size:15px;line-height:1}
.transfer-hub #transfer-capacity{margin:4px 0 12px}.transfer-hub #transfer-back{margin:0 0 14px;padding:6px 0;font-size:14px}.transfer-hub #transfer-book-result:empty{display:none}
@media(max-width:760px){.transfer-hub .transfer-contact .transfer-fields{grid-template-columns:minmax(0,1fr)}.transfer-contact .transfer-fields label:last-child{max-width:none}.transfer-hub #transfer-operational{grid-template-columns:minmax(0,1fr);gap:0}.transfer-hub .transfer-price{padding:20px}.transfer-hub #transfer-review-button{width:100%}}

/* Stage 4: the existing transfer date calendar stays inline; time and quote authority are unchanged. */
.transfer-hub .transfer-schedule,.transfer-hub .transfer-route-fields .transfer-schedule{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.transfer-hub .transfer-date-control{grid-column:1/-1}
.transfer-hub .transfer-calendar-inline{margin-top:8px;max-width:390px;min-width:0}
.transfer-hub .transfer-calendar-inline .wa-calendar{width:100%;max-width:none;background:#f7f8f4;color:#182e2d;border-color:#d9ddd4;border-radius:8px}
.transfer-hub .transfer-calendar-inline .wa-calendar button[aria-pressed=true]{background:#174d4b!important;color:#fff!important}
.transfer-hub .transfer-calendar-inline .wa-calendar button:not(:disabled):hover{background:#e2ebe7}
.transfer-hub .transfer-calendar-inline .wa-calendar button[aria-current=date]{box-shadow:inset 0 0 0 1px #174d4b}
.transfer-hub .transfer-selected-date{margin:8px 0 0;font-size:13px;line-height:1.5;color:#65716b;font-weight:400}
.transfer-hub .transfer-selected-date span{color:#182e2d;font-weight:600}
@media(max-width:1000px){.transfer-hub .transfer-schedule,.transfer-hub .transfer-route-fields .transfer-schedule{grid-template-columns:minmax(0,1fr)}}
