/* Requested booking-only readability and alignment corrections. */
#booking-vehicles {grid-template-columns:repeat(3,minmax(0,1fr))!important}
#booking-vehicles article>strong,#booking-vehicles article>span,#booking-vehicles .vehicle-card-facts small,#journey-info>.capacity-note {color:#fff!important}
#booking-vehicles article>strong{font-size:23px!important;line-height:1.2!important}
#booking-vehicles article>span{font-size:15px!important;line-height:1.5!important}
#booking-vehicles .vehicle-card-facts small{font-size:13px!important}
#booking-vehicles .vehicle-real-photo-jump{font-size:13px!important;min-height:44px!important;height:auto!important;border:2px solid #fff!important;color:#075f92!important;background:#fff!important;padding:10px!important}
#vehicle-photos>summary{font-size:18px!important;color:#075f92!important;background:#fff!important;padding:16px 22px!important;border:2px solid #fff!important;cursor:pointer}
#booking-vehicles .vehicle-photo-frame .vehicle-photo--coach{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;position:static!important}
@media(max-width:1100px){#booking-vehicles{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){#booking-vehicles{grid-template-columns:1fr!important}}

#booking-vehicles #coachSeatMap img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;position:static!important}
/* Scope every layout correction to the booking form, not shared page sections. */
#quoteForm .booking-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 24px!important;margin:0!important}
#quoteForm .booking-route-pair{display:grid!important;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr)!important;gap:18px!important;align-items:start!important}
#quoteForm .booking-route-pair>.location-field{grid-column:auto!important;margin:0!important;min-width:0!important}
#quoteForm .booking-route-pair .route-swap-button{grid-column:auto!important;align-self:start!important;margin:28px 0 0!important;min-height:44px!important;width:100%!important;padding:8px!important;font-size:12px!important}
#quoteForm .booking-pair>label,#quoteForm .booking-route-pair>label{margin:0!important;min-width:0!important}
#quoteForm .booking-pair input:not([type=hidden]),#quoteForm .booking-pair select,#quoteForm .booking-route-pair input{min-height:44px!important;box-sizing:border-box!important}
#quoteForm .booking-help,#quoteForm .datetime-example,#quoteForm .datetime-example b,#quoteForm .vehicle-form-hint{font-size:11px!important;line-height:1.45!important;letter-spacing:0!important;font-weight:500!important;text-transform:none!important}
#quoteForm .booking-help,#quoteForm .datetime-example{display:block;margin:5px 0 0!important}
#quoteForm .booking-route-pair .datetime-example{min-height:32px}
#quoteForm #outboundTripStep,#quoteForm #returnDecisionStep,#quoteForm #returnDetailsStep{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0 0 22px!important}
#quoteForm .transfer-fields,#quoteForm #returnRouteFields{padding:0!important;border:0!important;background:transparent!important;gap:18px!important}
#quoteForm .flight-information{border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important;margin:8px 0 0!important;min-width:0!important}
#quoteForm .flight-information>legend{padding:0!important;margin:0 0 8px!important}
#quoteForm .flight-information>p{font-size:11px!important;line-height:1.45!important;margin:0 0 10px!important}
#quoteForm .flight-information>.form-grid{gap:12px 24px!important;margin:0!important;align-items:start!important}
#quoteForm .flight-arrival-field{display:contents!important}
#quoteForm .flight-arrival-field[hidden]{display:none!important}
#quoteForm #outboundPartyFields>*{order:initial!important}
#quoteForm #outboundPartyFields{gap:18px 24px!important}
#quoteForm .booking-step-title{margin:12px 0 0!important;padding:0 0 10px!important}
#quoteForm .booking-step-title p{font-size:12px!important}
#quoteForm .children-section{margin-top:14px}
#quoteForm .children-section>label{max-width:calc(50% - 12px)}
#quoteForm .child-age-fields{display:grid;gap:14px;margin-top:14px}
#quoteForm #outboundLuggage h4{margin:4px 0 12px}
#quoteForm .luggage-capacity-help{margin:10px 0!important}
#quoteForm #returnDetailsStep .return-choice-group{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
#quoteForm #returnDetailsStep .return-choice-group legend{padding:0;margin:0 0 12px}
#quoteForm #returnDetailsStep .return-choice-sections{margin:18px 0;gap:18px}
#quoteForm #returnDetailsStep .return-inherited-summary{background:transparent!important;border:0!important;padding:0!important;margin-top:10px!important;font-size:12px!important}
#quoteForm .return-choice-card{padding:12px!important}
#quoteForm .return-choice-card strong{font-size:13px!important}
#quoteForm #additionalNotes{min-height:76px!important;height:76px;resize:vertical}
#quoteForm .stopover-field-link{font-size:13px!important;font-weight:800!important;text-decoration:underline!important}
#quoteForm .submit{margin-top:16px!important}
#quoteForm #whatsappQuote{box-shadow:none!important;font-size:14px!important}
#quoteForm #transferReview{margin-bottom:18px}
#quoteForm #transferReviewSummary{font-size:12px!important}
@media(max-width:760px){
 #quoteForm .booking-pair{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 #quoteForm .booking-route-pair{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 #quoteForm .booking-route-pair .route-swap-button{margin:0!important;justify-self:center;max-width:240px}
 #quoteForm .children-section>label{max-width:none}
 #quoteForm .booking-route-pair .datetime-example{min-height:0}
 #quoteForm .flight-information>.form-grid{grid-template-columns:minmax(0,1fr)!important}
}
/* Keep descriptions readable on the existing blue vehicle-section background. */
#booking-vehicles article{background:transparent!important;grid-template-rows:240px 56px 44px 90px 48px 180px!important;min-height:658px!important}
#booking-vehicles .vehicle-photo-frame{height:240px!important;width:100%!important;background:transparent!important}
#booking-vehicles .vehicle-photo-frame img.vehicle-photo{position:static!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;transform:none!important}
#booking-vehicles .seat-map-frame{height:180px!important;width:100%!important}
#booking-vehicles .seat-map-frame img.seat-map{position:static!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;transform:none!important}
#booking-vehicles .vehicle-real-photo-jump{border-color:#075f92!important}
#quoteForm .booking-pair .datetime-control input{margin-top:7px!important}
#quoteForm .booking-pair .calendar-toggle{height:44px!important;min-height:44px!important}
#booking-vehicles article{grid-template-rows:240px 60px 48px 100px 70px 180px!important}
#booking-vehicles article>strong{grid-row:3!important;height:auto!important;min-height:0!important}
#booking-vehicles article>span{grid-row:4!important;height:auto!important;min-height:0!important;margin:0!important}
#booking-vehicles article>.vehicle-card-facts{grid-row:5!important;height:auto!important;min-height:0!important;margin:0!important;display:flex!important;flex-wrap:wrap;align-content:start;gap:6px 12px!important}
#booking-vehicles .vehicle-card-facts small{white-space:nowrap!important}
#booking-vehicles article>.seat-map-frame{grid-row:6!important;height:180px!important;min-height:0!important;margin:0!important}
#quoteForm .booking-pair input:not([type=hidden]),#quoteForm .booking-pair select,#quoteForm .booking-route-pair input{height:44px!important}
#quoteForm .booking-pair[hidden],#quoteForm .booking-route-pair[hidden]{display:none!important}

/* Three-vehicle display and selection; all other page sections stay unchanged. */
#booking-vehicles article{grid-template-rows:240px 56px 40px 68px auto!important;min-height:0!important;height:auto!important}
#quoteForm .vehicle-choice-field{position:relative;min-width:0;border:0;padding:0;margin:0}
#quoteForm .vehicle-choice-field legend{padding:0;margin-bottom:10px}
#quoteForm .vehicle-model{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none}
#quoteForm .vehicle-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#quoteForm .vehicle-choice{min-width:0}
#quoteForm .vehicle-choice-card{position:relative;display:flex!important;align-items:flex-start;gap:8px;padding:14px!important;border:2px solid #ccdce5;border-radius:12px;cursor:pointer;height:auto!important;min-height:104px;box-sizing:border-box;margin:0!important;background:#fff}
#quoteForm .vehicle-choice-card:has(input:checked){border-color:#075f92;background:#eef7fc}
#quoteForm .vehicle-choice-card:focus-within{outline:2px solid #075f92;outline-offset:2px}
#quoteForm .vehicle-choice-card input{position:absolute;width:1px;height:1px;opacity:0}
#quoteForm .vehicle-choice-card strong{display:block;font-size:14px;padding-right:16px}
#quoteForm .vehicle-choice-card small{display:block;font-size:12px;margin-top:5px}
#quoteForm .vehicle-check{position:absolute;right:8px;top:12px;color:#075f92;visibility:hidden}
#quoteForm input:checked~.vehicle-check{visibility:visible}
#quoteForm .vehicle-choice>a{display:inline-block;font-size:12px;text-decoration:underline;margin-top:8px;color:#075f92}
#vehicle-details{width:min(840px,calc(100vw - 32px));max-height:90vh;padding:20px;border:0;border-radius:16px;color:#12384d;background:#fff;margin:auto;box-sizing:border-box}
#vehicle-details::backdrop{background:rgba(0,0,0,.65)}
#vehicle-details header,#vehicle-details footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
#vehicle-details h3{margin:0;font-size:20px}
#vehicle-details img{display:block;width:100%;height:auto;max-height:58vh;object-fit:contain;margin:12px 0}
#vehicle-details button{padding:8px 14px;border:1px solid #075f92;border-radius:8px;background:#fff;color:#075f92;cursor:pointer;font:inherit}
#vehicle-details button:disabled{opacity:.4;cursor:default}
#vehicle-details footer span{font-size:13px;text-align:center}
@media(max-width:760px){#quoteForm .vehicle-choice-grid{grid-template-columns:1fr}#booking-vehicles article{grid-template-rows:240px 56px auto auto auto!important}#vehicle-details{padding:14px}}

#vehicle-details header,#vehicle-details footer{position:static;padding:0!important;margin:0;min-height:0;background:transparent;box-shadow:none;color:inherit}

/* Unified vehicle panel and compact, equal-height booking previews. */
#booking-vehicles{background:#fff!important;gap:0!important;border-radius:12px;overflow:hidden}
#booking-vehicles article{padding:20px!important;grid-template-rows:240px 48px 40px 68px auto!important}
#booking-vehicles article>strong,#booking-vehicles article>span,#booking-vehicles .vehicle-card-facts small{color:#12384d!important}
#booking-vehicles .vehicle-real-photo-jump{width:100%!important;box-sizing:border-box;border-radius:8px!important;margin:0!important;min-height:40px!important;padding:8px!important}
#quoteForm .vehicle-choice-card{min-height:0;height:100%!important;padding:12px!important}
#quoteForm .vehicle-choice-content{display:flex;flex-direction:column;width:100%;gap:8px}
#quoteForm .vehicle-choice-photo{width:100%;height:82px;object-fit:contain;cursor:zoom-in}
#quoteForm .vehicle-choice-layout{width:100%;height:54px;object-fit:contain;cursor:zoom-in}
#quoteForm .vehicle-check{top:10px;right:10px}
#quoteForm .capacity-decision{padding:12px 14px;font-size:13px}
#quoteForm .capacity-decision p{margin:6px 0}
#quoteForm .capacity-fits{background:transparent;border:0;padding:0;box-shadow:none}
@media(max-width:760px){#booking-vehicles article{grid-template-rows:240px 48px auto auto auto!important}}

#quoteForm .vehicle-choice-card:has(input:checked) .vehicle-check{visibility:visible}

#quoteForm .vehicle-choice-photo{height:64px}
#quoteForm .vehicle-choice-layout{height:38px}
#quoteForm .vehicle-choice-content{gap:6px}
@media(max-width:760px){#quoteForm .vehicle-choice-content{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:6px 12px}#quoteForm .vehicle-choice-content>span:not(.vehicle-check){grid-column:2;grid-row:1 / 3}#quoteForm .vehicle-choice-layout{grid-column:1}#quoteForm .vehicle-choice-photo{grid-column:1}}

/* Shared image → name → capacity hierarchy, with manual arrows only. */
#booking-vehicles article{grid-template-rows:220px 40px 54px auto!important;gap:8px!important}
#booking-vehicles article>strong{grid-row:2!important;padding:0!important;font-size:22px!important;line-height:1.2!important;color:#12384d!important}
#booking-vehicles article>.vehicle-card-facts{grid-row:3!important;display:block!important;padding-top:0!important;border:0!important}
#booking-vehicles .vehicle-card-facts small{display:block!important;margin:0 0 4px!important}
#booking-vehicles article>span{grid-row:4!important;font-size:14px!important;line-height:1.5!important}
.vehicle-pages{position:relative;width:100%;height:220px;min-width:0;box-sizing:border-box;padding:0 24px 20px}
.vehicle-pages img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;position:static!important;transform:none!important}
.vehicle-pages button{position:absolute;top:calc(50% - 22px);width:28px!important;height:36px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:6px;background:#fff;color:#075f92;font-size:20px;cursor:pointer;box-shadow:none!important}
.vehicle-page-prev{left:0}.vehicle-page-next{right:0}
.vehicle-pages button:disabled{opacity:.3;cursor:default}
.vehicle-page-status{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:11px!important;color:#12384d;margin:0!important}
#quoteForm .vehicle-choice-card{display:grid!important;grid-template-rows:150px 24px auto;gap:8px!important;align-items:start!important;padding:12px!important;color:#12384d}
#quoteForm .vehicle-choice-card .vehicle-pages{height:150px}
#quoteForm .vehicle-choice-card>strong{font-size:15px;line-height:24px;padding:0;margin:0}
#quoteForm .vehicle-choice-capacity small{font-size:12px;line-height:18px;margin:0;font-weight:500;letter-spacing:0;text-transform:none}
#quoteForm .vehicle-disclaimer{font-size:14px!important;line-height:1.5!important;margin-top:12px!important;font-weight:400!important}
@media(max-width:760px){#booking-vehicles article{grid-template-rows:220px 40px 54px auto!important}}
/* Values measured from untouched baseline 8ac0cc9; only image paging changes its structure. */
#booking-vehicles{background:transparent!important;gap:28px!important;border-radius:0!important;overflow:visible!important}
#booking-vehicles article{padding:28px 26px!important;background:#fff!important;border:1px solid rgba(7,143,207,.17)!important;border-radius:0!important;grid-template-rows:300px 48px 54px auto!important}
#booking-vehicles .vehicle-pages{height:300px}
#booking-vehicles article>strong{font-size:20px!important;color:#103f58!important;font-weight:700!important}
#booking-vehicles article>span{font-size:13px!important;color:#557281!important;font-weight:400!important}
#booking-vehicles .vehicle-card-facts small{font-size:13px!important;color:#0e3b53!important;font-weight:900!important}
#vehicle-photos>summary{font-size:13px!important;color:#fff!important;background:#078fcf!important;padding:0 22px!important;border:0!important;border-radius:999px!important;height:48px!important}
#quoteForm .vehicle-choice-card>strong{color:#103f58;font-family:inherit;font-weight:700}
#quoteForm .vehicle-choice-capacity small{color:#0e3b53}
@media(max-width:760px){#booking-vehicles article{grid-template-rows:300px 48px 54px auto!important}}
#booking-vehicles .vehicle-pages{padding-left:0;padding-right:0}
#booking-vehicles .vehicle-pages img{background:transparent!important;border-radius:0!important}

/* Requested refinements only: arrows occupy their own tracks outside the image. */
#booking-vehicles .vehicle-pages,#quoteForm .vehicle-pages{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;grid-template-rows:minmax(0,1fr) 20px;gap:0 4px;padding:0!important;align-items:center}
.vehicle-pages img{grid-column:2;grid-row:1;min-width:0;min-height:0}
.vehicle-pages .vehicle-page-prev,.vehicle-pages .vehicle-page-next{position:static;grid-row:1;width:34px!important;height:40px!important;min-height:40px!important;font-size:24px;font-weight:700;border:1px solid #cce4ef!important;border-radius:6px;background:#fff;color:#075f92}
.vehicle-pages .vehicle-page-prev{grid-column:1}.vehicle-pages .vehicle-page-next{grid-column:3}
.vehicle-pages button:not(:disabled):hover{background:#eef7fc;border-color:#075f92!important}
.vehicle-pages button:focus-visible{outline:2px solid #075f92;outline-offset:2px}
.vehicle-pages .vehicle-page-status{position:static;grid-column:1 / -1;grid-row:2}
#quoteForm .vehicle-choice-card{grid-template-rows:180px 24px auto}
#quoteForm .vehicle-choice-card .vehicle-pages{height:180px}
#booking-vehicles article>strong{justify-content:center!important;text-align:center!important}
#booking-vehicles .vehicle-card-facts,#quoteForm .vehicle-choice-card>strong,#quoteForm .vehicle-choice-capacity{text-align:center}
#quoteForm .booking-route-pair{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important}
#quoteForm .booking-route-pair .route-swap-button{font-size:25px!important;line-height:1!important;padding:0!important;width:44px!important;height:44px!important}
@media(max-width:760px){#quoteForm .booking-route-pair{grid-template-columns:minmax(0,1fr)!important}}

/* Added transfer sections reuse the existing form grid and button styles. */
#quoteForm #assistanceDetails,#quoteForm [data-field="assistanceDetails"]{min-height:58px;height:58px;resize:vertical}
#multiTransfers .additional-transfer{margin:18px 0;padding:0;border:0}
#multiTransfers .segment-details{margin-top:14px}
#multiTransfers .segment-details>summary{cursor:pointer;margin-bottom:12px}
#multiTransfers .segment-price,#multiPriceSummary{font-size:14px;line-height:1.5;margin:12px 0}
#multiTransfers .segment-capacity{font-size:13px;margin-top:10px}
#multiTransfers .booking-step-title [data-remove]{font:inherit;font-size:13px;padding:6px 10px;margin-top:6px}

#quoteForm #multiTransfers{border:0;background:transparent;box-shadow:none;padding:0;margin:0 0 22px}

/* Shared gallery action only: distinct from booking and WhatsApp CTAs. */
#vehicle-photos>summary{display:flex!important;align-items:center;justify-content:center;gap:10px;width:fit-content;max-width:100%;box-sizing:border-box;margin:0 auto!important;padding:11px 22px!important;min-height:44px!important;height:auto!important;background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.85)!important;border-radius:6px!important;box-shadow:none!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important;text-decoration:none!important;cursor:pointer}
#vehicle-photos>summary::-webkit-details-marker{display:none}
#vehicle-photos>summary::marker{content:""}
#vehicle-photos>summary:hover{background:rgba(255,255,255,.20)!important;text-decoration:none!important}
#vehicle-photos>summary:focus-visible{outline:3px solid #fff;outline-offset:4px}

/* Vehicle information only: larger visuals, unchanged stable typography and colors. */
#booking-vehicles article{padding:12px 10px 24px!important;grid-template-rows:260px 36px 46px auto!important}
#booking-vehicles .vehicle-pages{height:260px;grid-template-columns:28px minmax(0,1fr) 28px;column-gap:4px}
#booking-vehicles .vehicle-pages button{width:28px!important}
#booking-vehicles .vehicle-visual{grid-column:2;grid-row:1;width:100%;height:100%;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
#booking-vehicles .vehicle-visual img{max-width:none!important;transform:scale(1.06)!important}
#booking-vehicles .vehicle-pages[data-page="1"] .vehicle-visual img{transform:scale(1.30)!important}
#booking-vehicles article>span{text-align:center}
/* Explicit primary recommendation and secondary manual-review choice. */
#capacityDecision [data-capacity-upgrade]{background:#078fcf!important;color:#fff!important;border:1px solid #078fcf!important}
#capacityDecision [data-capacity-keep]{background:#fff!important;color:#075f92!important;border:1px solid #078fcf!important}
#capacityDecision .capacity-actions{display:flex;flex-wrap:wrap;gap:10px}
#capacityDecision .capacity-actions button{white-space:normal;text-align:center;padding:10px 14px}

#booking-vehicles .vehicle-pages[data-page="1"][data-vehicle-pages="minibus9"] .vehicle-visual img,
#booking-vehicles .vehicle-pages[data-page="1"][data-vehicle-pages="microbus18"] .vehicle-visual img{transform:scale(1.18)!important}

/* Add-transfer action only: existing brand button, compact and left-aligned. */
#multiTransfers .add-transfer-action{display:inline-flex!important;width:auto;max-width:100%;margin:0;justify-content:center;font-size:15px!important;font-weight:600!important;min-height:44px!important;padding:10px 18px!important;border-radius:6px;white-space:normal;text-align:center}
#multiTransfers>#addTransferHelp{margin:8px 0 0!important}

/* Optional stopovers only: image-led, native checkbox cards. */
#optional-stopovers .stopover-card-grid,.booking-stopovers-selector .tour-addon-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
#optional-stopovers .stopover-experience-card{margin:0;min-width:0;padding:0;background:transparent;border:0}
#optional-stopovers .stopover-option-card,.booking-stopovers-selector .stopover-option-card{position:relative;display:flex!important;flex-direction:column;align-items:stretch!important;gap:0!important;height:100%;margin:0!important;padding:0!important;overflow:hidden;background:#fff!important;border:2px solid #d9e4e8!important;border-radius:6px;cursor:pointer;text-transform:none!important;letter-spacing:0!important}
#optional-stopovers .stopover-option-card:has(input:checked),.booking-stopovers-selector .stopover-option-card:has(input:checked){border-color:#078fcf!important;box-shadow:0 0 0 1px #078fcf}
#optional-stopovers .stopover-option-card:focus-within,.booking-stopovers-selector .stopover-option-card:focus-within{outline:2px solid #075f92;outline-offset:3px}
#optional-stopovers .stopover-card-image,.booking-stopovers-selector .stopover-card-image{display:block!important;width:100%!important;height:clamp(200px,18vw,240px)!important;object-fit:cover!important;margin:0!important;border-radius:0!important}
#optional-stopovers .stopover-option-card>input,.booking-stopovers-selector .stopover-option-card>input{position:absolute!important;z-index:1;top:12px;right:12px;width:24px!important;height:24px!important;min-height:24px!important;margin:0!important;accent-color:#078fcf;cursor:pointer}
#optional-stopovers .stopover-card-copy,.booking-stopovers-selector .stopover-card-copy{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;color:#103f58}
#optional-stopovers .stopover-card-copy>b,.booking-stopovers-selector .stopover-card-copy>b{font-size:19px!important;line-height:1.3;font-weight:700;color:#103f58}
#optional-stopovers .stopover-card-description,.booking-stopovers-selector .stopover-card-description{font-size:13px!important;line-height:1.5;color:#557281}
#optional-stopovers .stopover-card-copy>small,.booking-stopovers-selector .stopover-card-copy>small{font-size:12px!important;line-height:1.5;color:#557281;margin:0}
#optional-stopovers .stopover-card-copy>a,.booking-stopovers-selector .stopover-card-copy>a{position:static!important;font-size:13px!important;color:#075f92;text-decoration:underline;padding:0;background:transparent}
@media(max-width:600px){#optional-stopovers .stopover-card-grid,.booking-stopovers-selector .tour-addon-grid{grid-template-columns:1fr!important}#optional-stopovers .stopover-card-image,.booking-stopovers-selector .stopover-card-image{height:auto!important;aspect-ratio:16/9}}

/* Booking selections stay compact; browsing cards retain their full photographs. */
.booking-stopovers-selector .stopover-card-copy{padding:16px 48px 16px 16px}
.booking-stopovers-selector .stopover-card-copy>b{font-size:16px!important}
.booking-stopovers-selector .stopover-card-copy>small{font-weight:500}
/* Focal adjustment for this photograph only. */
#stopover-matsumoto-castle .stopover-card-image{object-position:center 30%}

.booking-stopovers-selector[hidden],.booking-stopovers-selector .stopover-option-card[hidden]{display:none!important}

/* Return-option alignment only; all checkbox state handling remains unchanged. */
#multiTransfers .additional-transfer>.policy-check{width:100%;box-sizing:border-box;align-items:center;justify-content:flex-start;padding:0!important;border:0;background:transparent;gap:10px}
#multiTransfers .additional-transfer>.policy-check input{flex-shrink:0}
/* Group existing routes content in its original section and shared site wrap. */
#routes .routes-introduction{display:block!important;margin:0 0 28px!important}
#routes .routes-introduction h2{margin:12px 0 16px!important;line-height:1.12!important}
#routes .routes-introduction>p{max-width:900px!important;margin:0!important}
#routes .routes-content-block{margin:0;padding:24px 0 0}
#routes .routes-content-block+.routes-content-block{margin-top:24px;border-top:1px solid var(--line)}
#routes .routes-content-block>h3{font-family:var(--display);font-size:26px;line-height:1.2;margin:0 0 12px;color:inherit}
#routes .routes-content-block>p:not(.pricing-disclaimer){max-width:900px;margin:0 0 12px!important;line-height:1.6}
#routes .routes-comparison>.price-table{margin-top:20px}
@media(min-width:1024px){#routes .routes-introduction h2{white-space:nowrap;font-size:clamp(32px,3.7vw,52px)!important}}
@media(max-width:760px){#routes .routes-introduction{margin-bottom:18px!important}#routes .routes-content-block{padding-top:18px}#routes .routes-content-block+.routes-content-block{margin-top:18px}#routes .routes-content-block>h3{font-size:22px}}

/* Strong selected state without changing card dimensions or selection behavior. */
#quoteForm .vehicle-choice-card:hover{border-color:#5386a4}
#quoteForm .vehicle-choice-card:has(input:checked){border-color:#075f92;box-shadow:inset 0 0 0 1px #075f92;background:#e8f4fb}
#quoteForm .vehicle-choice-card .vehicle-check{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#075f92;color:#fff;font-size:18px;font-weight:700;line-height:1;z-index:2}

/* No trailing comparison-section gap after the shorter route introduction. */
#routes.section{padding-bottom:48px!important}

/* One shared selection marker, matching the 24px stopover checkbox. */
:is(#optional-stopovers,.booking-stopovers-selector) .stopover-option-card>input,
#quoteForm .vehicle-choice-card .vehicle-check,
#quoteForm .return-choice-card>input{
 appearance:none!important;position:absolute!important;top:12px!important;right:12px!important;
 width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;margin:0!important;
 border:1px solid #8999a3!important;border-radius:3px!important;background:#fff!important;
 box-sizing:border-box!important;opacity:1!important;z-index:2;font-size:0!important;
}
:is(#optional-stopovers,.booking-stopovers-selector) .stopover-option-card>input:checked,
#quoteForm .vehicle-choice-card:has(input:checked) .vehicle-check,
#quoteForm .return-choice-card>input:checked{
 border-color:#078fcf!important;background-color:#078fcf!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4 10-10' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-size:20px 20px!important;background-position:center!important;background-repeat:no-repeat!important;
}
#quoteForm .return-choice-card{position:relative;padding-right:48px!important}
:is(#optional-stopovers,.booking-stopovers-selector) .stopover-option-card>input:focus-visible{outline:2px solid #075f92;outline-offset:3px}
#multiTransfers [data-segment-keep]{background:#fff!important;color:#075f92!important;border:1px solid #078fcf!important}
#multiTransfers .segment-capacity[hidden]{display:none!important}
#hakuba-route-map .map-route-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#hakuba-route-map .map-route-facts>a{display:flex!important;flex-direction:column;min-width:0}
@media(max-width:760px){#hakuba-route-map .map-route-facts{grid-template-columns:1fr!important}}

/* Booking-only checkbox alignment and customer-facing multi-trip summary. */
#quoteForm .policy-check{align-items:center!important;justify-content:flex-start;gap:10px}
#quoteForm .policy-check>span{flex:0 1 auto;min-width:0}
#quoteForm .policy-check input{flex:0 0 18px}
#multiTransfers .additional-transfer>.booking-route-pair{margin-bottom:14px}
#multiPriceSummary{margin-top:24px;color:#103f58}
#multiPriceSummary h3{margin:0 0 16px}
.transfer-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.transfer-summary-card,.trip-summary{border:1px solid rgba(7,143,207,.22);border-radius:12px;background:#fff;padding:20px;min-width:0}
#multiPriceSummary .summary-eyebrow{display:block;color:#557281;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
#multiPriceSummary .summary-route{font-size:20px;line-height:1.35;margin:8px 0 12px;overflow-wrap:anywhere}
#multiPriceSummary p{font-size:14px;line-height:1.5;margin:6px 0;color:#557281}
#multiPriceSummary .summary-fare{display:block;font-size:20px;margin-top:14px}
.trip-summary{margin-top:16px;background:#eef9ff}
#multiPriceSummary .trip-summary h4{margin:0;font-size:16px}
.trip-summary dl{margin:16px 0}
.trip-summary dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:10px 0;font-size:14px}
.trip-summary dd{margin:0;text-align:right;font-weight:600}
.trip-summary .summary-total{border-top:1px solid rgba(7,143,207,.22);padding-top:14px;font-size:18px;font-weight:700}
@media(max-width:760px){.transfer-summary-grid{grid-template-columns:1fr}.transfer-summary-card,.trip-summary{padding:16px}}

/* Supporting copy for the existing continuation actions. */
#quoteForm .booking-continuation-intro{margin-top:20px}
#quoteForm .booking-continuation-intro h3{margin:0 0 6px;color:#103f58;font-size:18px;line-height:1.4}
#quoteForm .booking-continuation-intro p,#quoteForm .booking-continuation-help{color:#557281;font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none}
#quoteForm .booking-continuation-intro p{margin:0}
#quoteForm .booking-continuation-help{margin:6px 0 14px}

/* Preserve button dimensions; align only this dock at the overlapping breakpoint. */
@media(min-width:761px) and (max-width:1100px){
 #hakuba-contact-actions{justify-content:flex-end!important}
}

/* Access Map only: static introduction, no duplicated route display, integrated branding. */
#hakuba-route-map .section-head>p{cursor:default!important;text-decoration:none!important}
#hakuba-route-map .map-route-facts{display:none!important}
#hakuba-route-map .access-map-logo-replacement{
 top:1.9%!important;right:2%!important;width:16%!important;height:11.4%!important;
 flex-direction:column;background:#ebc650 url("assets/maps/hakuba-region-map-v31.png?v=31") 81% 28% / 900% 1200%!important;
 border-radius:0!important;gap:3px;
 -webkit-mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent),linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
 -webkit-mask-composite:source-in;mask-composite:intersect;
}
#hakuba-route-map .access-map-logo-replacement img{width:65%!important;max-height:54%!important}
#hakuba-route-map .access-map-logo-replacement small{font-size:clamp(5px,.8vw,11px);line-height:1.2;color:#49390c;white-space:nowrap}
/* Only the new child-seat quantity block. */
#quoteForm .children-section .child-seat-request{margin:12px 0}
#quoteForm .children-section .child-seat-request>label{margin-bottom:6px}
#quoteForm .children-section .child-seat-request .booking-help{margin:4px 0!important}
#quoteForm .children-section .child-seat-request select{max-width:160px}

/* Child subsection only: independent age rows and booking-level seat request. */
#quoteForm .children-section .child-age-heading{font-size:12px;font-weight:700;margin:14px 0 8px}
#quoteForm .children-section .child-age-row{display:grid!important;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:10px;margin:0!important}
#quoteForm .children-section .child-age-row select{margin:0!important}
#quoteForm .children-section .child-seat-request>select{max-width:160px}
#quoteForm .children-section .child-seat-quantity{margin-top:12px}

/* Compact child information panel; no selectors outside this subsection. */
#quoteForm .children-section:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 24px;align-items:start}
#quoteForm .children-section .child-count-group{grid-column:1;grid-row:1;min-width:0}
#quoteForm .children-section .child-seat-request{grid-column:2;grid-row:1;margin:0}
#quoteForm .children-section .child-ages-group{grid-column:1;grid-row:2;min-width:0}
#quoteForm .children-section .child-age-heading{margin:0 0 8px}
#quoteForm .children-section .child-age-fields{display:flex;flex-wrap:wrap;gap:10px 14px;margin:0}
#quoteForm .children-section .child-age-row{flex:0 0 auto;grid-template-columns:70px minmax(0,1fr);width:min(230px,100%);max-width:100%;min-width:0}
#quoteForm .children-section .child-age-row{height:44px;padding:0}
#quoteForm .children-section .child-age-row>span{white-space:nowrap}
#quoteForm .children-section .child-age-row select{height:44px;min-height:44px;min-width:0;box-sizing:border-box}
#quoteForm .children-section .child-seat-request>select{max-width:none}
#quoteForm .children-section>.child-seat-quantity{grid-column:2;grid-row:2;max-width:none;margin:0}
@media(max-width:760px){
 #quoteForm .children-section:not([hidden]){grid-template-columns:minmax(0,1fr)}
 #quoteForm .children-section .child-count-group,#quoteForm .children-section .child-seat-request,#quoteForm .children-section .child-ages-group,#quoteForm .children-section>.child-seat-quantity{grid-column:1;grid-row:auto}
 #quoteForm .children-section .child-age-row{flex-basis:100%;width:100%}
}

/* Per-child age and seat controls, limited to the child subsection. */
#quoteForm .children-section .child-ages-group{grid-column:1 / -1}
#quoteForm .children-section .child-age-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
#quoteForm .children-section .child-requirement-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center}
#quoteForm .children-section .child-requirement-row>strong{white-space:nowrap}
#quoteForm .children-section .child-requirement-row>label{display:flex!important;align-items:center;gap:10px;margin:0!important;min-width:0}
#quoteForm .children-section .child-requirement-row select{flex:1;min-width:0;width:100%;height:44px;margin:0!important}
#quoteForm .children-section .child-seat-price,#quoteForm .children-section .child-seat-total{margin:8px 0!important}
@media(max-width:760px){
 #quoteForm .children-section .child-requirement-row{grid-template-columns:minmax(0,1fr);gap:6px}
 #quoteForm .children-section .child-requirement-row>label{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #quoteForm .children-section .child-age-fields{gap:16px}
}

/* Mobile booking: remove intro dock clearance; keep the actual page-end clearance. */
.stopover-options>summary{display:none}
#emailPlainText{width:100%;box-sizing:border-box;font-size:16px;line-height:1.5}
@media(max-width:760px){
 #book #request-booking-form{padding-bottom:0!important}
 #quoteForm #booking-stopovers-field{margin:24px 0 16px!important;padding:16px!important;border:1px solid #cce4ef!important;border-radius:10px}
 #quoteForm #booking-stopovers-field legend{font-size:17px!important;text-transform:none;letter-spacing:0}
 #quoteForm #booking-stopovers-field legend>span{display:none}
 .stopover-options>summary{display:block;cursor:pointer;color:#075f92;font-size:14px;font-weight:700;padding:8px 0}
 .stopover-options>summary:before{content:'+ ';font-size:18px}
 .stopover-options[open]>summary:before{content:'− '}
 .stopover-options>summary span{display:block;font-size:12px;font-weight:400;margin-top:5px}
 .stopover-options .tour-addon-grid{margin-top:12px}
 #quoteForm #booking-submit-guide{font-size:21px!important;text-align:left;margin:22px 0 12px!important}
 #quoteForm #bookingExtraTransfer{margin-top:24px;padding-top:18px;border-top:1px solid #cce4ef}
 #quoteForm #bookingExtraTransfer h3{font-size:15px}
 #quoteForm #bookingExtraTransfer .booking-step-title{border:0;margin-bottom:8px;padding:0}
 #quoteForm #bookingExtraTransfer button{background:#fff!important;color:#075f92!important;border:1px solid #cce4ef!important}
 #quoteForm #multiTransfers:has(#additionalTransfers:empty){display:none}
 #quoteForm .booking-continuation-intro{display:none}
 #quoteForm #multiPriceSummary{margin-bottom:16px}
}

.booking-notes>summary{display:none}
@media(max-width:760px){
 #quoteForm .booking-notes{margin:12px 0}
 #quoteForm .booking-notes>summary{display:list-item;cursor:pointer;color:#557281;font-size:13px;padding:8px 0}
 #quoteForm #booking-submit-guide{background:transparent!important;border:0!important;padding:0!important}
}
@media(min-width:761px){#quoteForm .booking-notes{display:contents}}

.mobile-stopover-help{display:none}
@media(max-width:760px){#quoteForm .mobile-stopover-help{display:block;font-size:12px;line-height:1.5}}

/* The final booking hierarchy applies at every viewport width. */
#quoteForm .booking-stopovers-selector{margin:24px 0 16px!important;padding:16px!important;border:1px solid #cce4ef!important;border-radius:10px}
#quoteForm .booking-stopovers-selector legend{font-size:17px!important;text-transform:none;letter-spacing:0}
#quoteForm .booking-stopovers-selector legend>span{display:none}
#quoteForm .stopover-options>summary{display:block;cursor:pointer;color:#075f92;font-size:14px;font-weight:700;padding:8px 0}
#quoteForm .stopover-options>summary:before{content:'+ ';font-size:18px}
#quoteForm .stopover-options[open]>summary:before{content:'− '}
#quoteForm .stopover-options>summary span{display:block;font-size:12px;font-weight:400;margin-top:5px}
#quoteForm .mobile-stopover-help{display:block;font-size:12px;line-height:1.5}
#quoteForm #multiTransfers:has(#additionalTransfers:empty){display:none}
#quoteForm #bookingExtraTransfer{margin:24px 0;padding-top:18px;border-top:1px solid #cce4ef}
#quoteForm #bookingExtraTransfer h3{font-size:15px}
#quoteForm #bookingExtraTransfer .booking-step-title{border:0;margin-bottom:8px;padding:0}
#quoteForm #bookingExtraTransfer button{background:#fff!important;color:#075f92!important;border:1px solid #cce4ef!important}
#quoteForm .booking-continuation-intro{display:block}
#quoteForm .booking-continuation-intro h3{font-size:18px}
#quoteForm #booking-submit-guide{font-size:21px!important;text-align:left;margin:22px 0 12px!important;background:transparent!important;border:0!important;padding:0!important}

/* Compact selectors only; the large informational cards keep their images and content. */
#quoteForm .booking-stopovers-selector .tour-addon-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
#quoteForm .booking-stopovers-selector .booking-stopover-thumbnail{display:block;width:100%;height:76px;object-fit:cover;margin:0}
#quoteForm .booking-stopovers-selector .stopover-card-copy{padding:10px;gap:6px}
#quoteForm .booking-stopovers-selector .stopover-card-copy>b{font-size:14px!important;line-height:1.3}
#quoteForm .booking-stopovers-selector .stopover-card-copy>small{font-size:11px!important;line-height:1.4}
#quoteForm .booking-stopovers-selector .stopover-card-copy>a{font-size:12px!important;margin-top:auto}
#quoteForm .booking-stopovers-selector .stopover-option-card>input{top:7px!important;right:7px!important}
#optional-stopovers .stopover-experience-card>.stopover-option-card{cursor:default}
#optional-stopovers .stopover-experience-card{scroll-margin-top:100px}
#quoteForm #bookingExtraTransfer #addMoreTransfers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
#quoteForm #bookingExtraTransfer #addMoreTransfers button{width:100%;min-height:48px;margin:0!important;padding:12px 16px!important;background:#edf7fc!important;border:1px solid #6d9fba!important;border-radius:6px;font-size:14px;cursor:pointer}
#quoteForm #bookingExtraTransfer #addMoreTransfers button:hover{background:#dceff9!important;border-color:#075f92!important}
#quoteForm #bookingExtraTransfer #addMoreTransfers button:focus-visible{outline:3px solid #075f92;outline-offset:3px}
@media(max-width:760px){
 #quoteForm .booking-stopovers-selector .tour-addon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 #quoteForm .booking-stopovers-selector .booking-stopover-thumbnail{height:64px}
 #quoteForm #bookingExtraTransfer #addMoreTransfers{grid-template-columns:1fr}
}

#quoteForm .stopover-intro-heading{margin:8px 0;color:#075f92;font-size:14px}
#quoteForm .stopover-options>p{font-size:12px;line-height:1.5}
#quoteForm .booking-stopovers-selector .stopover-card-copy>small{white-space:normal}
#selectedStopoverDetails[hidden],#selectedStopoverDetails .stopover-experience-card[hidden]{display:none!important}
#selectedStopoverDetails{margin-top:20px}
#selectedStopoverDetails>summary{font-size:20px;font-weight:700;cursor:pointer;padding:14px 0}
#optional-stopovers #selectedStopoverDetails .stopover-card-grid{grid-template-columns:minmax(0,1fr)!important;max-width:720px}
#optional-stopovers #selectedStopoverBookingStatus{margin:16px 0;color:#fff}
#optional-stopovers #returnToStopoverBooking{margin-bottom:16px;background:#fff;color:#075f92;border:1px solid #fff}

/* Booking review and transfer-specific stopover hierarchy. */
#quoteForm #capacityDecision,#quoteForm .segment-capacity{padding:12px 16px!important;margin:12px 0!important;min-height:0}
#quoteForm #capacityDecision p,#quoteForm .segment-capacity p{margin:4px 0 0!important;font-size:13px;line-height:1.45}
#quoteForm .stopover-details-button{display:inline-flex!important;background:#edf7fc!important;color:#075f92!important;border:1px solid #87b2ca!important;border-radius:6px;min-height:44px;padding:10px 16px!important;margin:4px 0 14px;font-size:13px}
#quoteForm .stopover-details-button:hover{background:#dceff9!important}
#quoteForm .stopover-details-button:focus-visible{outline:3px solid #075f92;outline-offset:3px}
#quoteForm .booking-stopovers-selector .booking-stopover-thumbnail{display:block;width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover!important;background:#edf7fc}
#quoteForm .booking-stopover-thumbnail[src*="snow-monkey"]{object-position:50% 58%!important}
#quoteForm .booking-stopover-thumbnail[src*="matsumoto-castle"]{object-position:50% 38%!important}
#quoteForm .booking-stopover-thumbnail[src*="zenkoji"]{object-position:50% 65%!important}
#quoteForm .booking-stopover-thumbnail[src*="togakushi"]{object-fit:contain!important;object-position:50% 50%!important}
#quoteForm #bookingReviewLayout{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:24px;grid-column:1/-1;align-items:start;width:100%;min-width:0}
#quoteForm #bookingReviewLayout #multiPriceSummary{margin:0!important;min-width:0;max-width:none;width:100%}
#quoteForm #bookingReviewLayout .transfer-summary-grid{grid-template-columns:minmax(0,1fr)}
#quoteForm #bookingReviewLayout #bookingExtraTransfer{margin:0!important;padding:20px!important;background:#f3f9fc;border:1px solid #cce4ef;border-radius:12px;min-width:0}
#quoteForm #bookingReviewLayout #bookingExtraTransfer h3{font-size:20px;margin:0 0 10px}
#quoteForm #bookingReviewLayout #addMoreTransfers{display:flex;flex-direction:column;gap:8px;margin:16px 0 0}
#quoteForm #bookingReviewLayout #addMoreTransfers p{margin:0 0 12px;font-size:13px;line-height:1.5}
#quoteForm #bookingReviewLayout #addMoreTransfers button{width:100%;min-height:48px;font-weight:700;font-size:14px}
#quoteForm #bookingTotalSummary{grid-column:1/-1;width:100%;margin:20px 0;max-width:none}
#quoteForm #bookingTotalSummary h4{font-size:20px;margin:0}
@media(max-width:1100px){#quoteForm #bookingReviewLayout{grid-template-columns:minmax(0,1fr);gap:16px}}
/* Final transfer status and inherited-detail controls. */
#quoteForm .stopover-details-button{display:flex!important;width:max-content;max-width:100%;margin:12px auto 18px!important;justify-content:center}
#quoteForm .booking-stopovers-selector{scroll-margin-top:110px}
#quoteForm .transfer-header{display:flex!important;align-items:center;justify-content:space-between;gap:24px}
#quoteForm .transfer-header h3{margin:0!important}
#quoteForm .transfer-header [data-remove]{width:auto!important;min-height:40px;background:transparent!important;color:#9b3535!important;border:0!important;padding:8px!important;font-size:13px!important;text-decoration:underline}
#quoteForm .inheritance-summary{padding:12px 0;grid-column:1/-1}
#quoteForm .inheritance-summary h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}
#quoteForm .inheritance-summary p{font-size:13px;margin:5px 0;overflow-wrap:anywhere}
#quoteForm .segment-details>summary,#quoteForm [data-edit-contact],#quoteForm .inheritance-reset{color:#075f92;background:#edf7fc;border:1px solid #b5d2e3;border-radius:5px;padding:10px 12px;font-size:13px;cursor:pointer;min-height:42px;white-space:normal}
#quoteForm .inheritance-reset{margin:8px 0;width:max-content;max-width:100%}
#quoteForm .segment-details>summary{list-style:none}
#quoteForm .segment-details>summary::-webkit-details-marker{display:none}
.transfer-removal-dialog{max-width:420px;width:calc(100% - 36px);border:1px solid #cadde7;border-radius:12px;padding:24px;color:#103f58}
.transfer-removal-dialog::backdrop{background:rgba(5,35,55,.45)}
.transfer-removal-dialog h3{margin:0 0 12px;font-size:20px}
.transfer-removal-dialog p{font-size:14px;line-height:1.5}
.transfer-removal-dialog>div{display:flex;justify-content:flex-end;gap:12px}
.transfer-removal-dialog button{min-height:44px;border:1px solid #b8cbd7;border-radius:6px;background:#fff;padding:10px 14px;color:#103f58}
.transfer-removal-dialog [data-confirm]{background:#a73737;color:#fff;border-color:#a73737}
#quoteForm .stopover-selected-label svg{width:16px;height:16px;vertical-align:middle;margin-right:5px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* Shared booking actions and compact, transfer-specific contact editing. */
#quoteForm .booking-secondary-action,#emailPanel .booking-secondary-action,
#quoteForm #bookingReviewLayout #addMoreTransfers .booking-secondary-action{
 display:inline-flex!important;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;
 width:fit-content;max-width:100%;min-height:44px!important;padding:10px 16px!important;
 border:1px solid #87b2ca!important;border-radius:6px!important;background:#edf7fc!important;color:#075f92!important;
 font-family:inherit;font-size:13px!important;font-weight:600!important;line-height:1.5!important;text-decoration:none!important;cursor:pointer;white-space:normal;text-align:center;
}
#quoteForm .booking-secondary-action:hover,#emailPanel .booking-secondary-action:hover,
#quoteForm #bookingReviewLayout #addMoreTransfers .booking-secondary-action:hover{background:#dceff9!important;border-color:#075f92!important}
#quoteForm .booking-secondary-action:focus-visible,#emailPanel button:focus-visible,#quoteForm [data-remove]:focus-visible{outline:3px solid #075f92;outline-offset:3px}
#quoteForm .booking-secondary-action[hidden],#emailPanel [hidden],#quoteForm .contact-row-editor[hidden]{display:none!important}
#quoteForm .segment-details>summary{width:fit-content!important;margin:0 0 12px!important}
#quoteForm .transfer-header{flex-wrap:wrap;gap:12px;margin:24px 0 18px!important;padding:0 0 16px!important;border-bottom:1px solid #cce4ef}
#quoteForm .transfer-header h3{font-size:20px!important;font-weight:700!important}
#quoteForm .transfer-header [data-remove]{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px!important;border:1px solid #dfbcbc!important;border-radius:6px!important;background:#fff7f7!important;color:#8b3636!important;font-weight:600!important;text-decoration:none!important}
#quoteForm .transfer-header [data-remove]:hover{background:#fbe8e8!important;border-color:#a44b4b!important}
#quoteForm .remove-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:16px;line-height:1}
#quoteForm .contact-summary{border-top:1px solid #cce4ef;margin-top:16px;padding:20px 0}
#quoteForm [data-contact-status]{color:#637b87;font-size:12px;margin-bottom:12px}
#quoteForm .contact-info-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e3edf2;font-size:14px}
#quoteForm .contact-row-label{font-weight:600;color:#31586c}
#quoteForm [data-contact-value]{overflow-wrap:anywhere;min-width:0}
#quoteForm .contact-row-editor{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
#quoteForm .contact-row-editor input{width:100%;min-width:0;margin:0}
#quoteForm .contact-row-actions{display:flex;gap:8px;flex-wrap:wrap}
#quoteForm #bookingReviewLayout{grid-template-columns:minmax(0,62fr) minmax(0,38fr);gap:24px}
#quoteForm #bookingReviewLayout #multiPriceSummary,#quoteForm #bookingReviewLayout #bookingExtraTransfer{box-sizing:border-box;padding:20px!important;border:1px solid #cce4ef!important;border-radius:12px!important;background:#f3f9fc!important}
#quoteForm #bookingReviewLayout h3{font-size:20px!important;line-height:1.3!important;margin:0 0 12px!important;font-weight:700}
#quoteForm #bookingReviewLayout .transfer-summary-card{padding:16px 0!important;border:0!important;border-top:1px solid #cce4ef!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#quoteForm #bookingReviewLayout #addMoreTransfers .booking-secondary-action{width:100%!important}
#quoteForm #bookingReviewLayout #transferUpsell p{font-size:14px;line-height:1.5;margin:0}
#quoteForm .booking-pair,#quoteForm .booking-route-pair{column-gap:16px}
#quoteForm #bookingTotalSummary{box-sizing:border-box;border-radius:12px!important;border-color:#cce4ef!important;padding:20px!important}
/* The email panel belongs to the viewport, independent of booking scroll position. */
#emailPanel:not([hidden]){position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;display:grid!important;place-items:center!important;box-sizing:border-box;padding:20px!important;background:rgba(10,31,42,.38)!important;z-index:1600!important;transform:none!important}
#emailPanel .email-panel-card{box-sizing:border-box;position:relative!important;width:100%!important;max-width:560px!important;max-height:calc(100dvh - 40px)!important;overflow:auto!important;margin:0!important;padding:28px!important;background:#fff!important;border:1px solid #cce4ef!important;border-radius:12px!important;box-shadow:0 4px 18px rgba(10,31,42,.08)!important;transform:none!important}
#emailPanel h2{font-size:23px;line-height:1.3;margin:0 36px 16px 0;color:#103f58}
#emailPanel .email-panel-card p{font-size:14px!important;line-height:1.6!important;margin:12px 0!important;overflow-wrap:anywhere!important}
#emailPanel .email-panel-actions{display:flex!important;flex-direction:column!important;gap:12px!important;margin:20px 0!important}
#emailPanel .email-panel-actions button{width:100%!important;min-height:44px!important;flex:none!important;border-radius:6px!important;font-size:13px!important;font-weight:600!important;padding:10px 16px!important;line-height:1.5!important}
#emailPanel #emailOpenApp{background:#078fcf!important;color:#fff!important;border:1px solid #078fcf!important}
#emailPanel #emailOpenApp:hover{background:#087db3!important}
#emailPanel .email-panel-close{display:flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;top:10px!important;right:10px!important;background:transparent!important;color:#526b78!important;font-size:26px!important;border-radius:6px!important}
#emailPanel .email-panel-close:hover{background:#edf7fc!important}
#emailPanel small{font-size:12px!important}
@media(max-width:1100px){#quoteForm #bookingReviewLayout{grid-template-columns:minmax(0,1fr);gap:16px}}
@media(max-width:480px){#quoteForm .contact-info-row{grid-template-columns:64px minmax(0,1fr) auto;gap:8px;font-size:13px}#quoteForm .contact-row-editor{grid-column:1/-1}#emailPanel:not([hidden]){padding:16px!important}#emailPanel .email-panel-card{padding:24px 20px!important;max-height:calc(100dvh - 32px)!important}#emailPanel h2{font-size:21px}}
#quoteForm #bookingReviewLayout #transferUpsell{margin:0!important;padding:0!important}
#quoteForm #bookingReviewLayout #transferUpsell p{font-weight:400!important}
@media(max-width:480px){#quoteForm .contact-info-row{grid-template-columns:72px minmax(0,1fr) auto}}
#quoteForm .stopover-details-button.booking-secondary-action{display:flex!important}
#quoteForm #booking-submit-guide{text-align:left!important}
/* All transfers share date/time controls and location pickers. */
#quoteForm .pickup-time-control{display:block!important;position:relative;width:100%}
#quoteForm .pickup-time-control>input[type="text"]{width:100%!important;padding-right:48px!important;box-sizing:border-box}
#quoteForm .pickup-time-control .time-toggle{position:absolute!important;right:0!important;top:0!important;width:44px!important;height:44px!important;min-height:44px!important;padding:10px!important;border:0!important;background:transparent!important;color:#075f92!important;display:flex;align-items:center;justify-content:center}
#quoteForm .time-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#quoteForm .transfer-time-picker{position:absolute!important;right:0;top:0;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important;border:0!important}
#quoteForm .pickup-date-field,#quoteForm .pickup-time-field{min-width:0}
#quoteForm .additional-transfer .location-field{min-width:0}
#quoteForm .inheritance-reset[data-reset-party]{background:transparent!important;border-color:transparent!important;font-weight:400!important;font-size:12px!important;min-height:40px!important}
#quoteForm .inheritance-reset[data-reset-party]:hover{background:#edf7fc!important;border-color:#cce4ef!important}
#quoteForm #bookingReviewLayout{grid-template-columns:minmax(0,1fr)!important;gap:0}
#quoteForm #bookingReviewLayout #multiPriceSummary{border-radius:12px 12px 0 0!important;border-bottom:0!important}
#quoteForm #bookingReviewLayout #bookingExtraTransfer{border-radius:0 0 12px 12px!important;border-top:0!important;padding-top:0!important}
#quoteForm #bookingReviewLayout #addMoreTransfers{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:8px}
#quoteForm #addAnotherTransfer{grid-column:1;grid-row:1}
#quoteForm #addReturnTransfer{grid-column:2;grid-row:1}
#quoteForm #addMoreTransfers p{grid-row:2}
@media(max-width:600px){#quoteForm #bookingReviewLayout #addMoreTransfers{display:flex!important}}
#quoteForm .pickup-date-control{position:relative;display:block!important;width:100%}
#quoteForm .pickup-date-control>input[type="text"]{width:100%!important;padding-right:48px!important;box-sizing:border-box}
#quoteForm .pickup-date-control input[type="date"]{position:absolute!important;inset:auto 0 0 auto!important;width:1px!important;height:1px!important;min-width:0!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important}
#quoteForm .pickup-date-control .calendar-toggle{position:absolute!important;right:0!important;top:0!important;left:auto!important;width:44px!important;height:44px!important;min-height:44px!important;display:flex!important;align-items:center;justify-content:center;padding:10px!important;background:transparent!important;border:0!important;color:#075f92!important;pointer-events:auto!important;z-index:2}
#quoteForm .calendar-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#quoteForm .pickup-date-control .calendar-toggle::before{content:none!important;display:none!important}
#quoteForm .pickup-time-control .time-input{background-image:none!important;padding-left:0!important;border-left:0!important}
#quoteForm .pickup-time-control .time-toggle{margin-top:7px!important}

#quoteForm .pickup-input-error{display:block;color:#a73737;font-size:12px;font-weight:400;line-height:1.4;text-transform:none;letter-spacing:normal;margin-top:5px}
#quoteForm .pickup-input-error[hidden]{display:none}

/* Submission feedback only; transport and booking calculations are unchanged. */
#quoteForm #inquiryStatus.inquiry-feedback { grid-column:1 / -1; margin:20px 0; padding:24px; border:2px solid #315e78; border-radius:14px; background:#edf5fa; color:#163d54; text-align:left; scroll-margin:100px 0; }
#quoteForm #inquiryStatus[data-state="success"] { background:#eaf7ef; border-color:#247348; color:#174c30; }
#quoteForm #inquiryStatus[data-state="error"] { background:#fff1f0; border-color:#b33b35; color:#7b2420; }
#quoteForm #inquiryStatus h3 { margin:0 0 12px; font-size:clamp(22px,3vw,28px); line-height:1.25; color:inherit; }
#quoteForm #inquiryStatus p { margin:0; font-size:16px; line-height:1.6; color:inherit; }
#quoteForm #inquiryStatus:focus { outline:3px solid currentColor; outline-offset:3px; }
#quoteForm .submit:disabled { opacity:.55; cursor:default; }

/* Luggage headings share row tracks so wrapped titles cannot offset one input. */
#quoteForm .booking-pair.luggage-layout-grid { row-gap:6px!important; }
#quoteForm .luggage-layout-grid > .luggage-layout-field { display:grid!important; grid-template-rows:subgrid; grid-row:span 4; gap:6px!important; align-content:start; padding-bottom:16px; }
#quoteForm .luggage-field-heading { display:block; line-height:1.4; align-self:start; }
#quoteForm .field-requirement { display:block; font-size:12px!important; line-height:1.4; font-weight:400!important; text-transform:none!important; letter-spacing:normal; }
#quoteForm .luggage-layout-field > input { margin:0!important; align-self:start; }
#quoteForm .luggage-layout-field > .booking-help { margin:0!important; align-self:start; }
#quoteForm .assistance-field-heading { display:block; }
#quoteForm .assistance-field-heading + .field-requirement { margin:4px 0 6px; }
#quoteForm .luggage-capacity-help { grid-column:1 / -1; margin:18px 0 24px!important; }
@media(max-width:760px) { #quoteForm .luggage-layout-grid > .luggage-layout-field { grid-template-rows:auto auto auto auto; } }
@media(max-width:760px) {
 #quoteForm .luggage-field-heading, #quoteForm .assistance-field-heading { font-size:12px; }
 #quoteForm .luggage-layout-field .field-requirement, #quoteForm .assistance-field-heading + .field-requirement { font-size:11px!important; }
}
