/* AIS list controls retain the existing pill style; the dialog escapes panel clipping. */
.ais-list-ais-filters{display:flex;flex-wrap:wrap;gap:6px;width:100%;padding-top:8px}
.ais-list-ais-filters button{min-height:42px;border:0;border-radius:25px;padding:10px 13px;background:#edf3f9;color:#142c40;font-size:12px;white-space:nowrap;cursor:pointer}
.ais-list-ais-filters button[aria-pressed=true]{background:#173e4b;color:#fff}
.ais-mobile-v1 .ais-list-ais-filters{display:none}
.ais-list-time-dialog{position:fixed;inset:auto;margin:0;padding:6px;box-sizing:border-box;border:1px solid #d6e1e8;border-radius:14px;background:#fff;color:#142c40;overflow:auto;overscroll-behavior:contain;box-shadow:0 6px 24px #173e4b30}
.ais-list-time-dialog::backdrop{background:#173e4b20}
.ais-list-time-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 10px;font-size:14px}
.ais-list-time-dialog button{cursor:pointer;font-family:inherit}
.ais-list-time-clear{border:0;border-radius:20px;background:#edf3f9;color:#173e4b;padding:8px 10px;font-size:12px}
.ais-list-time-option{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;width:100%;margin:2px 0;padding:10px 13px;box-sizing:border-box;border:0;border-radius:10px;background:#edf3f9;color:#142c40;font-size:13px;text-align:left}
.ais-list-time-option[aria-pressed=true]{background:#173e4b;color:white}
.ais-list-time-count{font-weight:700;font-variant-numeric:tabular-nums}
.ais-list-time-dialog button:focus-visible,.ais-list-time-trigger:focus-visible{outline:2px solid #147fc0;outline-offset:2px}
/* Keep the shared map choice available on desktop as well as portrait screens. */
.ais-brand-buy:not(.ais-mobile-v1) .ais-mobile-period{display:flex;position:relative;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d4e0e6;border-radius:12px;background:white;color:#173e4b;cursor:pointer}
.ais-brand-buy:not(.ais-mobile-v1) .ais-mobile-period svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.ais-brand-buy:not(.ais-mobile-v1) .ais-mobile-period select{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}

/* Explicit last-seen actions retain the existing time/status typography. */
:is(.ais-brand-buy,.ais-brand-work) button.ais-last-seen{border:0;background:transparent;font-family:inherit;text-align:left;cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
:is(.ais-brand-buy,.ais-brand-work) button.ais-last-seen:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}

/* Ship2Buy keeps its three existing, horizontally scrollable filter rows together. */
.ais-brand-buy .ais-list-ais-filters{display:none}
.ais-buy-filter-rows{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0;overflow:hidden}
.ais-buy-filter-rows>nav{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;max-width:100%;box-sizing:border-box;white-space:nowrap;flex-shrink:0;scrollbar-width:thin}
.ais-buy-filter-rows .ais-mobile-categories{padding:4px 0 8px}
.ais-buy-filter-rows :is(.ais-mobile-categories,.ais-mobile-company-types) button{flex:0 0 auto;min-height:36px;border:1px solid #d2e3dc;border-radius:8px;padding:7px 10px;background:#f3f8f5;color:#122f45;font-size:12px;white-space:nowrap}
.ais-buy-filter-rows :is(.ais-mobile-categories,.ais-mobile-company-types) button[aria-pressed=true]{background:#122f45;color:white}
.ais-buy-filter-rows .ais-mobile-company-types{padding-left:0;padding-right:0}


/* One existing Buy sheet: compact chrome, normal and expanded scrollable results. */
.ais-mobile-v1.ais-brand-buy{--ais-buy-safe-top:env(safe-area-inset-top,0px)}
.ais-mobile-v1.ais-brand-buy .ais-mobile-results{bottom:calc(max(6px,env(safe-area-inset-bottom)) + var(--ais-buy-viewport-bottom,0px))!important}
.ais-mobile-v1.ais-brand-buy .ais-mobile-results .ais-mobile-items{visibility:visible}
.ais-mobile-v1.ais-brand-buy .ais-mobile-results.ais-buy-sheet-compact:not(.v4-full-list)>:is(.ais-mobile-company-types,.ais-mobile-items){display:none!important}
.ais-mobile-v1.ais-brand-buy .ais-mobile-results:not(.ais-buy-sheet-compact):not(.v4-full-list)>.ais-mobile-company-types:not([hidden]){display:flex!important}
.ais-mobile-v1.ais-brand-buy .ais-mobile-results.ais-buy-sheet-compact:not(.v4-full-list)>.v4-full-link{margin-top:auto!important}

/* One existing Base sheet: compact chrome, normal and expanded scrollable results. */
.ais-mobile-v1.ais-base-map{--ais-buy-safe-top:env(safe-area-inset-top,0px)}
.ais-mobile-v1.ais-base-map .ais-mobile-results{bottom:calc(max(6px,env(safe-area-inset-bottom)) + var(--ais-buy-viewport-bottom,0px))!important}
.ais-mobile-v1.ais-base-map .ais-mobile-results .ais-mobile-items{visibility:visible}
.ais-mobile-v1.ais-base-map .ais-mobile-results.ais-buy-sheet-compact:not(.v4-full-list)>:is(.ais-mobile-company-types,.ais-mobile-items){display:none!important}
.ais-mobile-v1.ais-base-map .ais-mobile-results.ais-buy-sheet-compact:not(.v4-full-list)>.ais-base-position-buttons:not([hidden]){display:flex!important}
.ais-mobile-v1.ais-base-map .ais-base-position-buttons button{min-height:44px!important;height:44px}
.ais-mobile-v1.ais-base-map .ais-mobile-results:not(.ais-buy-sheet-compact):not(.v4-full-list)>.ais-mobile-company-types:not([hidden]){display:flex!important}
.ais-mobile-v1.ais-base-map .ais-mobile-results.ais-buy-sheet-compact:not(.v4-full-list)>.v4-full-link{margin-top:auto!important}

/* Base retains its category row; the independent AIS row is available after expanding. */
.ais-base-map button.ais-last-seen{border:0;background:transparent;font-family:inherit;text-align:left;cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.ais-base-map button.ais-last-seen:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.ais-mobile-v1.ais-base-map .ais-base-ais-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;flex-shrink:0;width:auto;padding:0 12px 6px}
.ais-mobile-v1.ais-base-map .ais-buy-sheet-compact:not(.v4-full-list)>.ais-base-ais-filters,.ais-mobile-v1.ais-base-map .v4-full-list>.ais-base-ais-filters{display:none}
.ais-mobile-v1.ais-base-map .ais-base-ais-filters button{flex-shrink:0;min-height:36px;padding:7px 10px}

/* Maps identity: measured production desktop palette, 2026-10-26.
 * Reuse the existing map/v4 tokens and domain s2bi tokens. Work is excluded.
 * Only interface colors: no Leaflet markers, clusters, status or warning rules. */
body.ais-explorer-page:has(.ais-brand-buy),
body .ais-explorer.ais-brand-buy {
  --brand-map-primary: #11263a; /* Active custom.css navbar. */
  --brand-map-hover: var(--s2bi-navy);
  --brand-map-soft: var(--s2bi-soft);
  --brand-map-accent: #d4af62; /* Active custom.css navigation accent. */
  --brand-map-border: var(--s2bi-border);
  --brand-map-ink: var(--brand-map-primary);
  --brand-map-focus: var(--s2bi-blue);
  --brand-map-sale: var(--s2bi-gold);
}
body.s2b-base.ais-explorer-page,
body.s2b-base .ais-explorer {
  --brand-map-primary: var(--s2bi-blue);
  --brand-map-hover: var(--s2bi-navy);
  --brand-map-soft: var(--s2bi-soft);
  --brand-map-accent: var(--s2bi-gold);
  --brand-map-border: var(--s2bi-border);
  --brand-map-ink: var(--s2bi-text);
  --brand-map-focus: var(--s2bi-gold);
}
body :is(.ais-brand-buy, .ais-base-map) {
  --v4-ink: var(--brand-map-ink);
  --v4-navy: var(--brand-map-primary);
  --v4-border: var(--brand-map-border);
}
/* Explicit platform roots prevent inheritance into Work or desktop site pages. */

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-heading,.ais-filter-heading,.ais-primary,.ais-full-list-button,.v4-primary,.v4-full-link,.ais-navigation-toggle,.ais-navigation-close,.ais-filter-reopen,.ais-buy-home-logo,.ais-mobile-map-back,.ais-list-time-apply,.ais-floating-layers>summary) { background:var(--brand-map-primary)!important;color:#fff!important;border-color:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-mobile-categories,.ais-mobile-company-types,.v4-full-tabs,.ais-desktop-ranges,.ais-list-ais-filters) button { background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important;border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-mobile-categories,.ais-mobile-company-types,.v4-full-tabs,.ais-desktop-ranges,.ais-list-ais-filters) button[aria-pressed=true],
:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-favorites-toggle,.ais-company-favorites-toggle)[aria-pressed=true] { background:var(--brand-map-primary)!important;color:#fff!important;border-color:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-mobile-results,.ais-bottom-sheet,.ais-list-panel,.ais-range-dialog,.ais-list-time-dialog,.ais-navigation-panel,#ais-filters) { background:#fff!important;color:var(--brand-map-ink)!important;border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-filter-actions,.ais-vessel-toolbar,.ais-results-bar,.v4-specs>div,.v4-chips>span:not(.v4-status),.v4-facts>div,.ais-results,.ais-range-close) { background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important;border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-mobile-handle,.ais-map-result-count,.ais-filter-keyword,.ais-navigation-header h2,.ais-navigation-links a,.ais-company-title,.ais-card h3,.ais-mobile-result h3,.v4-heading h3,.v4-specs dt,.v4-specs dd,.v4-type) { color:var(--brand-map-ink)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-panel-arrows button,.v4-control,.v4-previous,.v4-next,.v3-close,.ais-sheet-close,.ais-range-close,.v4-menu summary) { color:var(--brand-map-primary)!important;border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-filter-grid,.ais-filter-content,.ais-range-fields,.ais-mobile-searchbar) :is(select,input:not([type=checkbox]):not([type=radio]):not([type=range])),
:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-mobile-search { color:var(--brand-map-ink)!important;border-color:var(--brand-map-border)!important;background-color:#fff!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(input[type=checkbox],input[type=radio],input[type=range]) { accent-color:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-layer-filters>label:has(input:checked) { background:var(--brand-map-soft)!important;border-color:var(--brand-map-primary)!important;color:var(--brand-map-ink)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-dual-selection { background:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-dual-range:before { background:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-dual-range input::-webkit-slider-thumb { background:#fff!important;border-color:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-dual-range input:focus-visible::-webkit-slider-thumb { outline:3px solid var(--brand-map-focus)!important;outline-offset:2px; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-dual-range input::-moz-range-thumb { background:#fff!important;border-color:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-dual-range input:focus-visible::-moz-range-thumb { outline:3px solid var(--brand-map-focus)!important;outline-offset:2px; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-primary,.ais-full-list-button,.v4-primary,.v4-full-link,.ais-navigation-toggle,.ais-navigation-close,.ais-filter-reopen,.ais-mobile-map-back,.ais-list-time-apply,.ais-floating-layers>summary):hover { background:var(--brand-map-hover)!important;color:#fff!important;border-color:var(--brand-map-hover)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-navigation-links a,.v4-menu-actions a,.v4-menu-actions button,.ais-mobile-result):hover { background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(button,a,input,select,summary,[tabindex]):focus-visible:not(.leaflet-interactive) { outline:3px solid var(--brand-map-focus)!important;outline-offset:2px; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-data-toggle,.ais-mobile-map-filters,.ais-mobile-locate,.ais-time-trigger,.ais-list-time-trigger,.ais-add-company,.ais-shipconnect-link,.v4-connect,.ais-views button) { background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important;border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-card,.ais-mobile-result,.ais-toolbar,.ais-map-heading,.v4-menu-actions) { border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-views button,.ais-data-toggle)[aria-pressed=true] { background:var(--brand-map-primary)!important;color:#fff!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.v4-footer-base,.v4-footer-sale,.v4-connect,.ais-shipconnect-link):hover { background:var(--brand-map-hover)!important;color:#fff!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) #ais-fit,
:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) #ais-filter-close { background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important;border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) #ais-filters .ais-filter-heading,
:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) #ais-filters .ais-primary { background:var(--brand-map-primary)!important;color:#fff!important;border-color:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) #ais-filters .ais-primary:hover { background:var(--brand-map-hover)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) :is(.ais-list-time-trigger,.ais-range-trigger,.ais-company-favorites-toggle,.ais-favorites-toggle)[aria-pressed=true] { background:var(--brand-map-primary)!important;color:#fff!important;border-color:var(--brand-map-primary)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-mobile-period { background:#fff!important;color:var(--brand-map-primary)!important;border-color:var(--brand-map-border)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-mobile-period:focus-within { outline:3px solid var(--brand-map-focus)!important;outline-offset:2px; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .v3-vessel-navigation { background:var(--brand-map-primary)!important;color:#fff!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .v3-vessel-navigation :is(.v4-previous,.v4-next,.v4-counter) { color:#fff!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .ais-vessel-results { background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .v4-tab { background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important; }

:is(body.s2b-base .ais-explorer, body .ais-explorer.ais-brand-buy) .v4-tab[aria-selected=true] { background:var(--brand-map-primary)!important;color:#fff!important; }

/* Preserve sales emphasis on Buy; Base actions use its own green identity. */
body .ais-explorer.ais-brand-buy :is(.v4-footer-sale,.v4-sale,.v4-sale-badge) {background:var(--brand-map-sale)!important;color:var(--brand-map-ink)!important;border-color:var(--brand-map-sale)!important;}
body .ais-explorer.ais-brand-buy .ais-filter-heading strong:before {color:var(--brand-map-accent)!important;}
body.s2b-base .ais-explorer :is(.v4-footer-sale,.v4-sale,.v4-sale-badge) {background:var(--brand-map-soft)!important;color:var(--brand-map-ink)!important;border-color:var(--brand-map-border)!important;}
:is(body.s2b-base .ais-explorer,body .ais-explorer.ais-brand-buy) .v4-footer-base {background:var(--brand-map-primary)!important;color:#fff!important;}
body.s2b-base.ais-explorer-page header nav.navbar.navbar-dark.bg-dark,body.s2b-base.ais-explorer-page .navbar #block-b5subtheme-account-menu,body.s2b-base.ais-explorer-page header nav.contextual-region {background-color:var(--s2bi-blue)!important;}
body.ais-explorer-page:has(.ais-brand-buy) header nav.navbar.navbar-dark.bg-dark,body.ais-explorer-page:has(.ais-brand-buy) .navbar #block-b5subtheme-account-menu {background-color:var(--brand-map-primary)!important;}

body.ais-explorer-page:has(.ais-brand-buy) header .navbar .nav-link {color:var(--brand-map-accent)!important;}
body.ais-explorer-page:has(.ais-brand-buy) header .navbar .nav-link:is(:hover,:focus-visible,.active) {color:#f3deb0!important;}
body.s2b-base.ais-explorer-page header .navbar .nav-link {color:#f2faf8!important;}
body.s2b-base.ais-explorer-page header .navbar .nav-link:is(:hover,:focus-visible,.active) {color:#8cebd7!important;}


/* Base mobile header: active Work geometry, official Base asset and domain tokens. */
body.s2b-base .ais-base-home-logo,
body.s2b-base .ais-profile-icon {display:none}
@media(max-width:1024px) and (orientation:portrait) {
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-mobile-searchbar {
    display:flex;align-items:center;gap:8px;min-width:0;
  }
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-mobile-searchbar::before {left:79px}
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-mobile-search {
    flex:1;min-width:0;width:0;height:44px;border:1px solid var(--brand-map-border)!important;
    border-radius:14px;background:#fff!important;
  }
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-base-home-logo {
    display:flex;flex:0 0 58px;align-items:center;justify-content:center;
    height:44px;box-sizing:border-box;padding:1px 3px;
    background:var(--brand-map-primary);border:1px solid #fff;border-radius:14px;text-decoration:none;
  }
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-base-home-logo img {
    display:block;width:100%;height:100%;object-fit:contain;
  }
  body.s2b-base .ais-base-map.ais-mobile-v1 :is(.ais-floating-layers>summary,.ais-navigation-toggle) {
    height:44px;width:44px;box-sizing:border-box;border:1px solid #fff!important;
    background:var(--brand-map-primary)!important;color:#fff!important;
  }
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-navigation-toggle {border-radius:14px!important}
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-floating-layers>summary {border-radius:13px!important}
  /* Keep the same profile URL and accessible name; only the mobile label is compact. */
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-popup-detail .ais-profile-label {display:none}
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-popup-detail .ais-profile-icon {display:inline;font-size:18px}
  body.s2b-base .ais-base-map.ais-mobile-v1 .ais-popup-detail {
    display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;
  }
}

/* Match Work's existing mobile outlines while retaining Buy's domain palette. */
@media(max-width:1024px) and (orientation:portrait) {
  body .ais-explorer.ais-brand-buy.ais-mobile-v1 :is(.ais-buy-home-logo,.ais-floating-layers>summary,.ais-navigation-toggle) {
    border:1px solid #fff!important;
  }
  /* Keep the open layer choices above the adjacent map action button. */
  body .ais-explorer.ais-brand-buy.ais-mobile-v1 .ais-floating-layers[open] {z-index:1003}
  body .ais-explorer.ais-brand-buy.ais-mobile-v1 .ais-mobile-searchbar input.ais-mobile-search[type=search] {
    border:1px solid var(--brand-map-accent)!important;
  }
}

/* Subtle entitlement label, exclusively in Ship2Base's portrait company results. */
.ais-base-map.ais-mobile-v1 .ais-mobile-company-info>.ais-base-company-partner {
  display:flex;align-items:center;gap:4px;font-size:10px;line-height:12px;
  font-weight:500;color:#746a52;white-space:nowrap;
}
.ais-base-map.ais-mobile-v1 .ais-base-company-partner>svg {
  width:12px;height:12px;flex:0 0 12px;color:#ad8430;
  fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
