/* Observed Quantica 9.6 presentation surface; native layout/state stay authoritative. */
[data-hat-booking] { --hat-field-line:#d8cddb; --hat-focus:#654969; }
[data-hat-booking] [data-hat-routing-status]:empty { display:none; }
[data-hat-booking] [data-hat-core]>[role="status"] { padding:14px 18px; margin:0 0 28px; border-left:3px solid var(--amber); border-radius:0 8px 8px 0; background:#ece6ee; color:#53445c; font-size:14px; }
[data-hat-booking] .chbs-main,
[data-hat-booking] .chbs-main .ui-widget,
[data-hat-booking] .chbs-main input,
[data-hat-booking] .chbs-main select,
[data-hat-booking] .chbs-main textarea,
[data-hat-booking] .chbs-main .chbs-button { font-family:Manrope,Arial,sans-serif; }
[data-hat-booking] .chbs-main { color:var(--ink); }
[data-hat-booking] .chbs-main .chbs-main-navigation-default { margin-bottom:32px; }
[data-hat-booking] .chbs-main .chbs-main-navigation-default>ul>li>div { background:var(--hat-field-line); }
[data-hat-booking] .chbs-main .chbs-main-navigation-default>ul>li>a>span:first-child { background:#e8e0eb; color:#654969; outline-color:var(--paper); }
[data-hat-booking] .chbs-main .chbs-main-navigation-default>ul>li.chbs-state-selected>a>span:first-child,
[data-hat-booking] .chbs-main .chbs-main-navigation-default>ul>li.chbs-state-completed>a>span:first-child { background:var(--plum); color:#fff; }
[data-hat-booking] .chbs-main .chbs-main-navigation-default>ul>li>a>span:first-child+span { font-size:13px; font-weight:600; color:#594760; margin-top:10px; }
[data-hat-booking] .chbs-main .chbs-tab.ui-tabs { background:#fff; border:1px solid var(--hat-field-line); border-radius:14px; padding:16px; box-shadow:0 8px 24px #392a4308; }
[data-hat-booking] .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav { display:flex; background:#eee8f0; border:0; border-radius:8px; padding:4px; }
[data-hat-booking] .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav>li { width:auto; flex:1; margin:0; border:0; background:transparent; }
[data-hat-booking] .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav>li>a { float:none; display:block; min-height:48px; padding:14px 10px; border:0; border-radius:6px; font-size:14px; line-height:20px; font-weight:600; text-transform:none; color:#654969; }
[data-hat-booking] .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav>li.ui-tabs-active>a { background:var(--plum); color:#fff; }
[data-hat-booking] .chbs-main .chbs-tab.ui-tabs .ui-tabs-panel { border:0; }
[data-hat-booking] .chbs-main .chbs-form-label-group { font-size:11px; letter-spacing:1.1px; font-weight:600; color:#654969; padding:20px 0 12px; }
[data-hat-booking] .chbs-main .chbs-form-field { background:#fff; border-color:var(--hat-field-line); padding-top:12px; }
[data-hat-booking] .chbs-main .chbs-form-field>label { font-size:12px; font-weight:600; line-height:1.5; text-transform:none; color:#66546e; margin-left:16px; margin-right:12px; margin-bottom:3px; }
[data-hat-booking] .chbs-main .chbs-form-field input:not([type="checkbox"]):not([type="radio"]),
[data-hat-booking] .chbs-main .chbs-form-field textarea,
[data-hat-booking] .chbs-main .chbs-form-field .ui-selectmenu-button { background:#fff; color:#2b2630; font-size:16px; font-weight:400; min-height:48px; padding:6px 16px 12px; line-height:30px; border-radius:0; }
[data-hat-booking] .chbs-main .chbs-form-field input::placeholder { color:#75667c; opacity:1; }
[data-hat-booking] .chbs-main .chbs-form-field.chbs-form-field-location-switch>input { padding-right:74px; }
[data-hat-booking] .chbs-main .chbs-form-field:focus-within { z-index:2; border-color:var(--hat-focus); box-shadow:0 0 0 2px #65496930; }
[data-hat-booking] .chbs-main :is(a,input,textarea,button,select,[tabindex]):focus-visible { outline:3px solid var(--hat-focus); outline-offset:2px; }
[data-hat-booking] .chbs-main .chbs-main-navigation-responsive { background:#fff; border-radius:8px; margin-bottom:24px; }
[data-hat-booking] .chbs-main .chbs-main-navigation-responsive .chbs-form-field { border-radius:8px; }
[data-hat-booking] .chbs-main .chbs-google-map { border-radius:14px; border:1px solid var(--hat-field-line); }
[data-hat-booking] .chbs-main .chbs-ride-info { background:#eae3ed; border:1px solid var(--hat-field-line); border-radius:12px; color:#392a43; box-shadow:none; }
[data-hat-booking] .chbs-main .chbs-ride-info>div>span:first-child { color:var(--plum); }
[data-hat-booking] .chbs-main .chbs-ride-info>div>span:first-child+span { color:#654969; font-size:11px; }
[data-hat-booking] .chbs-main .chbs-button.chbs-button-style-1 { background:var(--amber); color:#34283b; border:1px solid var(--amber); border-radius:8px; font-size:14px; font-weight:600; text-transform:none; min-height:52px; }
[data-hat-booking] .chbs-main .chbs-button.chbs-button-style-1:hover { background:#eab33f; border-color:#eab33f; color:#34283b; }
[data-hat-booking] .chbs-main .chbs-button.chbs-button-style-2 { background:#fff; color:#654969; border:1px solid var(--hat-field-line); border-radius:8px; text-transform:none; }
/* Native picker portals sit outside the HAT root. Scope them to booking pages. */
body:has([data-hat-booking]) div.chbs-datepicker.ui-datepicker,
body:has([data-hat-booking]) .ui-timepicker-wrapper,
[data-hat-booking] .ui-selectmenu-menu .ui-menu { background:#fff; color:#34283b; border:1px solid #d8cddb; border-radius:10px; box-shadow:0 12px 32px #34283b24; }
body:has([data-hat-booking]) div.chbs-datepicker.ui-datepicker { max-width:calc(100vw - 16px); padding:10px; }
body:has([data-hat-booking]) .chbs-datepicker .ui-datepicker-title,
body:has([data-hat-booking]) .chbs-datepicker table { font-family:Manrope,Arial,sans-serif; }
body:has([data-hat-booking]) .chbs-datepicker .ui-state-active,
[data-hat-booking] .ui-selectmenu-menu .ui-state-active { background:#7a5f7d; color:#fff; }
body:has([data-hat-booking]) .chbs-datepicker a:focus-visible { outline:3px solid #654969; outline-offset:1px; }
/* Selectmenu owns visibility, position and selection; one shell, full-width rows. */
[data-hat-booking] .chbs-main .ui-selectmenu-menu { border:1px solid #d8cddb; border-radius:8px; background:#fff; box-shadow:0 10px 28px #34283b20; padding:4px 0; }
[data-hat-booking] .chbs-main .ui-selectmenu-menu .ui-menu { border:0; border-radius:0; background:transparent; box-shadow:none; padding:0; font-family:Manrope,Arial,sans-serif; }
[data-hat-booking] .chbs-main .ui-selectmenu-menu .ui-menu-item { border:0; padding:0; margin:0; color:#34283b; }
[data-hat-booking] .chbs-main .ui-selectmenu-menu .ui-menu-item-wrapper { box-sizing:border-box; min-height:44px; padding:10px 16px; margin:0; border:0; border-radius:0; font-size:16px; line-height:24px; }
[data-hat-booking] .chbs-main .ui-selectmenu-menu .ui-menu-item-wrapper.ui-state-active { background:#7a5f7d; color:#fff; margin:0; border:0; }
body:has([data-hat-booking]) .ui-timepicker-wrapper .ui-timepicker-list>li { font-family:Manrope,Arial,sans-serif; min-height:44px; padding:10px 16px; border:0; line-height:24px; color:#34283b; }
body:has([data-hat-booking]) .ui-timepicker-wrapper .ui-timepicker-list>li:hover,
body:has([data-hat-booking]) .ui-timepicker-wrapper .ui-timepicker-list>li.ui-timepicker-selected { background:#7a5f7d; color:#fff; }
body:has([data-hat-booking]) .ui-timepicker-wrapper .ui-timepicker-list>li.ui-timepicker-disabled { color:#a69aaa; background:#f6f3f7; }
@media(max-width:700px) {
 [data-hat-booking] [data-hat-core]>[role="status"] { font-size:12px; padding:12px 14px; margin-bottom:20px; }
 [data-hat-booking] .chbs-main .chbs-tab.ui-tabs { padding:12px; border-radius:12px; }
 [data-hat-booking] .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav>li { flex:1; width:auto!important; }
 [data-hat-booking] .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav>li>a { padding:12px 8px; }
 [data-hat-booking] .chbs-main .chbs-form-field>label { margin-left:12px; }
 [data-hat-booking] .chbs-main .chbs-form-field input:not([type="checkbox"]):not([type="radio"]),
 [data-hat-booking] .chbs-main .chbs-form-field .ui-selectmenu-button { padding-left:12px; padding-right:12px; }
 [data-hat-booking] .chbs-main .chbs-form-field.chbs-form-field-location-switch>input { padding-right:64px; }
 [data-hat-booking] .chbs-main .chbs-google-map { height:300px; }
 [data-hat-booking] .chbs-main .chbs-main-content-navigation-button .chbs-button { width:100%; text-align:center; }
}
/* Core-owned airport entry controls. The Theme supplies presentation only. */
[data-hat-booking] .chbs-main input[data-hat-time-source] { display:none!important; }
[data-hat-booking] .chbs-main .chbs-form-field select.hat-time-select { display:block!important; box-sizing:border-box; appearance:auto; width:100%; min-height:48px; margin:0; padding:10px 12px; background:#fff; color:#34283b; border:1px solid #d8cddb; border-radius:7px; font:400 16px/26px Manrope,Arial,sans-serif; cursor:pointer; }
[data-hat-booking] .chbs-main select.hat-time-select:focus-visible { outline:3px solid #654969; outline-offset:2px; }
[data-hat-booking] .chbs-main select.hat-time-select:disabled { background:#f5f1f6; color:#786a7e; cursor:default; }
/* Core controls consent and native loading; this is the inline presentation. */
.content-page:has([data-hat-region="maps-consent"]) { max-width:680px; }
[data-hat-booking] [data-hat-region="maps-consent"] { padding:22px; border:1px solid #dfd4e3; border-radius:12px; background:#f6f2f7; color:#34283b; text-align:left; }
[data-hat-booking] [data-hat-region="maps-consent"] h3 { margin:0 0 12px; font-size:23px; line-height:1.25; letter-spacing:-.5px; color:#34283b; }
[data-hat-booking] [data-hat-region="maps-consent"] p { margin:0 0 18px; font-size:14px; line-height:1.65; color:#65556c; }
[data-hat-booking] [data-hat-region="maps-consent"] a { display:flex; justify-content:center; align-items:center; min-height:48px; padding:12px 16px; border-radius:8px; font-size:14px; line-height:1.5; font-weight:600; text-decoration:none; }
[data-hat-booking] [data-hat-maps-enable] { background:var(--amber,#e6a51e); color:#34283b; border:1px solid transparent; }
[data-hat-booking] [data-hat-maps-enable]:hover { background:#edb43d; }
[data-hat-booking] [data-hat-maps-decline] { margin-top:8px; color:#654969; border:1px solid #d8cddb; background:#fff; }
[data-hat-booking] [data-hat-region="maps-consent"] a:focus-visible { outline:3px solid #654969; outline-offset:3px; }
[data-hat-booking] [data-hat-region="maps-consent"] p:last-child { margin:16px 0 0; font-size:12px; }
@media(max-width:380px) {
 [data-hat-booking] [data-hat-region="maps-consent"] { padding:16px; }
 [data-hat-booking] .chbs-main .chbs-form-field select.hat-time-select { padding-inline:8px; }
}
[data-hat-booking] [data-hat-airport-controls] { border:0; padding:0; margin:0 0 18px; min-width:0; }
[data-hat-booking] [data-hat-airport-controls]>legend { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
[data-hat-booking] [data-hat-airport-controls]>[role="group"]:has([data-hat-direction]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:4px; background:#efeaf1; border-radius:10px; margin-bottom:18px; }
[data-hat-booking] [data-hat-airport-controls] button { appearance:none; font-family:Manrope,Arial,sans-serif; cursor:pointer; font-weight:500; line-height:1.35; min-width:0; }
[data-hat-booking] [data-hat-direction] { border:0; border-radius:7px; min-height:44px; padding:9px 6px; background:transparent; color:#76637c; font-size:13px; }
[data-hat-booking] [data-hat-direction][aria-pressed="true"] { background:#fff; color:#382b42; box-shadow:0 2px 5px #2f193010; }
[data-hat-booking] [data-hat-terminal-label] { margin:0 0 9px; color:#615366; font-size:12px; line-height:1.5; font-weight:500; }
[data-hat-booking] [data-hat-airport-controls]>[role="group"]:has([data-hat-terminal]) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.4fr); gap:6px; }
[data-hat-booking] [data-hat-terminal] { min-height:48px; padding:8px 3px; border:1px solid #d9cedd; border-radius:8px; background:#fff; color:#382b42; font-size:15px; }
[data-hat-booking] [data-hat-terminal="unknown"] { font-size:12px; }
[data-hat-booking] [data-hat-terminal]:hover { border-color:#7a5f7d; background:#f5f1f6; }
[data-hat-booking] [data-hat-airport-controls] button:focus-visible { outline:3px solid #7a5f7d; outline-offset:2px; }
[data-hat-booking] [data-hat-airport-status] { margin:10px 0 0; font-size:12px; line-height:1.55; color:#66546e; }
@media(max-width:380px) {
 [data-hat-booking] [data-hat-direction] { font-size:12px; }
 [data-hat-booking] [data-hat-terminal="unknown"] { font-size:11px; }
}

/* One native journey, with its service and return choices in a single compact row. */
[data-hat-booking] .chbs-main .hat-trip-enhanced>.ui-tabs-nav,
[data-hat-booking] .chbs-main .hat-trip-source { display:none!important; }
[data-hat-booking] .hat-trip-choices { display:flex; gap:4px; padding:4px; margin:0 0 18px; border-radius:12px; background:#f0ecf2; }
[data-hat-booking] .hat-trip-choices>button { flex:1 1 0; min-width:0; min-height:44px; padding:8px 5px; border:0; border-radius:9px; background:transparent; color:#6b5b72; font:500 12px/1.35 Manrope,Arial,sans-serif; cursor:pointer; }
[data-hat-booking] .hat-trip-choices>button[aria-pressed="true"] { background:#fff; color:#34283b; box-shadow:0 1px 4px #34283b18; }
[data-hat-booking] .hat-trip-choices>button:focus-visible { outline:2px solid #785d80; outline-offset:2px; }
[data-hat-booking] .hat-trip-choices>button:disabled { opacity:.55; cursor:default; }

/* Readable native vehicle rows, with a quiet but unmistakable selection state. */
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row { display:grid; grid-template-columns:140px minmax(0,1fr); gap:22px; align-items:center; padding:22px; border:1px solid #ddd2e1; border-radius:14px; background:#fff; transition:background-color .15s,border-color .15s; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row::after { display:none; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row:has(.chbs-vehicle-content-header .chbs-state-selected) { background:#f1ebf4; border-color:#785b80; box-shadow:inset 3px 0 #785b80; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-image { float:none; width:100%; max-width:none; margin:0; }
/* Reserve the native fleet thumbnail space during AJAX replacement. Without
   it, a late image load moves the mobile Select button between press/release. */
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-image img { display:block; width:100%; height:auto; border-radius:9px; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:20px; row-gap:8px; margin:0!important; min-width:0; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content>.chbs-vehicle-content-header { display:contents; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content>.chbs-vehicle-content-header>span { grid-column:1; grid-row:1; float:none; width:auto; padding:0; font-size:20px; line-height:1.3; color:#34283b; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content>.chbs-vehicle-content-header>.chbs-button { grid-column:2; grid-row:3; width:auto; min-width:112px; min-height:44px; margin:0; padding:10px 18px; font-size:13px; line-height:22px; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content-header>.chbs-button.chbs-state-selected { background:#785b80; border-color:#785b80; color:#fff; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content>.chbs-vehicle-content-price { grid-column:2; grid-row:1 / span 2; margin:0; text-align:right; align-self:start; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content-price>span>span { font-size:23px; line-height:1.3; color:#34283b; }
[data-hat-booking] .chbs-main .hat-vehicle-details { grid-column:1; grid-row:2 / span 2; min-width:0; }
[data-hat-booking] .chbs-main .hat-vehicle-details p { margin:0; font-size:13px; line-height:1.6; color:#6a5b70; }
[data-hat-booking] .chbs-main .hat-vehicle-details .hat-vehicle-capacity { margin-top:5px; font-size:12px; color:#504457; }
[data-hat-booking] .chbs-main .hat-vehicle-readable-capacity .chbs-vehicle-content-meta-info { display:none; }
[data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content-meta { grid-column:1 / -1; margin:0; }
@media(max-width:1100px) {
 [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row { grid-template-columns:100px minmax(0,1fr); gap:16px; padding:18px; }
}
@media(max-width:700px) {
 [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row { grid-template-columns:minmax(0,1fr); gap:12px; padding:16px; }
 [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-image { width:132px; margin:0; }
 [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content { grid-template-columns:minmax(0,1fr); gap:8px; }
 [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content>.chbs-vehicle-content-header>span { grid-column:1; grid-row:1; font-size:19px; }
 [data-hat-booking] .chbs-main .hat-vehicle-details { grid-column:1; grid-row:2; }
 [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content>.chbs-vehicle-content-price { grid-column:1; grid-row:3; text-align:left; margin-top:4px; }
 [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row .chbs-vehicle-content>.chbs-vehicle-content-header>.chbs-button { grid-column:1; grid-row:4; width:100%; margin-top:4px; }
}
@media(prefers-reduced-motion:reduce) { [data-hat-booking] .chbs-main .chbs-vehicle.hat-vehicle-row { transition:none; } }

[data-hat-booking] .chbs-main .chbs-vehicle-list>ul>li:has(>.hat-vehicle-row) { border:0; padding:0; margin:0 0 16px; }
[data-hat-booking] .chbs-main .hat-vehicle-readable-capacity .chbs-vehicle-content-meta:not(:has(a)) { display:none; }

/* Native net/VAT/gross values remain original formatted strings. */
[data-hat-booking] .chbs-main .hat-vehicle-row .hat-price-basis{display:block;font-size:11px;font-weight:400;line-height:1.5;color:#786d80;margin-top:5px}
[data-hat-booking] .chbs-main .chbs-summary-price-element-total{border-top:1px solid #dcd3e1;padding-top:18px;margin-top:12px;font-weight:700}
[data-hat-booking] .chbs-main .chbs-summary-price-element-total>span:last-child{font-size:26px;color:#302537}

/* Public booking controls: omit empty filters and use a compact card-payment choice. */
[data-hat-booking] .chbs-main .hat-empty-vehicle-filter { display:none!important; }
[data-hat-booking] .chbs-main .chbs-payment>li>a.chbs-payment-type-2 { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; min-height:76px; height:auto; padding:14px 48px 14px 18px; background-image:none!important; background-color:#faf8fb; border:1px solid #cfc1d4; border-radius:10px; text-align:left; }
[data-hat-booking] .chbs-main .chbs-payment>li>a.chbs-payment-type-2.chbs-state-selected { border:2px solid #785d80; }
[data-hat-booking] .chbs-main .chbs-payment-type-2 .hat-payment-label { position:static; display:block; margin:0; color:#34283b; font-size:16px; line-height:1.4; font-weight:600; }
[data-hat-booking] .chbs-main .chbs-payment-type-2 .hat-payment-help { display:block; color:#66546e; font-size:12px; line-height:1.5; }
[data-hat-booking] .chbs-main .chbs-payment-type-2>.chbs-meta-icon-tick { position:absolute; top:50%; right:18px; bottom:auto; left:auto; margin:0; transform:translateY(-50%); }

/* Keep the native details-step actions immediately below the contact/payment form. */
[data-hat-booking] .chbs-main-content-step-3 .chbs-layout-column-right>.chbs-main-content-navigation-button { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
[data-hat-booking] .chbs-main-content-step-3 .chbs-layout-column-right>.chbs-main-content-navigation-button::before,
[data-hat-booking] .chbs-main-content-step-3 .chbs-layout-column-right>.chbs-main-content-navigation-button::after { display:none; }
[data-hat-booking] .chbs-main-content-step-3 .chbs-layout-column-right>.chbs-main-content-navigation-button>.chbs-button { float:none; margin:0; }
[data-hat-booking] .chbs-main-content-step-3 .chbs-layout-column-right>.chbs-main-content-navigation-button>.chbs-button-step-next { flex:1 1 240px; width:auto; text-align:center; }

/* Keep add/remove waypoint targets aligned inside their native field. */
[data-hat-booking] .chbs-main .chbs-form-field-waypoint{position:relative}
[data-hat-booking] .chbs-main .chbs-form-field-waypoint input:not([type=hidden]){padding-right:100px!important}
[data-hat-booking] .chbs-main .chbs-form-field-waypoint :is(.chbs-location-add,.chbs-location-remove){position:absolute;top:auto!important;bottom:0;right:48px!important;width:44px;height:44px;line-height:44px;text-align:center;padding:0;border:0!important;box-shadow:none;background:transparent;color:var(--deep);font-size:22px}
[data-hat-booking] .chbs-main .chbs-form-field-waypoint .chbs-location-remove{right:4px!important}
[data-hat-booking] .chbs-main .chbs-form-field-waypoint :is(.chbs-location-add,.chbs-location-remove):focus-visible{outline:2px solid var(--plum);outline-offset:-3px}

[data-hat-booking] .hat-field-error{color:#a12632;font-size:13px;line-height:1.5;margin:6px 12px 10px;letter-spacing:0}
[data-hat-booking] [aria-invalid=true]{outline:2px solid #a12632;outline-offset:-2px}
[data-hat-booking] .chbs-form-field:has(.hat-field-error){overflow:visible}

/* Reserve native fleet image space even when presentation IDs differ by environment. */
[data-hat-booking] .chbs-main .chbs-vehicle .chbs-vehicle-image img { aspect-ratio:460 / 259; object-fit:cover; }

/* One border per editable control. Native field wrappers keep their layout only. */
[data-hat-booking] .chbs-main .chbs-form-field:has(>input:not([type=hidden]),>textarea,>select,>.ui-selectmenu-button){position:relative;border:0!important;padding:0!important;margin-bottom:12px;box-shadow:none!important}
[data-hat-booking] .chbs-main .chbs-form-field>label{display:block;margin:0 0 5px!important;line-height:1.5}
[data-hat-booking] .chbs-main .chbs-form-field :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,select,.ui-selectmenu-button){box-sizing:border-box;width:100%;min-height:46px;border:1px solid var(--hat-field-line)!important;border-radius:7px!important;background:#fff;padding:9px 12px!important;line-height:26px;font-size:16px;box-shadow:none!important}
[data-hat-booking] .chbs-main .chbs-form-field:focus-within{box-shadow:none;border-color:transparent}
[data-hat-booking] .chbs-main .chbs-form-field :is(input,textarea,select,.ui-selectmenu-button):focus-visible{outline:2px solid var(--hat-focus);outline-offset:1px}
/* Reserve a separate action area on pickup fields as well as inserted waypoints. */
[data-hat-booking] .chbs-main .chbs-form-field:has(>.chbs-location-add)>input{padding-right:58px!important;text-overflow:ellipsis}
[data-hat-booking] .chbs-main .chbs-form-field:has(>.chbs-location-remove)>input{padding-right:102px!important}
[data-hat-booking] .chbs-main .chbs-form-field :is(.chbs-location-add,.chbs-location-remove){position:absolute;top:auto!important;bottom:1px;right:4px!important;width:44px;height:44px;line-height:44px;padding:0!important;border:0!important;border-radius:6px;box-shadow:none!important;background:transparent;font-size:22px;text-align:center}
[data-hat-booking] .chbs-main .chbs-form-field:has(>.chbs-location-remove)>.chbs-location-add{right:48px!important}
[data-hat-booking] .chbs-main .chbs-form-field :is(.chbs-location-add,.chbs-location-remove):hover{background:#eee8f0}
[data-hat-booking] .chbs-main .chbs-form-field:has(>[name=hat_hourly_airport_pickup]){margin:12px 0 16px}
[data-hat-booking] .hat-routine-route-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
/* Beat native and compact-entry input shorthands without changing the input value. */
[data-hat-booking] .chbs-main .chbs-form-field:has(>.chbs-location-add)>input:not([type=hidden]):not([type=checkbox]):not([type=radio]){padding-right:58px!important}
[data-hat-booking] .chbs-main .chbs-form-field:has(>.chbs-location-remove)>input:not([type=hidden]):not([type=checkbox]):not([type=radio]){padding-right:102px!important}
[data-hat-booking] .chbs-main .chbs-form-field :is(.chbs-location-add,.chbs-location-remove){width:44px!important;height:44px!important;line-height:44px!important}
