/* button-glass.css */
/* Soft glass surfaces and a quiet, persistent halo for interactive controls. */
:is(.modern-platform, .modern-crm) :is(
  button:not(.drawer-scrim):not(.quote-sort-button):not(.mobile-sort-button):not(.article-link):not(.photo-inquiry-link):not(.vehicle-manual-toggle):not(.choice-search):not(.forgot-password-link):not(.footer-cooperation):not(.footer-copyright):not(.footer-certificate):not(.quote-product-image-close):not(.modal-close):not(.drawer-close),
  input[type="button"],
  input[type="submit"],
  a.primary-button,
  a.secondary-button,
  a.outline-button,
  a.owner-crm-link,
  .main-nav a,
  .mobile-bottom-nav a
) {
  box-shadow:
    0 0 0 1px rgba(63, 151, 202, .08),
    0 2px 9px rgba(30, 94, 137, .10),
    inset 0 1px 0 rgba(255, 255, 255, .38) !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,.20), rgba(255,255,255,0) 58%);
  transition:
    box-shadow .2s ease,
    border-color .2s ease,
    background-color .2s ease,
    transform .2s ease,
    filter .2s ease;
}

@media (hover: hover) and (pointer: fine) {
  :is(.modern-platform, .modern-crm) :is(
    button:not(:disabled):not(.drawer-scrim):not(.quote-sort-button):not(.mobile-sort-button):not(.article-link):not(.photo-inquiry-link):not(.vehicle-manual-toggle):not(.choice-search):not(.forgot-password-link):not(.footer-cooperation):not(.footer-copyright):not(.footer-certificate):not(.quote-product-image-close):not(.modal-close):not(.drawer-close),
    input[type="button"],
    input[type="submit"],
    a.primary-button,
    a.secondary-button,
    a.outline-button,
    a.owner-crm-link,
    .main-nav a,
    .mobile-bottom-nav a
  ):hover {
    box-shadow:
      0 0 0 2px rgba(35, 139, 199, .18),
      0 0 19px rgba(50, 157, 216, .34),
      0 7px 18px rgba(23, 73, 108, .16),
      inset 0 1px 0 rgba(255, 255, 255, .62) !important;
    filter: saturate(1.06) brightness(1.025);
    transform: translateY(-1px);
  }
}

:is(.modern-platform, .modern-crm) :is(button:not(.drawer-close):not(.modal-close):not(.quote-product-image-close):not(.plain-window-close):not(.choice-search):not(.forgot-password-link):not(.footer-cooperation):not(.footer-copyright):not(.footer-certificate), input[type="button"], input[type="submit"]):focus-visible,
:is(.modern-platform, .modern-crm) :is(a.primary-button, a.secondary-button, a.outline-button, a.owner-crm-link):focus-visible {
  outline: 3px solid rgba(35, 139, 199, .34) !important;
  outline-offset: 3px;
  box-shadow:
    0 0 0 5px rgba(35, 139, 199, .12),
    0 0 18px rgba(50, 157, 216, .25),
    inset 0 1px 0 rgba(255, 255, 255, .5) !important;
}

:is(.modern-platform, .modern-crm) :is(button:not(.drawer-close):not(.modal-close):not(.quote-product-image-close):not(.plain-window-close):not(.choice-search):not(.forgot-password-link), input[type="button"], input[type="submit"]):disabled {
  box-shadow: 0 0 0 1px rgba(63, 151, 202, .04), inset 0 1px 0 rgba(255,255,255,.25) !important;
  filter: saturate(.78);
}

@media (hover: none) {
  :is(.modern-platform, .modern-crm) :is(button:not(.drawer-close):not(.modal-close):not(.quote-product-image-close):not(.plain-window-close):not(.choice-search):not(.forgot-password-link):not(.footer-cooperation):not(.footer-copyright):not(.footer-certificate), input[type="button"], input[type="submit"]):active {
    box-shadow:
      0 0 0 2px rgba(35, 139, 199, .16),
      0 0 14px rgba(50, 157, 216, .26),
      inset 0 1px 0 rgba(255, 255, 255, .52) !important;
    transform: scale(.985);
  }
}

/* Close controls are a quiet corner X, with feedback on hover only. */
:is(.modern-platform, .modern-crm) :is(.quote-product-image-close, .modal-close, .drawer-close) {
  display: grid;
  place-items: center;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #526f82 !important;
  box-shadow: none !important;
  text-shadow: none;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: color .18s ease, text-shadow .18s ease, transform .18s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  :is(.modern-platform, .modern-crm) :is(.quote-product-image-close, .modal-close, .drawer-close):hover {
    background: transparent !important;
    color: #0879be !important;
    box-shadow: none !important;
    text-shadow: 0 0 8px rgba(24, 121, 189, .42);
    transform: scale(1.08);
  }
}

:is(.modern-platform, .modern-crm) :is(.quote-product-image-close, .modal-close, .drawer-close):focus-visible {
  outline: 2px solid rgba(24, 121, 189, .42) !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

.modern-platform .quote-product-image-close {
  top: 10px !important;
  right: 10px !important;
}

/* Match the bottom navigation glass to the translucent site header. */
.modern-platform .mobile-bottom-nav {
  background: rgba(255, 255, 255, .72) !important;
  border-top: 1px solid rgba(170, 210, 235, .5) !important;
  box-shadow: 0 -4px 18px rgba(23, 51, 77, .08) !important;
  backdrop-filter: blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
}

/* Vehicle picker search is a text link: keep its glow on the letters only. */
.modern-platform button.choice-search,
.modern-platform button.choice-search:hover,
.modern-platform button.choice-search:focus,
.modern-platform button.choice-search:focus-visible,
.modern-platform button.choice-search:active {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: 0 !important;
  filter: none !important;
  transform: none !important;
}

.modern-platform button.choice-search:hover,
.modern-platform button.choice-search:focus,
.modern-platform button.choice-search:focus-visible,
.modern-platform button.choice-search:active {
  text-shadow: 0 0 9px rgba(24, 121, 189, .42);
}

/* Subtle status tints on offer rows: in stock first, 1–2 days lighter. */
.modern-platform .live-results-table tbody tr.quote-redesigned-row.delivery-in-stock,
.modern-platform .live-results-table tbody tr.quote-redesigned-row.delivery-in-stock:hover {
  background: #edf8ef !important;
  box-shadow: inset 3px 0 0 rgba(53, 147, 77, .42) !important;
}

.modern-platform .live-results-table tbody tr.quote-redesigned-row.delivery-one-two-days,
.modern-platform .live-results-table tbody tr.quote-redesigned-row.delivery-one-two-days:hover {
  background: #f6faf6 !important;
  box-shadow: inset 3px 0 0 rgba(103, 170, 116, .24) !important;
}

@media (hover: hover) and (pointer: fine) {
  .modern-platform .live-results-table tbody tr.quote-redesigned-row.delivery-in-stock:hover {
    background: #e5f4e8 !important;
  }
  .modern-platform .live-results-table tbody tr.quote-redesigned-row.delivery-one-two-days:hover {
    background: #eff7f0 !important;
  }
}

/* Frosted panels keep the page feeling light without obscuring its text. */
@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .modern-platform :is(.search-card, .quote-group),
  .modern-crm :is(.crm-login-card, .crm-stat, .crm-panel) {
    background-color: rgba(255, 255, 255, .78) !important;
    border-color: rgba(151, 197, 225, .56) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.86),
      0 8px 26px rgba(35, 85, 125, .075) !important;
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.modern-platform, .modern-crm) :is(button, input[type="button"], input[type="submit"], a.primary-button, a.secondary-button, a.outline-button, a.owner-crm-link, .main-nav a, .mobile-bottom-nav a) {
    transition: none !important;
  }
}

/* Keep control labels centered even when later component styles add icons. */
:is(.modern-platform, .modern-crm) :is(
  button:not(.drawer-scrim):not(.modal-close):not(.drawer-close):not(.quote-product-image-close):not(.vehicle-manual-toggle):not(.choice-search):not(.forgot-password-link):not(.quote-sort-button):not(.mobile-sort-button):not(.article-link):not(.photo-inquiry-link):not(.news-admin-row > button),
  input[type="button"],
  input[type="submit"]
) {
  justify-content: center !important;
  text-align: center !important;
}

/* Link-like buttons glow on their letters without a box, including photo inquiry. */
@media (hover: hover) and (pointer: fine) {
  body.modern-platform button:is(.photo-inquiry-link, .vehicle-manual-toggle, .choice-search, .quote-sort-button, .mobile-sort-button, .article-link):hover,
  body.modern-platform button:is(.photo-inquiry-link, .vehicle-manual-toggle, .choice-search, .quote-sort-button, .mobile-sort-button, .article-link):hover * {
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    filter: none !important;
    text-shadow: 0 0 6px rgba(19,128,207,.62), 0 0 13px rgba(19,128,207,.34) !important;
  }
}
body.modern-platform button:is(.photo-inquiry-link, .vehicle-manual-toggle, .choice-search, .quote-sort-button, .mobile-sort-button, .article-link):is(:focus, :focus-visible, :active, .active, [aria-pressed="true"], [aria-selected="true"], [aria-expanded="true"]),
body.modern-platform button:is(.photo-inquiry-link, .vehicle-manual-toggle, .choice-search, .quote-sort-button, .mobile-sort-button, .article-link):is(:focus, :focus-visible, :active, .active, [aria-pressed="true"], [aria-selected="true"], [aria-expanded="true"]) * {
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  text-shadow: 0 0 7px rgba(19,128,207,.62), 0 0 14px rgba(19,128,207,.34) !important;
}
body.modern-platform button:is(.photo-inquiry-link, .vehicle-manual-toggle, .choice-search, .quote-sort-button, .mobile-sort-button, .article-link):is(:focus, :focus-visible, :active, .active, [aria-pressed="true"], [aria-selected="true"], [aria-expanded="true"]) {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Give every interactive text control the same visible text feedback. */
@media (hover: hover) and (pointer: fine) {
  :is(.modern-platform, .modern-crm) :is(a, button, [role="button"], summary):not(:is(.drawer-close, .modal-close, .quote-product-image-close, .plain-window-close)):not(:disabled):not([aria-disabled="true"]):hover,
  :is(.modern-platform, .modern-crm) :is(a, button, [role="button"], summary):not(:is(.drawer-close, .modal-close, .quote-product-image-close, .plain-window-close)):not(:disabled):not([aria-disabled="true"]):hover * {
    text-shadow: 0 0 5px rgba(19, 128, 207, .58), 0 0 12px rgba(19, 128, 207, .32) !important;
  }
}
:is(.modern-platform, .modern-crm) :is(a, button, [role="button"], summary):not(:is(.drawer-close, .modal-close, .quote-product-image-close, .plain-window-close)):not(:disabled):not([aria-disabled="true"]):is(:focus-visible, :active, .active, [aria-current], [aria-pressed="true"], [aria-selected="true"], [aria-expanded="true"]),
:is(.modern-platform, .modern-crm) :is(a, button, [role="button"], summary):not(:is(.drawer-close, .modal-close, .quote-product-image-close, .plain-window-close)):not(:disabled):not([aria-disabled="true"]):is(:focus-visible, :active, .active, [aria-current], [aria-pressed="true"], [aria-selected="true"], [aria-expanded="true"]) * {
  text-shadow: 0 0 5px rgba(19, 128, 207, .58), 0 0 12px rgba(19, 128, 207, .32) !important;
}

/* Preserve the white logo tile even under the global link hover treatment. */
body.modern-platform #seller-information > .footer-brand,
body.modern-platform #seller-information > .footer-brand:hover,
body.modern-platform #seller-information > .footer-brand:focus-visible,
body.modern-platform #seller-information > .footer-brand:active {
  background: #fff !important;
  background-color: #fff !important;
  box-shadow: none !important;
}

/* Footer labels are text links: interactions glow the letters, never a box. */
body.modern-platform footer.pp-footer .footer-links > :is(a, button, [role="button"]):is(:hover, :focus, :focus-visible, :active, .active, [aria-current], [aria-pressed="true"], [aria-selected="true"], [aria-expanded="true"]),
body.modern-platform footer.pp-footer .footer-brand-stack > .footer-certificate:is(:hover, :focus, :focus-visible, :active, .active, [aria-current], [aria-pressed="true"], [aria-selected="true"], [aria-expanded="true"]) {
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  filter: none !important;
  transform: none !important;
}

/* liquid-glass.css */
/* PartPrice: macOS 27 inspired glass for navigation and transient controls. */
:root {
  --pp-glass-tint: rgba(242, 248, 252, .80);
  --pp-glass-tint-strong: rgba(248, 251, 253, .78);
  --pp-glass-edge: rgba(255, 255, 255, .86);
  --pp-glass-divider: rgba(62, 105, 134, .34);
  --pp-glass-shadow-soft: 0 8px 26px rgba(22, 57, 78, .10);
}

/* Keep the page canvas soft and continuous behind the fixed navigation. */
.modern-platform {
  background-color: #eef5f9;
  background-image:
    radial-gradient(ellipse at 12% 4%, rgba(255, 255, 255, .62), transparent 39%),
    radial-gradient(ellipse at 88% 42%, rgba(169, 211, 236, .18), transparent 47%);
  background-attachment: fixed;
}

.modern-platform .announcement,
.modern-platform .site-header {
  background: var(--pp-glass-tint) !important;
  -webkit-backdrop-filter: blur(5px) saturate(125%) !important;
  backdrop-filter: blur(5px) saturate(125%) !important;
}

.modern-platform .announcement {
  color: #355b74;
  border-bottom: 1px solid rgba(255, 255, 255, .48);
}

.modern-platform .announcement .pulse {
  background: #2eaa70;
  box-shadow: 0 0 0 4px rgba(46, 170, 112, .12);
}

.modern-platform .announcement-currency {
  color: #355b74;
}

.modern-platform .announcement-currency small {
  color: #637f92;
}

.modern-platform .announcement-currency select {
  color: #174866;
  background: rgba(255, 255, 255, .52);
  border-color: rgba(255, 255, 255, .75);
}

.modern-platform .site-header {
  border-bottom: 1px solid var(--pp-glass-divider) !important;
  box-shadow: 0 5px 22px rgba(23, 59, 82, .055);
}

.modern-platform .main-nav.mobile-open {
  background: var(--pp-glass-tint-strong) !important;
  border-color: var(--pp-glass-edge);
  box-shadow: var(--pp-glass-shadow-soft);
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  backdrop-filter: blur(6px) saturate(130%);
}

.modern-platform .sticky-search-dock.is-visible {
  background: rgba(242, 248, 252, .92) !important;
  border-bottom: 1px solid var(--pp-glass-divider);
  box-shadow: 0 8px 24px rgba(22, 57, 78, .075);
  -webkit-backdrop-filter: blur(6px) saturate(130%) !important;
  backdrop-filter: blur(6px) saturate(130%) !important;
}

.modern-platform .sticky-search-inner input {
  background: rgba(255, 255, 255, .76);
  border-color: rgba(133, 174, 199, .36);
}

.modern-platform .header-actions .account-open,
.modern-platform .header-actions .cart-button,
.modern-platform .menu-toggle {
  background: rgba(255, 255, 255, .42);
  border-color: rgba(255, 255, 255, .72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62), 0 2px 9px rgba(26, 65, 90, .04);
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  backdrop-filter: blur(6px) saturate(130%);
}

.modern-platform .header-actions .account-open:hover,
.modern-platform .header-actions .cart-button:hover,
.modern-platform .menu-toggle:hover {
  background: rgba(255, 255, 255, .72);
}

/* Functional search surface gets a light glass tint; product content stays clear. */
.modern-platform .search-card {
  background: rgba(250, 252, 254, .88);
  border-color: rgba(255, 255, 255, .86);
  box-shadow: 0 18px 48px rgba(27, 69, 94, .095);
  -webkit-backdrop-filter: blur(5px) saturate(130%);
  backdrop-filter: blur(5px) saturate(130%);
}

.modern-platform .search-form input,
.modern-platform .search-form select {
  background-color: rgba(255, 255, 255, .78);
}

.modern-platform :is(
  .product-card, .search-result, .result-card, .catalog-card, .account-card,
  .profile-card, .dashboard-card, .news-card, .material-card, .card,
  .category-card, .quote-group, .live-list-wrap, .business-card,
  .recent-search-card
) {
  background: rgba(255, 255, 255, .94) !important;
  border-color: rgba(157, 184, 201, .34) !important;
  box-shadow: 0 4px 16px rgba(24, 61, 84, .045) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.modern-platform .mobile-bottom-nav {
  background: rgba(244, 249, 252, .62);
  border-top-color: var(--pp-glass-divider);
  box-shadow: 0 -5px 20px rgba(22, 57, 78, .075);
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  backdrop-filter: blur(6px) saturate(130%);
}

.modern-platform .mobile-bottom-nav button[aria-current] {
  background: rgba(255, 255, 255, .72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82);
}

.modern-platform .cart-drawer .drawer-panel {
  background: rgba(247, 250, 252, .94);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .modern-platform .announcement,
  .modern-platform .site-header,
  .modern-platform .sticky-search-dock.is-visible,
  .modern-platform .mobile-bottom-nav {
    background: rgba(245, 249, 252, .97) !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .modern-platform .announcement,
  .modern-platform .site-header,
  .modern-platform .main-nav.mobile-open,
  .modern-platform .sticky-search-dock.is-visible,
  .modern-platform .header-actions .account-open,
  .modern-platform .header-actions .cart-button,
  .modern-platform .menu-toggle,
  .modern-platform .mobile-bottom-nav,
  .modern-platform .cart-drawer .drawer-panel {
    background: rgba(246, 249, 251, .98) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* Account and site popups use the same light glass as the sticky site header. */
.modern-platform .account-modal .account-card,
.modern-platform .modal-card,
.modern-platform .cart-drawer .drawer-panel,
.modern-platform .chat-panel,
.modern-platform dialog.quote-product-image-dialog {
  background: var(--ios-glass) !important;
  border: 1px solid var(--ios-glass-edge) !important;
  box-shadow: 0 10px 32px rgba(34, 59, 84, .1), inset 0 1px rgba(255,255,255,.9) !important;
  -webkit-backdrop-filter: blur(22px) saturate(175%) !important;
  backdrop-filter: blur(22px) saturate(175%) !important;
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .modern-platform .account-modal .account-card,
  .modern-platform .modal-card,
  .modern-platform .cart-drawer .drawer-panel,
  .modern-platform .chat-panel,
  .modern-platform dialog.quote-product-image-dialog {
    background: rgba(245, 249, 252, .97) !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .modern-platform .account-modal .account-card,
  .modern-platform .modal-card,
  .modern-platform .cart-drawer .drawer-panel,
  .modern-platform .chat-panel,
  .modern-platform dialog.quote-product-image-dialog {
    background: rgba(246, 249, 251, .98) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* ios27-trial.css */
/* PartPrice iOS 27 design exploration.
   Apple HIG: reserve Liquid Glass for navigation and transient controls;
   keep information surfaces calm, opaque, and easy to read. */
:root {
  --ios-blue: #1172bf;
  --ios-blue-deep: #0e68b3;
  --ios-ink: #17283d;
  --ios-secondary: #68798e;
  --ios-tertiary: #8592a2;
  --ios-line: #e2e8ef;
  --ios-canvas: #f3f5f8;
  --ios-surface: #fff;
  --ios-glass: rgba(250, 252, 255, .74);
  --ios-glass-edge: rgba(255, 255, 255, .88);
  --ios-shadow: 0 12px 34px rgba(31, 54, 78, .08);
  --ios-radius-large: 28px;
  --ios-radius-surface: 22px;
  --ios-radius-surface-mobile: 20px;
  --ios-radius-floating-mobile: 24px;
  --ios-radius-inset: 20px;
  --ios-control-radius: 999px;
  --ink: var(--ios-ink);
  --muted: var(--ios-secondary);
  --line: var(--ios-line);
  --paper: var(--ios-canvas);
  --brand: var(--ios-blue);
  --dark: #172b43;
}

.ios27-trial,
.ios27-trial button,
.ios27-trial input,
.ios27-trial select,
.ios27-trial textarea {
  font-family: "Manrope", sans-serif;
}
.ios27-trial {
  color: var(--ios-ink);
  background:
    radial-gradient(ellipse at 8% 7%, rgba(191, 220, 252, .42), transparent 31rem),
    radial-gradient(ellipse at 94% 25%, rgba(218, 231, 251, .5), transparent 35rem),
    linear-gradient(180deg, #f8fafc 0%, #f1f4f8 54%, #f8f9fb 100%);
  background-attachment: fixed;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.ios27-trial ::selection { background: rgba(17, 120, 201, .18); }
.ios27-trial :focus-visible { outline: 3px solid rgba(17, 120, 201, .48); outline-offset: 3px; }
.ios27-trial :is(h1,h2,h3,p) { text-wrap: pretty; }
.ios27-trial :is(button:not(.recent-search-card):not(.drawer-scrim):not(.drawer-close):not(.modal-close):not(.quote-product-image-close):not(.admin-calculator-close):not(.plain-window-close),input[type="button"],input[type="submit"],input[type="reset"],a.primary-button,a.secondary-button,a.outline-button) { border-radius: var(--ios-control-radius); }

/* Navigation links are controls too; keep form fields in the same rounded language. */
.ios27-trial .main-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 18px;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: var(--ios-control-radius);
  background: rgba(255,255,255,.56);
  box-shadow: 0 3px 12px rgba(31,58,84,.07), inset 0 1px rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(14px) saturate(155%);
  backdrop-filter: blur(14px) saturate(155%);
}
.ios27-trial .main-nav a:hover { background: rgba(255,255,255,.86); }
.ios27-trial input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="image"]),
.ios27-trial select {
  border-radius: var(--ios-control-radius) !important;
}
.ios27-trial textarea { border-radius: var(--ios-radius-inset) !important; }
.ios27-trial .cart-quantity-controls { overflow: hidden; border-radius: var(--ios-control-radius); }

/* Status and navigation are the floating functional layer. */
.ios27-trial .announcement {
  min-height: 38px;
  padding: 6px max(20px, calc((100vw - 1360px) / 2));
  color: #52677e;
  background: rgba(242, 246, 251, .62);
  border: 0;
  font-size: 12px;
}
.ios27-trial .announcement .pulse { background: #28bd76; box-shadow: 0 0 0 4px rgba(40,189,118,.12); }
.ios27-trial .announcement-currency select {
  min-height: 30px;
  border-radius: 999px;
  padding: 0 11px;
  color: #315a7f;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: 0 2px 8px rgba(34,61,90,.07);
}
.ios27-trial .site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  height: 78px;
  min-height: 78px;
  margin: 0;
  padding: 0 clamp(16px, 2.4vw, 34px);
  gap: clamp(12px, 2vw, 30px);
  border: 1px solid var(--ios-glass-edge);
  border-width: 0 0 1px;
  border-radius: 0;
  background: var(--ios-glass);
  box-shadow: 0 10px 32px rgba(34, 59, 84, .1), inset 0 1px rgba(255,255,255,.9);
  -webkit-backdrop-filter: blur(22px) saturate(175%);
  backdrop-filter: blur(22px) saturate(175%);
}
.ios27-trial .site-header .brand-logo { width: 176px; height: auto; max-width: 22vw; filter: none; }
.ios27-trial .main-nav { position: relative; isolation: isolate; gap: clamp(12px, 2vw, 28px); color: #52677e; font-size: 13px; }
.ios27-trial .main-nav a { transition: color .18s ease; }
.ios27-trial .main-nav a:hover { color: var(--ios-blue); }
.ios27-trial .header-actions { gap: 8px; }
.ios27-trial .header-actions { position: relative; isolation: isolate; }
.ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle) {
  min-width: 44px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 999px;
  color: #28415e;
  background: rgba(255,255,255,.56);
  box-shadow: 0 3px 12px rgba(31,58,84,.08), inset 0 1px rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(14px) saturate(155%);
  backdrop-filter: blur(14px) saturate(155%);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle):hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.86);
  box-shadow: 0 6px 16px rgba(31,58,84,.12), inset 0 1px #fff;
}
.ios27-trial .cart-button b { background: var(--ios-blue); color: #fff; border-radius: 999px; }

/* Search gets the strongest content hierarchy; its panel stays opaque. */
.ios27-trial .hero {
  width: min(1360px, calc(100% - 48px));
  min-height: 0;
  margin: 0 auto;
  padding: clamp(40px, 6vw, 84px) 0 clamp(52px, 7vw, 96px);
  grid-template-columns: minmax(0, .84fr) minmax(480px, 1.16fr);
  align-items: center;
  gap: clamp(36px, 6vw, 92px);
  background: transparent;
  overflow: visible;
}
.ios27-trial .hero:before,
.ios27-trial .hero:after { display: none; }
.ios27-trial .hero-copy { max-width: 560px; }
.ios27-trial .eyebrow,
.ios27-trial .small-label { color: #718196; font-size: 11px; letter-spacing: .12em; font-weight: 720; }
.ios27-trial .hero .eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border-radius: 999px; background: rgba(255,255,255,.72); box-shadow: inset 0 0 0 1px rgba(255,255,255,.94); }
.ios27-trial .hero .eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #27bd77; box-shadow: 0 0 0 4px rgba(39,189,119,.12); }
.ios27-trial .hero h1 { margin: 24px 0 18px; color: #172b43; font-size: clamp(34px, 3.8vw, 52px); line-height: 1.06; letter-spacing: -.05em; font-weight: 750; }
.ios27-trial .hero h1 em { color: var(--ios-blue); font-style: normal; font-weight: 750; }
.ios27-trial .hero-sub { max-width: 490px; margin: 0; color: #61738a; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.62; }
.ios27-trial .hero-proof { gap: 11px 18px; margin-top: 27px; color: #536a82; font-size: 13px; }
.ios27-trial .hero-proof>span { padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.64); }
.ios27-trial .hero-proof svg { color: var(--ios-blue); }
.ios27-trial .hero-help-link { margin-top: 24px; color: var(--ios-blue); font-size: 14px; font-weight: 650; }
.ios27-trial .search-card {
  width: 100%;
  min-width: 0;
  padding: clamp(22px, 2.7vw, 36px);
  border: 1px solid rgba(213,222,232,.92);
  border-radius: var(--ios-radius-large);
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 64px rgba(40,62,88,.12), inset 0 1px #fff;
  scroll-margin-top: 112px;
}
.ios27-trial .search-card-top { gap: 12px; margin-bottom: 20px; }
.ios27-trial .search-card-top .small-label { font-size: 12px; letter-spacing: .11em; }
.ios27-trial .catalog-badge { padding: 8px 12px; color: #48647e; background: #f2f6fb; border-radius: 999px; font-size: 12px; }
.ios27-trial .catalog-badge span { width: 7px; height: 7px; }
.ios27-trial .search-tabs {
  position: relative;
  isolation: isolate;
  display: flex;
  justify-content: stretch;
  gap: 3px;
  margin: 0 0 24px;
  padding: 5px;
  border: 1px solid #e4eaf1;
  border-radius: 999px;
  background: rgba(228, 231, 236, .82);
  box-shadow: inset 0 1px 2px rgba(31,53,78,.055), 0 1px rgba(255,255,255,.8);
}
.ios27-trial .search-tab {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: 999px;
  color: #43546a;
  font-size: 13px;
  font-weight: 620;
  text-align: center;
  white-space: normal;
  transition: color .2s ease, background .28s ease, box-shadow .28s ease;
}
.ios27-trial .search-tab.active {
  color: #263a52;
  background: rgba(255,255,255,.96);
  box-shadow: 0 2px 7px rgba(34,52,73,.13), inset 0 1px rgba(255,255,255,.98);
}
.ios27-trial .search-tab:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 23%;
  bottom: 23%;
  left: -2px;
  width: 1px;
  background: rgba(76,91,110,.2);
  transition: opacity .18s ease;
}
.ios27-trial .search-tab.active::before,
.ios27-trial .search-tab.active + .search-tab::before { opacity: 0; }
.ios27-trial .search-tab.active:after { display: none; }
.ios27-trial .search-form { padding-top: 0; }
.ios27-trial .search-form label { margin-bottom: 14px; color: #263c55; font-size: 14px; font-weight: 600; }
.ios27-trial .search-form input:not([type=checkbox]),
.ios27-trial .search-form select {
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid #d9e1eb;
  border-radius: var(--ios-control-radius);
  color: #213954;
  background: #f6f8fa;
  box-shadow: inset 0 1px 2px rgba(23,43,67,.025);
  transition: background .2s, border-color .2s, box-shadow .2s;
}
.ios27-trial .search-form :is(input,select,textarea):focus {
  border-color: #6aaef0;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(17,120,201,.12);
}
.ios27-trial .search-form .primary-button,
.ios27-trial .primary-button {
  min-height: 56px;
  padding: 14px 22px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: var(--ios-control-radius);
  color: #fff;
  background: linear-gradient(180deg, #2588d0 0%, #1172bf 100%);
  box-shadow: 0 7px 18px rgba(13,92,163,.18), inset 0 1px rgba(255,255,255,.38);
  font-size: 16px;
  font-weight: 680;
  justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.ios27-trial .search-form .primary-button:hover,
.ios27-trial .primary-button:hover { transform: translateY(-1px); filter: saturate(1.04); box-shadow: 0 10px 22px rgba(13,92,163,.22), inset 0 1px rgba(255,255,255,.44); }
.ios27-trial .search-form .primary-button:active,
.ios27-trial .primary-button:active { transform: scale(.985); }
.ios27-trial .photo-inquiry-link,
.ios27-trial .vehicle-actions { text-align: center; }
.ios27-trial .field-hint { color: #718197; font-size: 13px; line-height: 1.55; }
.ios27-trial .analogs-option { color: #40566e; }
.ios27-trial .vehicle-actions { justify-content: center; }

/* A switch is used for the single on/off search preference; list selections stay checkboxes. */
.ios27-trial .search-form .analogs-option {
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  margin: 3px 0 14px;
  padding: 5px 2px;
  font-size: 14px;
  font-weight: 560;
  cursor: pointer;
}
.ios27-trial .search-form .analogs-option span { order: 1; }
.ios27-trial .search-form .analogs-option input {
  appearance: none;
  order: 2;
  position: relative;
  flex: 0 0 51px;
  width: 51px;
  height: 31px;
  min-height: 31px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background-color: #d5dbe2;
  background-image: radial-gradient(circle, #fff 0 12px, transparent 12.7px);
  background-repeat: no-repeat;
  background-position: 3px 3px;
  background-size: 25px 25px;
  box-shadow: inset 0 1px 2px rgba(21,38,57,.12);
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease;
}
.ios27-trial .search-form .analogs-option input:checked { background-color: #34c759; background-position: 23px 3px; }
.ios27-trial .search-form .analogs-option input:focus-visible { outline: 3px solid rgba(17,120,201,.42); outline-offset: 3px; }
.ios27-trial .quote-toolbar .quote-stock-filter {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 6px 14px;
  gap: 12px;
  border: 1px solid rgba(205, 220, 235, .72);
  border-radius: 999px;
  color: #566b81;
  background: rgba(244, 247, 250, .9);
  font-size: 12px;
  font-weight: 620;
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ios27-trial .quote-toolbar .quote-stock-filter input {
  appearance: none;
  order: 1;
  position: relative;
  flex: 0 0 46px;
  width: 46px;
  height: 28px;
  min-height: 28px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background-color: #d5dbe2;
  background-image: radial-gradient(circle, #fff 0 10.5px, transparent 11.2px);
  background-repeat: no-repeat;
  background-position: 3px 2.5px;
  background-size: 23px 23px;
  box-shadow: inset 0 1px 2px rgba(21,38,57,.12);
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease;
}
.ios27-trial .quote-toolbar .quote-stock-filter input:checked { background-color: #34c759; background-position: 20px 2.5px; }
.ios27-trial .quote-toolbar .quote-stock-filter span { order: 2; display: inline-flex; align-items: center; }
.ios27-trial .quote-toolbar .quote-stock-filter span::before {
  content: none;
}
.ios27-trial .quote-toolbar .quote-stock-filter:has(input:checked) {
  border-color: rgba(52,199,89,.3);
  color: #476b54;
  background: rgba(239, 248, 241, .92);
}
.ios27-trial .quote-toolbar .quote-stock-filter:focus-within { outline: 3px solid rgba(17,120,201,.35); outline-offset: 2px; }
.ios27-trial .quote-toolbar .quote-stock-filter input:focus-visible { outline: 3px solid rgba(17,120,201,.38); outline-offset: 3px; }
.ios27-trial .quote-toolbar .quote-brand-filter select {
  height: 42px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #c8ddec;
  border-radius: 999px;
  background-color: rgba(255,255,255,.94);
  color: #38556f;
  box-shadow: inset 0 1px 2px rgba(34,69,99,.025);
}
.ios27-trial .quote-toolbar .quote-brand-filter select:focus-visible {
  outline: 3px solid rgba(17,120,201,.35);
  outline-offset: 2px;
}

/* Content uses standard, quiet surfaces. Glass is reserved for floating UI. */
.ios27-trial .results-section,
.ios27-trial .section,
.ios27-trial .steps-section,
.ios27-trial .business-section,
.ios27-trial .vin-banner { max-width: 1240px; }
.ios27-trial .results-section { padding-top: 46px; }
.ios27-trial .section-heading h2,
.ios27-trial .results-head h2 { color: #192e47; font-size: clamp(27px, 3vw, 38px); letter-spacing: -.045em; }
.ios27-trial .quote-groups { gap: 18px; }
.ios27-trial .quote-group,
.ios27-trial .quote-analog-group,
.ios27-trial .car-search-result,
.ios27-trial .recent-search-card,
.ios27-trial .news-card,
.ios27-trial .business-card,
.ios27-trial .category-card,
.ios27-trial .product-card {
  border: 1px solid #e0e6ed;
  border-radius: var(--ios-radius-surface) !important;
  background: #fff;
  box-shadow: 0 5px 18px rgba(31,53,78,.045);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.ios27-trial .quote-group { overflow: hidden; }
.ios27-trial .quote-group-head { background: #fff; border-bottom: 1px solid #edf0f4; }
.ios27-trial .live-results-table th { background: #f5f7fa; color: #60738a; }
.ios27-trial .live-results-table td { border-top-color: #edf0f4; }
.ios27-trial .live-results-table tbody tr.delivery-in-stock { background: #f0faf4; }
.ios27-trial .live-results-table tbody tr.delivery-one-two-days { background: #f8faf2; }
.ios27-trial .live-results-table tbody tr.delivery-three-days { background: #f2f7fc; }
.ios27-trial .quote-analog-group { overflow: hidden; }
.ios27-trial .quote-analog-group>summary { background: #fff; }
.ios27-trial .category-card,
.ios27-trial .product-card,
.ios27-trial .recent-search-card,
.ios27-trial .news-card,
.ios27-trial .business-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ios27-trial :is(.category-card,.product-card,.recent-search-card,.news-card,.business-card):hover { transform: translateY(-2px); border-color: #c6d8ea; box-shadow: 0 12px 28px rgba(31,53,78,.09); }
.ios27-trial .vin-banner { border: 1px solid #dce7f1; border-radius: var(--ios-radius-surface); background: #eef4fa; }
.ios27-trial .step { border-radius: var(--ios-radius-surface); }
.ios27-trial .business-section { padding-bottom: 36px; }
.ios27-trial .contacts-card { padding: clamp(22px, 3vw, 36px); }

/* Sheets, menus, chat, and quick navigation float above information. */
.ios27-trial .sticky-search-dock.is-visible,
.ios27-trial .mobile-bottom-nav,
.ios27-trial .main-nav.mobile-open {
  border: 1px solid rgba(255,255,255,.84);
  background: rgba(247,250,254,.72);
  box-shadow: 0 12px 32px rgba(30,51,75,.14), inset 0 1px rgba(255,255,255,.9);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  backdrop-filter: blur(24px) saturate(180%);
}
.ios27-trial .sticky-search-dock.is-visible { border-radius: 0; }
.ios27-trial .mobile-bottom-nav { border-radius: var(--ios-control-radius); }
.ios27-trial .sticky-search-inner button { color: #fff; background: var(--ios-blue); border-radius: 999px; }
.ios27-trial .sticky-search-inner > button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
}
.ios27-trial .sticky-search-inner > button[type="submit"] span {
  display: none;
}
.ios27-trial .mobile-bottom-nav button { border: 0; border-radius: var(--ios-control-radius); color: #6a7e93; background: transparent; font-weight: 600; transition: color .18s ease, background .18s ease; }
.ios27-trial .mobile-bottom-nav button[aria-current] { color: var(--ios-blue) !important; background: rgba(255,255,255,.92) !important; box-shadow: 0 2px 9px rgba(31,53,78,.1), inset 0 1px #fff; }
.ios27-trial .cart-drawer .drawer-panel,
.ios27-trial .modal-card,
.ios27-trial .chat-panel {
  border: 1px solid rgba(255,255,255,.82);
  border-radius: var(--ios-radius-large);
  background: rgba(250,252,255,.92);
  box-shadow: 0 24px 72px rgba(19,39,64,.2), inset 0 1px rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(20px) saturate(155%);
  backdrop-filter: blur(20px) saturate(155%);
}
.ios27-trial .drawer-header,
.ios27-trial .chat-panel>header { border-color: rgba(115,137,160,.16); }
.ios27-trial .drawer-close,
.ios27-trial .modal-close,
.ios27-trial .chat-panel>header button { border-radius: 999px; }
.ios27-trial .chat-launcher { border-radius: 999px; background: var(--ios-blue); box-shadow: 0 8px 24px rgba(8,104,205,.28); }
.ios27-trial .chat-panel>header { color: #213954; background: rgba(255,255,255,.74); }
.ios27-trial .chat-panel>header small { color: #657991; }
.ios27-trial footer.pp-footer { background: #192e47; }

@media (max-width: 1000px) {
  .ios27-trial .hero { grid-template-columns: minmax(0,1fr) minmax(420px,1.1fr); gap: 30px; }
  .ios27-trial .site-header { gap: 14px; }
  .ios27-trial .main-nav { gap: 14px; font-size: 12px; }
}
@media (max-width: 800px) {
  .ios27-trial .announcement { padding: 7px 18px; }
  .ios27-trial .site-header { top: 0; width: 100%; height: 70px; min-height: 70px; margin: 0; padding: 0 14px; border-radius: 0; }
  .ios27-trial .site-header .brand-logo { width: min(176px, 40vw); max-width: none; }
  .ios27-trial .hero { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 24px; padding: 32px 0 44px; }
  .ios27-trial .hero-copy { max-width: 680px; }
  .ios27-trial .hero h1 { margin-top: 18px; font-size: clamp(32px, 6.2vw, 44px); }
  .ios27-trial .hero-sub { max-width: 600px; }
  .ios27-trial .search-card { padding: 22px; border-radius: var(--ios-radius-floating-mobile); }
}
@media (max-width: 560px) {
  .ios27-trial { font-size: 15px; }
  .ios27-trial .announcement { min-height: 34px; }
  .ios27-trial .announcement-copy { font-size: 10px; }
  .ios27-trial .announcement-currency { font-size: 10px; }
  .ios27-trial .site-header { width: 100%; padding: 0 11px; }
  .ios27-trial .header-actions { gap: 6px; }
  .ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle) { min-width: 42px; min-height: 42px; padding: 0 11px; }
  .ios27-trial .hero { width: calc(100% - 24px); padding: 26px 0 32px; gap: 20px; }
  .ios27-trial .hero h1 { margin: 16px 0 12px; font-size: clamp(30px, 8.5vw, 38px); letter-spacing: -.05em; }
  .ios27-trial .hero-sub { font-size: 15px; }
  .ios27-trial .hero-proof { gap: 7px; margin-top: 17px; font-size: 11px; }
  .ios27-trial .hero-proof>span { padding: 7px 9px; }
  .ios27-trial .search-card { padding: 18px 15px; border-radius: var(--ios-radius-floating-mobile); }
  .ios27-trial .search-card-top .small-label { max-width: 55%; font-size: 10px; }
  .ios27-trial .search-tabs { gap: 2px; padding: 4px; border-radius: var(--ios-control-radius); }
  .ios27-trial .search-tab { min-height: 42px; padding: 8px 5px; font-size: 11px; }
  .ios27-trial .search-form input:not([type=checkbox]),
  .ios27-trial .search-form select { min-height: 50px; padding: 0 14px; border-radius: var(--ios-control-radius); }
  .ios27-trial .search-form .primary-button,
  .ios27-trial .primary-button { min-height: 52px; border-radius: var(--ios-control-radius); font-size: 15px; }
  .ios27-trial .photo-inquiry-link { font-size: 12px; }
  .ios27-trial .results-section,.ios27-trial .section,.ios27-trial .steps-section,.ios27-trial .vin-banner,.ios27-trial .business-section { width: calc(100% - 24px); }
  .ios27-trial .section-heading h2,.ios27-trial .results-head h2 { font-size: 27px; }
  .ios27-trial .business-card,.ios27-trial .recent-search-card,.ios27-trial .news-card { border-radius: var(--ios-radius-surface-mobile); }
  .ios27-trial .cart-drawer .drawer-panel { border-radius: var(--ios-radius-floating-mobile) var(--ios-radius-floating-mobile) 0 0; }
  .ios27-trial .mobile-bottom-nav { left: 10px; right: 10px; bottom: max(8px, env(safe-area-inset-bottom)); width: auto; border-radius: var(--ios-control-radius); }
  .ios27-trial .chat-panel { border-radius: var(--ios-radius-floating-mobile); }
}
@media (prefers-reduced-motion: reduce) {
  .ios27-trial *, .ios27-trial *::before, .ios27-trial *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .ios27-trial :is(.site-header,.header-actions :is(.account-open,.cart-button,.menu-toggle),.sticky-search-dock.is-visible,.mobile-bottom-nav,.cart-drawer .drawer-panel,.modal-card,.chat-panel) {
    background: rgba(250,252,255,.98) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* Header-style capsule geometry on every action, while each control keeps its own colors. */
.ios27-trial :is(button:not(.recent-search-card):not(.drawer-scrim):not(.drawer-close):not(.modal-close):not(.quote-product-image-close):not(.admin-calculator-close):not(.plain-window-close),input[type="button"],input[type="submit"],input[type="reset"],a.primary-button,a.secondary-button,a.outline-button) {
  border-radius: var(--ios-control-radius) !important;
  -webkit-backdrop-filter: blur(14px) saturate(155%);
  backdrop-filter: blur(14px) saturate(155%);
}
.ios27-trial .cart-quantity-controls,
.ios27-trial .quote-quantity { border-radius: var(--ios-control-radius) !important; }
.ios27-trial .cart-quantity-controls button:first-of-type,
.ios27-trial .quote-quantity button:first-of-type { border-radius: 999px 0 0 999px !important; }
.ios27-trial .cart-quantity-controls button:last-of-type,
.ios27-trial .quote-quantity button:last-of-type { border-radius: 0 999px 999px 0 !important; }
.ios27-trial .main-nav a,
.ios27-trial .search-tabs,
.ios27-trial .search-tab { border-radius: var(--ios-control-radius) !important; }
.ios27-trial .cart-drawer .drawer-scrim { border-radius: 0 !important; }
.ios27-trial .article-search-clear:hover,
.ios27-trial .article-search-clear:focus-visible,
.ios27-trial .article-search-clear:active { transform: translateY(-50%) !important; }

/* One soft-corner language for every visible information surface. */
.ios27-trial { --section-radius: var(--ios-radius-large); }
.ios27-trial :is(.quote-group,.quote-analog-group,.car-search-result,.recent-search-card,.recent-empty-card,.news-card,.business-card,.category-card,.product-card,.vin-banner,.step,.article-history-panel,.chat-message,.business-callout) {
  border-radius: var(--ios-radius-surface) !important;
}
.ios27-trial :is(.quote-group-count,.catalog-badge,.chat-call,.inquiry-history header strong) {
  border-radius: var(--ios-control-radius) !important;
}
.ios27-trial :is(.popular-section,.manufacturer-news,.steps-section,.vehicle-inquiry-card,.experience-sheet) {
  border-radius: var(--ios-radius-large) !important;
}

/* The vehicle chooser inherits legacy field radii with stronger selectors.
   Force its visible controls and selected-vehicle summary into the same capsule shape. */
.ios27-trial #carForm :is(#vehicleCatalogFields select,#vehicleManualFields input:not([type="checkbox"]),#vehicleManualFields select,.vehicle-selection) {
  border-radius: 999px !important;
}
body.ios27-trial #carForm :is(#vehicleCatalogFields select,#vehicleManualFields input:not([type="checkbox"]),#vehicleManualFields select) {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}
body.ios27-trial #carForm .choice-search:is(:hover,:focus-visible,:active) {
  text-shadow: none !important;
}
body.ios27-trial :is(a,button,[role="button"],[role="tab"],.button,.btn):is(:hover,:focus-visible,:active,.active,[aria-current],[aria-pressed="true"],[aria-selected="true"],[aria-expanded="true"]),
body.ios27-trial :is(a,button,[role="button"],[role="tab"],.button,.btn):is(:hover,:focus-visible,:active,.active,[aria-current],[aria-pressed="true"],[aria-selected="true"],[aria-expanded="true"]) * {
  text-shadow: none !important;
}
body.modern-platform.ios27-trial #carForm button.choice-search:is(:hover,:focus,:focus-visible,:active,.active,[aria-pressed="true"],[aria-selected="true"]) {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
}
body.modern-platform.ios27-trial #carForm button.choice-search:is(:hover,:focus,:focus-visible,:active,.active,[aria-pressed="true"],[aria-selected="true"]) * {
  text-shadow: none !important;
  filter: none !important;
}
body.modern-platform.ios27-trial :is(.text-link,.hero-help-link,.legal-link,.next-link,.main-nav a,.news-related a,.vehicle-manual-toggle,.choice-search,.photo-inquiry-link,.article-link,.quote-sort-button,.mobile-sort-button,.search-tab):is(:hover,:focus,:focus-visible,:active,.active,[aria-current],[aria-pressed="true"],[aria-selected="true"],[aria-expanded="true"]),
body.modern-platform.ios27-trial :is(.text-link,.hero-help-link,.legal-link,.next-link,.main-nav a,.news-related a,.vehicle-manual-toggle,.choice-search,.photo-inquiry-link,.article-link,.quote-sort-button,.mobile-sort-button,.search-tab):is(:hover,:focus,:focus-visible,:active,.active,[aria-current],[aria-pressed="true"],[aria-selected="true"],[aria-expanded="true"]) * {
  text-shadow: none !important;
}
body.modern-platform.ios27-trial :is(.text-link,.hero-help-link,.legal-link,.next-link,.news-related a,.vehicle-manual-toggle,.choice-search,.photo-inquiry-link,.article-link,.quote-sort-button,.mobile-sort-button):is(:hover,:focus,:focus-visible,:active,.active,[aria-current],[aria-pressed="true"],[aria-selected="true"],[aria-expanded="true"]) {
  box-shadow: none !important;
  filter: none !important;
}
/* Keep the hero eyebrow in the same editorial style as “ВАШІ ПОЗИЦІЇ”. */
.ios27-trial .hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.ios27-trial .hero .eyebrow::before {
  content: "";
  width: 17px;
  height: 1px;
  flex: 0 0 17px;
  background: var(--ios-blue);
}
.ios27-trial .hero .eyebrow span { display: none; }
/* Center a consistent three-stroke menu glyph in its circular control. */
.ios27-trial .header-actions .menu-toggle {
  display: none !important;
  place-items: center;
  align-items: center;
  justify-content: center;
  line-height: 0;
  font-size: 0 !important;
}
.ios27-trial .header-actions .menu-toggle::before {
  content: "";
  display: block;
  width: 20px;
  height: 14px;
  background: linear-gradient(to bottom,
    currentColor 0 1.5px,
    transparent 1.5px 6.25px,
    currentColor 6.25px 7.75px,
    transparent 7.75px 12.5px,
    currentColor 12.5px 14px);
}
@media (max-width: 1100px) {
  .ios27-trial .header-actions .menu-toggle { display: grid !important; }
}
.ios27-trial .main-nav.mobile-open a {
  justify-content: center !important;
  text-align: center !important;
}
.ios27-trial .search-card { border-radius: 36px !important; }
.ios27-trial .footer-brand,
.ios27-trial .footer-brand:hover,
.ios27-trial .footer-brand:focus-visible { border-radius: 20px !important; }
.ios27-trial .business-card { border-radius: 32px !important; }
.ios27-trial .recent-search-card { border-radius: 32px !important; }
.ios27-trial .news-card { border-radius: 32px !important; }
@media (max-width: 800px) {
  .ios27-trial .search-card { border-radius: 32px !important; }
  .ios27-trial .business-card { border-radius: 28px !important; }
  .ios27-trial .recent-search-card { border-radius: 28px !important; }
  .ios27-trial .news-card { border-radius: 28px !important; }
}
@media (max-width: 560px) {
  .ios27-trial { --ios-radius-surface: var(--ios-radius-surface-mobile); }
}


/* Footer logo: retain the complete original mark and frame, without a white tile. */
.ios27-trial .footer-brand,
.ios27-trial .footer-brand:hover,
.ios27-trial .footer-brand:focus-visible,
.ios27-trial .footer-brand:active {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Match the higher-specificity footer tile override from button-glass.css. */
body.ios27-trial #seller-information > .footer-brand,
body.ios27-trial #seller-information > .footer-brand:hover,
body.ios27-trial #seller-information > .footer-brand:focus-visible,
body.ios27-trial #seller-information > .footer-brand:active {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}


/* Keep the analog label beside its smaller switch, aligned to the right. */
.ios27-trial .search-form .analogs-option {
  justify-content: flex-start;
  gap: 12px;
}
.ios27-trial .search-form .analogs-option input { order: 1; }
.ios27-trial .search-form .analogs-option span { order: 2; }
.ios27-trial .search-form .analogs-option input {
  flex-basis: 46px;
  width: 46px;
  height: 28px;
  min-height: 28px;
  background-image: radial-gradient(circle, #fff 0 10.5px, transparent 11.2px);
  background-position: 3px 2.5px;
  background-size: 23px 23px;
}
.ios27-trial .search-form .analogs-option input:checked {
  background-position: 20px 2.5px;
}

/* Keep the logo and controls inside the header while giving controls a soft tray. */
.ios27-trial .site-header {
  box-sizing: border-box;
  max-width: 100%;
  gap: clamp(10px, 1.5vw, 22px);
}
.ios27-trial .site-header > .brand {
  flex: 0 1 176px;
  min-width: 0;
}
.ios27-trial .site-header .brand-logo {
  display: block;
  width: min(176px, 100%);
  max-width: 100%;
  height: auto;
}
.ios27-trial .main-nav { min-width: 0; }
.ios27-trial .header-actions {
  flex: 0 0 auto;
  width: max-content;
  max-width: 100%;
  gap: 8px;
}
.ios27-trial .header-actions::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -5px;
  border: 1px solid rgba(205,220,235,.58);
  border-radius: 999px;
  background: rgba(228,231,236,.4);
  box-shadow: inset 0 1px 2px rgba(31,53,78,.035), 0 1px rgba(255,255,255,.54);
  pointer-events: none;
}
.ios27-trial .header-actions > * {
  position: relative;
  z-index: 1;
}
.ios27-trial .site-header {
  padding-left: 30px;
  padding-right: 35px;
}
@media (min-width: 801px) {
  .ios27-trial .site-header {
    justify-content: center;
    gap: 12px;
    padding-left: 24px;
    padding-right: 24px;
  }
  .ios27-trial .site-header > .brand { transform: translateX(300px); }
  .ios27-trial .header-actions { transform: translateX(-300px); }
}
.ios27-trial .main-nav { gap: 6px; }
.ios27-trial .main-nav a { padding-left: 14px; padding-right: 14px; }
.ios27-trial .header-actions { gap: 6px; }
.ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle) { padding-left: 11px; padding-right: 11px; }
@media (min-width: 851px) and (max-width: 1100px) {
  .ios27-trial .site-header { padding-left: 22px; padding-right: 22px; }
  .ios27-trial .site-header > .brand { flex-basis: 150px; }
  .ios27-trial .site-header .brand-logo { width: min(150px, 100%); }
  .ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle) { padding-inline: 10px; }
}
@media (max-width: 800px) {
  .ios27-trial .site-header { padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 560px) {
  .ios27-trial .site-header { padding-left: 11px; padding-right: 11px; }
}

/* Final tablet overrides: keep the tablet header compact and the hero readable. */
@media (min-width: 801px) and (max-width: 1100px) {
  .ios27-trial .site-header { justify-content: space-between; gap: 12px; padding: 0 22px; }
  .ios27-trial .site-header > .brand { flex: 0 0 150px; transform: none; }
  .ios27-trial .site-header .brand-logo { width: 150px; max-width: 100%; }
  .ios27-trial .main-nav { display: none; }
  .ios27-trial .header-actions { flex: 0 1 auto; width: max-content; transform: none; gap: 7px; }
  .ios27-trial .header-actions .help-link { display: none; }
  .ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle) { min-height: 44px; padding-inline: 10px; }
  .ios27-trial .hero { width: min(760px, calc(100% - 44px)); grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 38px 0 52px; }
  .ios27-trial .hero-copy { max-width: 680px; }
}
@media (min-width: 1101px) and (max-width: 1450px) {
  .ios27-trial .site-header { justify-content: space-between; gap: 10px; padding-inline: 22px; }
  .ios27-trial .site-header > .brand { flex: 0 0 150px; transform: none; }
  .ios27-trial .site-header .brand-logo { width: 150px; max-width: 100%; }
  .ios27-trial .main-nav { gap: 5px; font-size: 11px; }
  .ios27-trial .main-nav a { padding-inline: 8px; }
  .ios27-trial .header-actions { flex: 0 0 auto; transform: none; gap: 5px; }
  .ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle) { min-height: 42px; padding-inline: 8px; font-size: 12px; }
}

/* Landscape phones have little vertical room: use a short header and a compact split hero. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1200px) {
  .ios27-trial .announcement { display: none; }
  .ios27-trial .site-header { height: 58px; min-height: 58px; justify-content: space-between; gap: 8px; padding: 0 12px; }
  .ios27-trial .site-header > .brand { flex: 0 1 132px; transform: none; }
  .ios27-trial .site-header .brand-logo { width: min(132px, 34vw); }
  .ios27-trial .main-nav { display: none; }
  .ios27-trial .header-actions { flex: 0 0 auto; transform: none; gap: 6px; }
  .ios27-trial .header-actions .help-link,
  .ios27-trial .header-actions #accountOpen,
  .ios27-trial .header-actions #cartOpen { display: none !important; }
  .ios27-trial .header-actions #favoritesOpen,
  .ios27-trial .header-actions #menuToggle { display: inline-flex !important; min-width: 40px; width: 40px; min-height: 40px; height: 40px; padding: 0; }
  .ios27-trial .header-actions #favoritesOpen { justify-content: center; font-size: 22px; }
  .ios27-trial .header-actions #favoritesOpen > span { display: none !important; }
  .ios27-trial .hero { width: calc(100% - 28px); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 16px; padding: 16px 0 24px; }
  .ios27-trial .hero-copy { max-width: none; }
  .ios27-trial .hero .eyebrow { padding: 4px 0; font-size: 9px; }
  .ios27-trial .hero h1 { margin: 10px 0; font-size: clamp(25px, 4.5vw, 36px); line-height: 1.05; }
  .ios27-trial .hero-sub { font-size: 12px; line-height: 1.4; }
  .ios27-trial .hero-proof { gap: 6px; margin-top: 10px; font-size: 10px; }
  .ios27-trial .hero-proof > span { padding: 6px 8px; }
  .ios27-trial .hero-help-link { margin-top: 10px; font-size: 12px; }
  .ios27-trial .search-card { padding: 15px; border-radius: 24px; }
  .ios27-trial .search-card-top { gap: 8px; margin-bottom: 11px; }
  .ios27-trial .search-card-top .small-label { font-size: 10px; }
  .ios27-trial .search-tabs { gap: 4px; padding: 4px; }
  .ios27-trial .search-tab { min-height: 38px; padding: 6px 5px; font-size: 10px; }
  .ios27-trial .search-form label { margin-bottom: 7px; font-size: 12px; }
  .ios27-trial .search-form input:not([type=checkbox]),
  .ios27-trial .search-form select { min-height: 42px; padding: 0 12px; font-size: 13px; }
  .ios27-trial .photo-inquiry-link { min-height: 36px; font-size: 11px; }
  .ios27-trial .search-form .analogs-option { margin: 8px 0; font-size: 11px; }
  .ios27-trial .search-form .primary-button,
  .ios27-trial .primary-button { min-height: 42px; padding: 8px 12px; font-size: 12px; }
  .ios27-trial .mobile-bottom-nav { display: none; }
  .ios27-trial .chat-launcher {
    right: 12px;
    left: auto;
    bottom: 12px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    justify-content: center;
  }
  .ios27-trial .chat-launcher > span:not(:first-child) { display: none; }
}

/* Currency choice and the owner CRM shortcut use the same capsule controls as the site. */
.ios27-trial .announcement-currency select {
  box-sizing: border-box;
  height: 38px !important;
  min-height: 38px !important;
  min-width: 58px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(190, 213, 231, .92) !important;
  border-radius: var(--ios-control-radius) !important;
  background: rgba(255, 255, 255, .8) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23315a7f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 9px center !important;
  color: #315a7f !important;
  font-size: 13px !important;
  font-weight: 700;
  box-shadow: 0 3px 12px rgba(35, 68, 98, .08), inset 0 1px rgba(255,255,255,.94);
}
.ios27-trial .announcement-currency select:hover { background: #fff !important; border-color: #a9cce3 !important; }
.ios27-trial .announcement-currency select:focus-visible { outline: 3px solid rgba(17,114,191,.3); outline-offset: 2px; }
.ios27-trial .announcement-currency .owner-crm-link {
  min-height: 38px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(50, 139, 201, .9) !important;
  border-radius: 999px !important;
  background: var(--ios-blue) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 15px rgba(17, 114, 191, .2), inset 0 1px rgba(255,255,255,.24);
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ios27-trial .announcement-currency .owner-crm-link:hover {
  border-color: var(--ios-blue-deep) !important;
  background: var(--ios-blue-deep) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(17, 114, 191, .24), inset 0 1px rgba(255,255,255,.2);
  transform: translateY(-1px);
}
.ios27-trial .announcement-currency .owner-crm-link.is-hidden { display: none !important; }
@media (max-width: 800px) {
  .ios27-trial .announcement-currency select { height: 34px !important; min-height: 34px !important; min-width: 50px !important; padding-inline: 10px !important; }
  .ios27-trial .announcement-currency .owner-crm-link { min-height: 34px !important; padding-inline: 14px !important; font-size: 12px !important; }
}
@media (max-width: 430px) {
  .ios27-trial .announcement-currency select { min-width: 44px !important; padding-inline: 8px !important; }
  .ios27-trial .announcement-currency .owner-crm-link { min-height: 30px !important; padding-inline: 11px !important; font-size: 11px !important; }
}

/* Keep the tablet navigation consistent across 11- and 13-inch iPads. */
@media (min-width: 801px) and (max-width: 1450px) and (any-pointer: coarse) {
  .ios27-trial .site-header {
    height: 70px;
    min-height: 70px;
    justify-content: space-between;
    gap: 12px;
    padding: 0 22px;
  }
  .ios27-trial .site-header > .brand { flex: 0 0 150px; transform: none; }
  .ios27-trial .site-header .brand-logo { width: 150px; max-width: 100%; }
  .ios27-trial .header-actions { flex: 0 1 auto; width: max-content; transform: none; gap: 7px; }
  .ios27-trial .header-actions .help-link { display: none; }
  .ios27-trial .header-actions :is(.account-open,.cart-button,.menu-toggle) { min-height: 44px; padding-inline: 10px; }
}

/* All iPad sizes share the same compact main-menu dropdown in portrait. */
@media (min-width: 600px) and (max-width: 1450px) and (orientation: portrait) {
  .ios27-trial {
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }
  .ios27-trial .site-header {
    height: 70px !important;
    min-height: 70px !important;
    justify-content: space-between;
    gap: 8px;
    padding: 0 18px !important;
  }
  .ios27-trial .site-header > .brand {
    flex: 0 1 auto;
    min-width: 0;
    transform: none;
  }
  .ios27-trial .site-header .brand-logo {
    width: min(176px, 32vw);
    max-width: none;
  }
  .ios27-trial .header-actions {
    flex: 0 0 auto;
    width: max-content;
    gap: 8px;
    margin-left: auto;
    transform: none;
  }
  .ios27-trial .header-actions > :not(#favoritesOpen):not(#menuToggle) {
    display: none !important;
  }
  .ios27-trial .header-actions #favoritesOpen,
  .ios27-trial .header-actions #menuToggle {
    display: grid !important;
    flex: 0 0 42px;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0 !important;
    place-items: center;
    align-items: center;
    justify-items: center;
    line-height: 0;
    box-sizing: border-box;
  }
  .ios27-trial .header-actions #favoritesOpen {
    justify-content: center;
    font-size: 22px;
  }
  .ios27-trial .header-actions #favoritesOpen > span { display: none !important; }
  .ios27-trial .header-actions #menuToggle {
    position: relative !important;
    justify-self: center;
    align-self: center;
    text-indent: -9999px;
  }
  .ios27-trial .header-actions #menuToggle::before {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 20px !important;
    height: 14px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none;
  }
  .ios27-trial .mobile-bottom-nav {
    position: fixed;
    z-index: 70;
    right: 12px;
    bottom: max(8px, env(safe-area-inset-bottom));
    left: 12px;
    display: grid;
    width: auto;
    max-width: none;
    height: calc(82px + env(safe-area-inset-bottom));
    min-height: 0;
    max-height: calc(82px + env(safe-area-inset-bottom));
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    border-radius: var(--ios-control-radius);
    box-sizing: border-box;
  }
  .ios27-trial .mobile-bottom-nav button {
    display: grid;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    grid-template-rows: 1fr auto;
    align-content: center;
    justify-items: center;
    gap: 2px;
    padding: 5px 3px;
    border-radius: 999px !important;
    font-size: 11px;
    line-height: 1.15;
    box-sizing: border-box;
  }
  .ios27-trial .mobile-bottom-nav button svg {
    display: block;
    width: 22px !important;
    min-width: 22px;
    max-width: 22px;
    height: 22px !important;
    min-height: 22px;
    max-height: 22px;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7;
    flex: 0 0 22px;
  }
  .ios27-trial .mobile-bottom-nav button span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .ios27-trial .mobile-bottom-nav .mobile-cart-count {
    top: 2px;
    left: 58%;
    font-size: 10px;
    line-height: 1.2;
  }

  .ios27-trial .main-nav { display: none !important; }
  .ios27-trial .main-nav.mobile-open {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 120;
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    max-height: calc(100dvh - 84px);
    overflow-y: auto;
    padding: 12px 22px;
    border-radius: 0;
    white-space: normal;
  }
  .ios27-trial .main-nav.mobile-open a {
    width: 100%;
    min-height: 44px;
    justify-content: flex-start !important;
    text-align: left !important;
  }
  .ios27-trial .header-actions .menu-toggle { display: grid !important; }
}

/* Keep every main-navigation link visible on iPads in landscape. */
@media (min-width: 901px) and (max-width: 1450px) and (any-pointer: coarse) and (orientation: landscape) {
  .ios27-trial .site-header {
    height: 78px;
    min-height: 78px;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    padding: 0 22px;
  }
  .ios27-trial .site-header > .brand { order: 1; flex: 0 0 150px; }
  .ios27-trial .site-header .brand-logo { width: 150px; max-width: 100%; }
  .ios27-trial .main-nav {
    order: 2;
    display: flex !important;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
    flex-wrap: nowrap;
    gap: clamp(4px, .6vw, 8px);
    margin: 0;
  }
  .ios27-trial .main-nav a { min-height: 40px; padding: 7px 8px; font-size: 11px; white-space: nowrap; }
  .ios27-trial .header-actions { order: 3; flex: 0 0 auto; margin-left: 0; gap: 6px; }
  .ios27-trial .header-actions :is(.account-open,.cart-button) { min-height: 44px; padding-inline: 8px; font-size: 12px; }
  .ios27-trial .header-actions .menu-toggle { display: none !important; }
}

/* Compact glass summary for customer financial terms in the account modal. */
.ios27-trial .account-modal .cabinet-discount {
  padding: 10px 12px;
  border: 1px solid rgba(198, 226, 205, .82);
  border-radius: 22px;
  background: rgba(242, 250, 244, .68);
  box-shadow: inset 0 1px rgba(255,255,255,.88), 0 8px 24px rgba(37, 78, 54, .045);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
}
.ios27-trial .cabinet-financial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.ios27-trial .cabinet-financial-grid article {
  min-height: 42px;
  padding: 7px 10px;
  gap: 7px;
  border-radius: 14px;
  border-color: rgba(205, 230, 211, .78);
  background: rgba(255,255,255,.64);
  box-shadow: inset 0 1px rgba(255,255,255,.86);
}
.ios27-trial .cabinet-financial-grid article span { font-size: 9px; }
.ios27-trial .cabinet-financial-grid article strong { font-size: 11px; }
.ios27-trial .cabinet-financial-grid article .cabinet-financial-discount { font-size: 16px; }
.ios27-trial .cabinet-financial-note { margin-top: 6px; font-size: 8px; }
@media (max-width: 800px) {
  .ios27-trial .cabinet-financial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .ios27-trial .account-modal .cabinet-discount { padding: 9px; border-radius: 18px; }
  .ios27-trial .cabinet-financial-grid { grid-template-columns: 1fr; gap: 6px; }
  .ios27-trial .cabinet-financial-grid article { min-height: 38px; }
}

/* Mobile content sections meet edge-to-edge without rounded background cuts. */
@media (max-width: 800px) {
  .ios27-trial { background-attachment: scroll; }
  .ios27-trial main#top > section { border-radius: 0 !important; }
}

/* Keep currency and CRM controls flush to the right edge at every viewport width. */
.ios27-trial .announcement {
  box-sizing: border-box;
  width: 100%;
  justify-content: space-between;
  padding-right: clamp(12px, 1.4vw, 22px) !important;
  padding-left: clamp(12px, 1.4vw, 22px) !important;
}
.ios27-trial .announcement-copy { margin-right: auto; }
.ios27-trial .announcement-currency { margin-left: auto; align-self: center; }
@media (max-width: 800px) {
  .ios27-trial .announcement { justify-content: flex-end; padding-inline: clamp(10px, 2vw, 16px) !important; }
  .ios27-trial .announcement-copy { display: none; }
  .ios27-trial .announcement-currency { margin-left: auto; }
}

/* Keep password visibility controls compact inside account form fields. */
.ios27-trial .account-modal .pp-password-field > .pp-password-toggle {
  inset: 50% 5px auto auto !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 1px solid rgba(193,218,237,.9) !important;
  border-radius: 50% !important;
  background: rgba(248,252,255,.94) !important;
  color: #547184 !important;
  box-shadow: 0 3px 10px rgba(31,69,101,.08), inset 0 1px #fff !important;
  transform: translateY(-50%) !important;
}
.ios27-trial .account-modal .pp-password-toggle > svg { width: 18px; height: 18px; }

/* Balance the customer financial summary and center incomplete grid rows. */
.ios27-trial .account-modal .cabinet-discount {
  border-radius: 32px;
  padding: 12px 14px;
  background: rgba(242, 250, 244, .62);
  border-color: rgba(190, 222, 198, .82);
}
.ios27-trial .cabinet-financial-grid {
  align-items: stretch;
  row-gap: 8px;
}
.ios27-trial .cabinet-financial-grid article {
  box-sizing: border-box;
  min-height: 44px;
  border-radius: 999px;
  padding: 8px 12px;
  border-color: rgba(196, 225, 203, .82);
  background: rgba(255,255,255,.72);
}
.ios27-trial .cabinet-financial-grid article:nth-child(4) { grid-column: 2; }
.ios27-trial .cabinet-financial-grid article:nth-child(5) { grid-column: 3; }
@media (max-width: 800px) {
  .ios27-trial .cabinet-financial-grid article:nth-child(4) { grid-column: auto; }
  .ios27-trial .cabinet-financial-grid article:nth-child(5) {
    grid-column: 1 / -1;
    width: calc((100% - 7px) / 2);
    justify-self: center;
  }
}
@media (max-width: 520px) {
  .ios27-trial .account-modal .cabinet-discount { padding: 9px; border-radius: 26px; }
  .ios27-trial .cabinet-financial-grid article:nth-child(5) { grid-column: auto; width: 100%; }
}

/* Compact green financial summary, aligned with the approved account mockup. */
.ios27-trial .account-modal .cabinet-discount {
  padding: 10px 12px;
  border: 1px solid rgba(190, 222, 198, .82);
  border-radius: 28px;
  background: rgba(239, 249, 241, .72);
  box-shadow: inset 0 1px rgba(255,255,255,.88), 0 8px 24px rgba(37,78,54,.045);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
}
.ios27-trial .cabinet-financial-layout {
  display: grid;
  grid-template-columns: minmax(150px, .72fr) minmax(0, 1.9fr);
  align-items: stretch;
  gap: 10px;
}
.ios27-trial .cabinet-financial-discount-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px;
  border: 1px solid rgba(196,225,203,.82);
  border-radius: 24px;
  background: rgba(255,255,255,.64);
  text-align: center;
}
.ios27-trial .cabinet-financial-discount-card span {
  color: #52765d;
  font-size: 10px;
  line-height: 1.35;
}
.ios27-trial .cabinet-financial-discount-card strong {
  color: #25834a;
  font: 750 20px/1.1 'Manrope',sans-serif;
  text-align: center;
}
.ios27-trial .cabinet-financial-terms { min-width: 0; }
.ios27-trial .cabinet-financial-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
}
.ios27-trial .cabinet-financial-grid article {
  min-width: 0;
  min-height: 44px;
  gap: 8px;
  padding: 7px 12px 7px 17px;
  border: 1px solid rgba(196,225,203,.82);
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 1px rgba(255,255,255,.86), 0 3px 9px rgba(36,83,48,.035);
}
.ios27-trial .cabinet-financial-grid article span {
  color: #64806b;
  font-size: 10px;
  line-height: 1.35;
}
.ios27-trial .cabinet-financial-grid article strong {
  color: #315d3d;
  font-size: 12px;
  line-height: 1.3;
}
.ios27-trial .cabinet-financial-note {
  margin: 7px 4px 1px;
  color: #6e8a74;
  font-size: 9px;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 620px) {
  .ios27-trial .cabinet-financial-layout { grid-template-columns: 1fr; gap: 8px; }
  .ios27-trial .cabinet-financial-discount-card {
    min-height: 48px;
    flex-direction: row;
    gap: 10px;
    border-radius: 999px;
  }
  .ios27-trial .cabinet-financial-grid { grid-template-columns: 1fr; gap: 6px; }
  .ios27-trial .cabinet-financial-grid article { min-height: 40px; padding: 7px 12px 7px 16px; }
}

/* admin-calculator.css */
/* Small CRM-only calculator, using the platform's rounded glass controls. */
body.modern-platform .announcement-currency #adminCalculatorOpen {
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  min-height: 38px;
  margin: 0;
  padding: 0;
  border: 1px solid #1377bd;
  border-radius: 999px;
  background: #1377bd;
  color: #fff;
  box-shadow: 0 5px 15px rgba(17,114,191,.2), inset 0 1px rgba(255,255,255,.24);
  cursor: pointer;
}
body.modern-platform .announcement-currency #adminCalculatorOpen svg { width: 19px; height: 19px; }
body.modern-platform .announcement-currency #adminCalculatorOpen:is(:hover,:focus-visible),
body.modern-platform .announcement-currency #adminCalculatorOpen[aria-expanded="true"] {
  border-color: #9fc9e2;
  background: #f2f8fc;
  color: #075f96;
}
body.modern-platform .announcement-currency #adminCalculatorOpen:focus-visible,
.admin-calculator-panel :is(button,input,select):focus-visible { outline: 3px solid rgba(17,114,191,.4); outline-offset: 2px; }
body.modern-platform .announcement-currency #adminCalculatorOpen[hidden],
body.modern-platform .announcement-currency #adminCalculatorOpen.is-hidden,
.admin-calculator-panel[hidden] { display: none !important; }

.admin-calculator-panel {
  box-sizing: border-box;
  position: fixed;
  z-index: 120;
  width: min(300px,calc(100vw - 20px));
  max-height: calc(100dvh - 20px);
  overflow-y: auto;
  padding: 13px;
  border: 1px solid rgba(187,217,235,.9);
  border-radius: 28px;
  background: rgba(246,252,255,.97);
  color: #173e5b;
  box-shadow: 0 18px 48px rgba(16,56,84,.25), inset 0 1px rgba(255,255,255,.96);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
  font-family: 'DM Sans',Arial,sans-serif;
  font-size: 12px;
  line-height: 1.3;
}
.admin-calculator-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.admin-calculator-heading strong { font: 800 14px 'Manrope',Arial,sans-serif; }
.admin-calculator-panel button { cursor: pointer; }
.admin-calculator-close {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #e8f4fb;
  color: #426781;
  font: 400 21px/1 Arial,sans-serif;
}
.admin-calculator-field,
.admin-calculator-currencies label { display: grid; gap: 5px; min-width: 0; color: #617d90; font-size: 11px; font-weight: 700; }
.admin-calculator-field input,
.admin-calculator-currencies select {
  box-sizing: border-box;
  width: 100%;
  height: 35px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid #c9e1ef;
  border-radius: 999px;
  background: #fff;
  color: #18415d;
  font: 700 13px 'DM Sans',Arial,sans-serif;
}
.admin-calculator-field input { text-align: right; font-variant-numeric: tabular-nums; }
.admin-calculator-field input::placeholder { color: #9cafbd; }
.admin-calculator-computed { min-height: 24px; margin: 4px 3px 7px; color: #7890a0; text-align: right; font-size: 12px; }
.admin-calculator-computed output { color: #116fa9; font: 800 18px 'Manrope',Arial,sans-serif; font-variant-numeric: tabular-nums; }
.admin-calculator-keypad { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.admin-calculator-keypad button {
  min-width: 0;
  min-height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid #d3e6f0;
  border-radius: 999px;
  background: #fff;
  color: #264f6a;
  font: 800 14px 'DM Sans',Arial,sans-serif;
  box-shadow: inset 0 1px #fff, 0 2px 5px rgba(20,71,103,.05);
}
.admin-calculator-keypad button:is([data-calculator-key="clear"],[data-calculator-key="sign"],[data-calculator-key="percent"],[data-calculator-key="/"],[data-calculator-key="*"],[data-calculator-key="-"],[data-calculator-key="+"],[data-calculator-key="backspace"]) { background: #ebf6fd; color: #176fa5; }
.admin-calculator-keypad button:is(:hover,:focus-visible) { border-color: #84bee0; background: #e9f6ff; }
.admin-calculator-keypad button.admin-calculator-equals,
.admin-calculator-keypad button.admin-calculator-equals:is(:hover,:focus-visible) { border-color: #1377bd; background: #1377bd; color: #fff; }
.admin-calculator-converter { margin-top: 10px; padding-top: 10px; border-top: 1px solid #d7e8f2; }
.admin-calculator-currencies { display: grid; grid-template-columns: minmax(0,1fr) 31px minmax(0,1fr); align-items: end; gap: 5px; }
.admin-calculator-currencies select { height: 35px; padding-right: 4px; font-size: 11px; appearance: auto; }
.admin-calculator-swap { height: 35px; margin: 0; padding: 0; border: 1px solid #c9e1ef; border-radius: 999px; background: #edf7fd; color: #1378b8; font: 700 18px Arial,sans-serif; }
.admin-calculator-converted { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 38px; margin-top: 9px; padding: 0 13px; border: 1px solid #b7dcf1; border-radius: 999px; background: #e6f5ff; }
.admin-calculator-converted small { color: #52768b; font-size: 10px; white-space: nowrap; }
.admin-calculator-converted output { color: #0b6ea9; font: 800 16px 'Manrope',Arial,sans-serif; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; text-align: right; }
.admin-calculator-rate-status { min-height: 13px; margin: 6px 3px 0; color: #758d9e; font-size: 10px; line-height: 1.3; }

@media (max-width:800px) { body.modern-platform .announcement-currency #adminCalculatorOpen { width: 34px; height: 34px; min-height: 34px; } }
@media (max-width:430px) { body.modern-platform .announcement-currency #adminCalculatorOpen { width: 30px; height: 30px; min-height: 30px; } body.modern-platform .announcement-currency #adminCalculatorOpen svg { width: 17px; height: 17px; } }
@media (pointer:coarse) { .admin-calculator-keypad button { min-height: 42px; } .admin-calculator-field input,.admin-calculator-currencies select { font-size: 16px; } }

/* ui-upgrade.css */
/* One final layer for shared controls and the progressive shopping tools. */
:root{--pp-text:#173b54;--pp-secondary:#50697e;--pp-blue:#086eaf;--pp-line:#bcd9ea;--pp-glass:rgba(237,248,255,.88);--pp-field:#fff;--pp-green:#24633b;--pp-danger:#a72438;--pp-pill:999px;--pp-control-height:44px}
.modern-platform .hero{min-height:0!important;gap:28px;padding-top:28px!important;padding-bottom:28px!important;align-items:center}
.modern-platform .hero h1{font-size:clamp(30px,3.2vw,43px)!important;line-height:1.18;letter-spacing:-1.2px}
.modern-platform .hero-sub{font-size:15px!important;line-height:1.55!important}
.modern-platform .hero-proof{margin-top:16px!important}.modern-platform .hero-help-link{margin-top:12px!important}
.modern-platform .search-card{padding:22px!important;border-radius:32px!important}
.modern-platform .search-tabs{margin-top:14px!important;margin-bottom:14px!important}
.modern-platform .search-form{gap:12px!important}
.modern-platform :is(.primary-button,.secondary-button,.outline-button,.shopping-tools-launcher button,.search-tab){font-family:'Manrope',sans-serif!important;font-size:14px!important;font-weight:700!important;line-height:1.35!important;text-shadow:none!important;min-height:var(--pp-control-height);border-radius:var(--pp-pill)!important}
.modern-platform :is(button,a,input,select,textarea):focus-visible{outline:3px solid #086eaf!important;outline-offset:3px!important;text-shadow:none!important}
.modern-platform :is(.primary-button,.secondary-button,.search-tab,.client-work-menu button,.account-tabs button):is(:hover,:focus-visible,:active){text-shadow:none!important}
.modern-platform :is(.form-status,.service-note,.field-hint,.price-notice){font-size:13px!important;line-height:1.5!important}
.modern-platform .form-status:not(:empty){color:#374e63}
.modern-platform .photo-inquiry-link{font-size:13px!important;min-height:36px;margin:0!important}
.modern-platform :is(.search-form input:not([type=checkbox]),.search-form select){font-size:16px!important;min-height:46px!important}
.modern-platform .search-tab{padding:8px 12px!important;white-space:nowrap}
.modern-platform :is(.search-card,.modal-card,.cart-drawer){color:var(--pp-text)}
.modern-platform :is(.service-list article,.offer-comparison article,.checkout-fields input,.checkout-fields select,.checkout-fields textarea){background:rgba(255,255,255,.96)!important}
.shopping-tools-launcher{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--pp-line);padding-top:14px;margin-top:16px}
.shopping-tools-launcher button{flex:1 1 42%;border:1px solid var(--pp-line);color:#245b7e!important;background:rgba(239,249,255,.96)!important;padding:9px 12px!important;box-shadow:none!important;font-size:12px!important}
.shopping-tools-launcher button:hover{background:#dcedf8!important}
#watchNoticeCount{background:#a72438;color:#fff;border-radius:999px;padding:1px 5px;margin-left:4px}
.shopping-note,.shopping-compatibility{font-size:13px!important;line-height:1.55!important;color:var(--pp-secondary)!important}
.shopping-compatibility{border:1px solid var(--pp-line);border-radius:20px;background:#f4faff;padding:10px 14px;margin:12px 0}
.shopping-dialog{width:min(760px,calc(100vw - 32px));max-height:90dvh;padding:24px;border:1px solid #d4e9f5;border-radius:30px;background:rgba(239,248,255,.96);backdrop-filter:blur(24px);color:var(--pp-text);box-shadow:0 22px 70px #153e5f33;overflow:auto;font-family:'Manrope',sans-serif}
.shopping-dialog::backdrop{background:rgba(18,46,67,.35);backdrop-filter:blur(5px)}
.shopping-dialog[open]{display:block}
.shopping-dialog>header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}
.shopping-dialog h2{font-size:23px;line-height:1.3;margin:6px 0 0;letter-spacing:-.5px}
.shopping-dialog h3{font-size:15px;margin:0 0 5px}
.shopping-dialog>header>button{width:44px;height:44px;flex:none;border:1px solid var(--pp-line);background:#f8fcff;color:var(--pp-text);border-radius:50%;font-size:24px}
.shopping-dialog label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--pp-text);margin-bottom:12px}
.shopping-dialog :is(input:not([type=checkbox]),textarea,select){border:1px solid var(--pp-line);border-radius:22px;width:100%;padding:11px 15px;background:#fff;color:#173b54;font:400 15px/1.5 'Manrope',sans-serif;min-height:44px}
.shopping-dialog textarea{border-radius:20px;resize:vertical}
.shopping-dialog .shopping-check{flex-direction:row;align-items:center;font-size:13px;font-weight:400;gap:10px}
.shopping-check input{width:20px;height:20px;accent-color:#086eaf;flex:none}
.shopping-dialog :is(.primary-button,.secondary-button){width:auto;min-height:44px;padding:11px 18px;font:700 14px/1.35 'Manrope',sans-serif;border-radius:999px;text-shadow:none!important;margin-top:4px}
.shopping-dialog .primary-button{background:#086eaf!important;color:#fff!important;border:1px solid #086eaf!important;box-shadow:none!important}
.shopping-dialog .secondary-button{background:#f7fcff!important;color:#245b7e!important;border:1px solid var(--pp-line)!important;box-shadow:none!important}
.shopping-dialog button:disabled{opacity:.55;cursor:default}
.shopping-dialog :is(input,select,textarea,button,a):focus-visible{outline:3px solid #086eaf;outline-offset:2px}
.shopping-dialog [role=status]{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.shopping-list-item,.shopping-kit,.shopping-watch{background:#fff;border:1px solid var(--pp-line);border-radius:24px;padding:16px;margin:12px 0}
.shopping-list-item>header{display:flex;justify-content:space-between;gap:14px;align-items:start}
.shopping-list-item>header>div{min-width:0;overflow-wrap:anywhere}
.shopping-list-item>header>label{flex:0 0 84px}
.shopping-list-item p,.shopping-kit p,.shopping-watch p{font-size:13px;line-height:1.5;margin:5px 0}
.shopping-dialog small{display:block;color:var(--pp-secondary);font-size:12px;line-height:1.5}
.shopping-batch-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;position:sticky;bottom:-24px;margin:16px -24px -24px;padding:14px 24px;background:rgba(237,248,255,.98);border-top:1px solid var(--pp-line)}
.shopping-batch-footer p{width:100%;margin:0}
.shopping-text-action{color:#086eaf!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:13px!important;text-shadow:none!important;min-height:44px;padding:8px}
.shopping-success{color:#24633b!important;font-weight:600}
.shopping-candidates{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.shopping-candidates button{border-radius:999px;padding:9px 12px;min-height:44px;border:1px solid var(--pp-line);background:#fff;color:#245b7e}
.shopping-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.shopping-watch{display:flex;align-items:center;justify-content:space-between;gap:14px}
.shopping-kit ul{font-size:13px;padding-left:20px;line-height:1.7}
.modern-platform .news-track{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));transform:none!important;gap:18px}
.modern-platform .news-card{border-radius:24px!important;background:#fff!important;box-shadow:none!important}
.modern-platform .news-body{padding:18px!important}.modern-platform .news-body h3{font-size:18px!important}.modern-platform .news-body p{font-size:14px!important;line-height:1.55!important}
.modern-platform .news-related{background:#f6fbff!important;border-radius:20px!important;padding:16px!important}
.modern-platform .news-related small{font-size:12px;color:var(--pp-secondary);display:block;margin-bottom:8px}
.modern-platform .news-related a{display:block;font-size:14px;min-height:44px;padding:8px 0}
@media(max-width:1080px){.modern-platform .hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:24px!important}.modern-platform .hero h1{font-size:32px!important}.modern-platform .hero-copy{align-self:center}.modern-platform .hero-proof{gap:10px!important}}
@media(max-width:760px){.modern-platform .hero{grid-template-columns:1fr!important;padding:18px 16px 24px!important;gap:16px!important}.modern-platform .hero-copy{max-width:none!important}.modern-platform .hero-copy .eyebrow,.modern-platform .hero-proof,.modern-platform .hero-help-link{display:none!important}.modern-platform .hero h1{font-size:26px!important;margin:0 0 8px!important}.modern-platform .hero h1 br{display:none!important}.modern-platform .hero h1 em:before{content:' '}.modern-platform .hero-sub{font-size:14px!important;line-height:1.4!important;margin:0!important}.modern-platform .search-card{padding:16px!important;border-radius:26px!important}.modern-platform .search-card-top{display:none!important}.modern-platform .search-tab{font-size:12px!important;padding:8px 9px!important}.modern-platform .search-tabs{gap:4px!important;margin:10px 0!important}.modern-platform .search-form input,.shopping-dialog :is(input:not([type=checkbox]),select,textarea){font-size:16px!important}.shopping-tools-launcher{margin-top:12px;padding-top:12px;gap:6px}.shopping-tools-launcher button{min-height:44px;font-size:12px!important;padding:8px!important}.shopping-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 20px);padding:18px;border-radius:26px}.shopping-dialog h2{font-size:20px}.shopping-batch-footer{bottom:-18px;margin:14px -18px -18px;padding:12px 18px}.shopping-form-grid{grid-template-columns:1fr}.shopping-watch{align-items:start;flex-wrap:wrap}.modern-platform .news-track{grid-template-columns:1fr!important}.modern-platform .news-card:nth-child(n+3){display:none!important}.modern-platform .news-art{min-height:0!important}.modern-platform .news-photo{height:160px!important}.modern-platform .price-notice{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.modern-platform *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* cabinet-upgrade.css */
/* Compact, readable cabinet with one scroll surface. Loaded after the glass theme. */
#accountModal.open { padding: 24px 18px !important; align-items: center !important; }
#accountModal .account-card { max-height: calc(100dvh - 48px) !important; border-radius: 30px !important; padding: 28px !important; overscroll-behavior: contain; }
#accountModal .account-card:has(#accountCabinetView:not(.is-hidden)) { width: min(980px, 100%) !important; }
#accountModal #accountCabinetView { color: #21485f; }
#accountModal #accountCabinetView > .small-label { font-size: 11px; letter-spacing: .12em; color: #60798b; }
#accountModal #cabinetGreeting { margin: 8px 40px 14px 0; font-size: clamp(21px, 2.4vw, 29px); line-height: 1.25; letter-spacing: -.6px; }
#accountModal .cabinet-content { max-height: none !important; overflow: visible !important; padding: 0 !important; font-size: 14px; line-height: 1.5; }
#accountModal .cabinet-content > p { color: #526e80; font-size: 14px; line-height: 1.6; }
#accountModal .cabinet-discount { padding: 0 !important; margin: 0 0 14px !important; border: 1px solid #cce5d2 !important; border-radius: 26px !important; background: rgba(240, 250, 244, .9) !important; box-shadow: inset 0 1px #fff !important; }
#accountModal .cabinet-finance-summary { display: flex; align-items: center; gap: 20px; padding: 12px 18px; list-style: none; cursor: pointer; border-radius: 26px; }
#accountModal .cabinet-finance-summary::-webkit-details-marker { display: none; }
#accountModal .cabinet-finance-summary:focus-visible { outline: 3px solid #8ac5e8; outline-offset: 3px; }
#accountModal .cabinet-finance-chip { display: flex; align-items: center; gap: 10px; min-width: 0; color: #456b51; }
#accountModal .cabinet-finance-chip > span { font-size: 13px; line-height: 1.35; }
#accountModal .cabinet-finance-chip > strong { color: #247144; font-size: 18px; font-weight: 800; white-space: nowrap; }
#accountModal .cabinet-finance-more { display: flex; align-items: center; gap: 7px; margin-left: auto; color: #386746; font-size: 12px; font-weight: 700; white-space: nowrap; }
#accountModal .cabinet-finance-details[open] .cabinet-finance-more > span { transform: rotate(180deg); }
#accountModal .cabinet-financial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px; padding: 0 12px; }
#accountModal .cabinet-financial-grid article { display: flex; width: auto !important; min-height: 44px !important; padding: 8px 14px !important; gap: 12px; grid-column: auto !important; border: 1px solid #d0e5d5; border-radius: 999px; background: #fbfefc; }
#accountModal .cabinet-financial-grid article > span { color: #4d7258; font-size: 12px !important; line-height: 1.4; }
#accountModal .cabinet-financial-grid article > strong { color: #315f40; font-size: 13px !important; line-height: 1.4; white-space: nowrap; }
#accountModal .cabinet-financial-note { margin: 10px 16px 14px !important; color: #557460; font-size: 11px !important; line-height: 1.5; text-align: center; }
#accountModal .cabinet-navigation { position: relative !important; z-index: 5 !important; }
#accountModal .cabinet-tabs { display: grid !important; grid-template-columns: 1fr 1.25fr 1.35fr 1fr 1fr !important; gap: 5px !important; min-height: 58px !important; margin: 0 0 14px !important; padding: 6px !important; border-radius: 999px !important; overflow: visible !important; }
#accountModal .cabinet-tabs > button,
#accountModal .cabinet-client-work-menu > button { min-width: 0 !important; min-height: 44px !important; height: 44px !important; padding: 0 12px !important; border-radius: 999px !important; color: #4b687f !important; font: 700 13px/1.2 'DM Sans', sans-serif !important; text-shadow: none !important; white-space: nowrap !important; }
#accountModal .cabinet-tabs > button.active,
#accountModal .cabinet-client-work-menu > button.active { background: #147bbd !important; color: #fff !important; text-shadow: none !important; }
#accountModal .cabinet-tabs > button:focus-visible,
#accountModal .cabinet-client-work-menu > button:focus-visible { outline: 3px solid #7abbe1 !important; outline-offset: 2px; }
#accountModal .cabinet-client-work-menu { display: flex !important; justify-content: center; width: fit-content !important; max-width: 100%; min-height: 0 !important; margin: -6px auto 14px !important; padding: 5px !important; border-radius: 999px !important; background: #eaf6fe !important; }
#accountModal .cabinet-client-work-menu > button { width: auto !important; grid-column: auto !important; }
#accountModal .cabinet-client-work-menu[hidden] { display: none !important; }
#accountModal .cabinet-form { margin: 12px 0 !important; padding: 18px !important; border: 1px solid #d5e6f0; border-radius: 24px !important; background: rgba(252,254,255,.94) !important; }
#accountModal .cabinet-form label,
#accountModal .cabinet-claim-upload label { color: #4b6679; font-size: 13px !important; font-weight: 650; line-height: 1.5; }
#accountModal .cabinet-form input:not([type="checkbox"]):not([type="file"]),
#accountModal .cabinet-form select,
#accountModal .cabinet-form textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px !important; margin-top: 6px; padding: 10px 14px !important; border: 1px solid #c4ddea; border-radius: 22px !important; background: #fff; color: #244f68; font: 400 14px/1.4 'DM Sans', sans-serif !important; outline: none; }
#accountModal .cabinet-form textarea { min-height: 96px; resize: vertical; border-radius: 20px !important; }
#accountModal .cabinet-form input[type="checkbox"] { width: 19px; height: 19px; min-height: 19px !important; flex: 0 0 19px; accent-color: #147bbd; }
#accountModal .cabinet-form label[hidden] { display: none !important; }
#accountModal .cabinet-form .consent-choice,
#accountModal .claim-installed-choice { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; }
#accountModal .claim-installed-choice { min-height: 44px; align-items: center; }
#accountModal .claim-field-grid { gap: 12px; }
#accountModal .claim-vehicle-details,
#accountModal .claim-terms-embed { margin: 12px 0; padding: 12px 16px; border: 1px solid #d4e6f0; border-radius: 22px; background: #f2f8fc; }
#accountModal .claim-vehicle-details > summary,
#accountModal .claim-terms-embed > summary { min-height: 24px; color: #315c76; font-size: 13px; font-weight: 700; cursor: pointer; }
#accountModal .claim-vehicle-details fieldset { margin: 12px 0 0; padding: 0; border: 0; }
#accountModal .claim-vehicle-details legend { color: #315c76; font-size: 13px; font-weight: 700; }
#accountModal .cabinet-form .secondary-button,
#accountModal .cabinet-form .primary-button,
#accountModal .cabinet-claim-upload button,
#accountModal #accountLogout { min-height: 44px !important; padding: 10px 18px !important; border-radius: 999px !important; font: 700 13px/1.3 'DM Sans', sans-serif !important; text-shadow: none !important; }
#accountModal #accountLogout { display: block; margin: 16px 0 0 auto; }
#accountModal .cabinet-orders-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 12px; }
#accountModal .cabinet-orders-heading h3 { margin: 0; font-size: 18px; color: #254e67; }
#accountModal .cabinet-order-filters { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: #e8f2f8; }
#accountModal .cabinet-order-filters button { min-height: 38px; padding: 7px 14px; border: 0; border-radius: 999px; background: transparent; color: #4d6c80; font: 700 13px/1.3 'DM Sans', sans-serif; }
#accountModal .cabinet-order-filters button[aria-pressed="true"] { background: #fff; color: #126caa; box-shadow: 0 2px 7px #234a6410; }
#accountModal .cabinet-order-filters button span { margin-left: 4px; color: inherit; font-size: 11px; }
#accountModal .cabinet-order { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 10px 0; padding: 18px; border: 1px solid #d2e5f0; border-radius: 26px; background: rgba(255,255,255,.95); font-size: 14px; }
#accountModal .cabinet-order-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
#accountModal .cabinet-order-header > div { display: grid; gap: 3px; }
#accountModal .cabinet-order-header > div > strong { color: #254d66; font-size: 14px; overflow-wrap: anywhere; }
#accountModal .cabinet-order-header time { color: #607c8e; font-size: 12px; }
#accountModal .cabinet-order-total { color: #244c65; font-size: 16px; }
#accountModal .cabinet-order-total > small { color: #60798b; font-size: 10px; letter-spacing: 0; }
#accountModal .cabinet-order-items { display: grid; gap: 8px; margin: 0; }
#accountModal .cabinet-order-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; justify-content: stretch; gap: 12px; padding: 14px; border: 1px solid #dceaf2; border-radius: 20px; background: #f5faff; }
#accountModal .cabinet-order-item-description { display: grid; gap: 4px; }
#accountModal .cabinet-order-item-description > strong { color: #244f69; font-size: 14px; }
#accountModal .cabinet-order-item-description > span { color: #547285; font-size: 13px; line-height: 1.4; }
#accountModal .cabinet-order-item-description > small { color: #587588; font-size: 12px; }
#accountModal .cabinet-order-item-prices { display: flex; justify-content: flex-end; gap: 18px; grid-column: auto; grid-row: auto; }
#accountModal .cabinet-order-item-prices > span { display: grid; gap: 4px; }
#accountModal .cabinet-order-item-prices small { color: #617d8f; font-size: 10px; }
#accountModal .cabinet-order-item-prices strong { color: #254d65; font: 750 13px/1.3 'Manrope', sans-serif; white-space: nowrap; }
#accountModal .cabinet-order-timeline { min-width: 0; grid-column: 1; align-self: start; }
#accountModal .cabinet-order-timeline > summary { display: inline-flex; align-items: center; gap: 9px; min-height: 38px; max-width: 100%; padding: 7px 12px; font-size: 12px; cursor: pointer; list-style: none; white-space: normal; }
#accountModal .cabinet-order-timeline > summary::-webkit-details-marker { display: none; }
#accountModal .cabinet-order-timeline[open] { grid-column: 1 / -1; }
#accountModal .cabinet-status-history { padding: 12px 0 0; }
#accountModal .cabinet-next-step { margin: 0 0 12px; padding: 10px 14px; border-radius: 18px; background: #e9f3fa; color: #345e77; font-size: 13px; line-height: 1.5; }
#accountModal .cabinet-status-history ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
#accountModal .cabinet-status-step { display: grid; gap: 3px; padding-left: 12px; border-left: 2px solid #bddbec; font-size: 12px; }
#accountModal .cabinet-status-step strong { font-size: 12px; }
#accountModal .cabinet-status-step time { color: #5d7a8c; font-size: 11px; }
#accountModal .cabinet-item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
#accountModal .cabinet-item-actions button,
#accountModal .request-draft-banner button { min-height: 38px; padding: 7px 12px; border: 1px solid #c9dfed; border-radius: 999px; background: #fff; color: #216c9b; font: 700 12px/1.3 'DM Sans', sans-serif; }
#accountModal .cabinet-order-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 0; background: transparent; }
#accountModal .cabinet-order-footer > .secondary-button { width: auto; min-height: 40px; padding: 8px 14px; font-size: 12px; }
#accountModal .cabinet-order-seller { flex: 1 1 220px; margin: 0; color: #587587; font-size: 12px; }
#accountModal .cabinet-order-seller > summary { cursor: pointer; min-height: 36px; align-content: center; }
#accountModal .cabinet-order-seller p { margin: 8px 0 0; font-size: 12px; line-height: 1.55; }
#accountModal .cabinet-empty { padding: 24px 18px; border: 1px solid #d5e7f1; border-radius: 24px; background: #f4faff; color: #526f82; font-size: 14px; line-height: 1.6; }
#accountModal .request-prefill-note,
#accountModal .request-draft-note { margin: 10px 0; color: #4d7388; font-size: 12px; line-height: 1.5; }
#accountModal .request-prefill-note { padding: 10px 14px; border-radius: 18px; background: #eaf6fe; }
#accountModal .request-draft-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; padding: 12px; border: 1px solid #bcddec; border-radius: 20px; background: #edf8ff; color: #345f78; font-size: 13px; }
#accountModal .request-draft-banner > span { flex: 1 1 200px; }
#accountModal .cabinet-claim-card,
#accountModal .cabinet-return-list > article { padding: 16px; border: 1px solid #d3e6f0; border-radius: 24px; background: #fff; }
#accountModal .cabinet-claim-card header strong,
#accountModal .cabinet-return-list strong { font-size: 14px; line-height: 1.5; }
#accountModal .cabinet-claim-card p,
#accountModal .cabinet-claim-card small,
#accountModal .cabinet-return-list span,
#accountModal .cabinet-return-list small,
#accountModal .claim-request-note { color: #557589; font-size: 12px; line-height: 1.6; }
#accountModal .cabinet-claim-status { font-size: 11px; line-height: 1.4; }
#accountModal .form-status { font-size: 13px; line-height: 1.5; }
#accountModal .form-status.is-error { color: #a83136; }
#accountModal .cabinet-section-label { color: #315c76; font-size: 13px; }
#accountModal .saved-cars > article { padding: 16px; border-radius: 24px; }
#accountModal .saved-cars > article > strong { font-size: 15px; }
#accountModal .saved-cars > article > span { font-size: 12px; line-height: 1.5; }
#accountModal .saved-cars button { min-height: 42px; padding: 8px 14px; border-radius: 999px; font-size: 13px; }
@media (max-width: 700px) {
  #accountModal.open { padding: 8px !important; align-items: start !important; }
  #accountModal .account-card { max-height: calc(100dvh - 16px) !important; padding: 22px 16px !important; border-radius: 26px !important; }
  #accountModal .account-card:has(#accountCabinetView:not(.is-hidden)) { width: 100% !important; min-height: calc(100dvh - 16px); }
  #accountModal #cabinetGreeting { font-size: 22px; line-height: 1.3; margin-bottom: 12px; }
  #accountModal .cabinet-finance-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px; }
  #accountModal .cabinet-finance-chip { display: grid; gap: 3px; }
  #accountModal .cabinet-finance-chip > span { font-size: 11px; line-height: 1.3; }
  #accountModal .cabinet-finance-chip > strong { font-size: 16px; }
  #accountModal .cabinet-finance-more { font-size: 11px; gap: 4px; }
  #accountModal .cabinet-financial-grid { grid-template-columns: 1fr !important; gap: 6px; }
  #accountModal .cabinet-financial-grid article { min-height: 40px !important; }
  #accountModal .cabinet-tabs { grid-template-columns: 1fr 1.2fr 1.35fr !important; min-height: 0 !important; padding: 5px !important; gap: 4px !important; border-radius: 26px !important; }
  #accountModal .cabinet-tabs > button,
  #accountModal .cabinet-tabs .cabinet-client-work-toggle { grid-column: auto !important; min-height: 44px !important; height: 44px !important; padding: 0 6px !important; font-size: 12px !important; }
  #accountModal .cabinet-client-work-menu { position: absolute !important; top: 56px !important; left: 0 !important; right: 0 !important; z-index: 40 !important; width: 100% !important; margin: 0 !important; padding: 6px !important; gap: 3px !important; border-radius: 26px !important; background: #eaf6ff !important; box-shadow: 0 10px 30px #1b527a26 !important; }
  #accountModal .cabinet-client-work-menu > button { flex: 1 !important; min-height: 44px !important; height: 44px !important; padding: 0 5px !important; font-size: 12px !important; }
  #accountModal .cabinet-form { padding: 14px !important; }
  #accountModal .cabinet-form-row,
  #accountModal .claim-field-grid { grid-template-columns: 1fr; }
  #accountModal .claim-field-grid .wide { grid-column: auto; }
  #accountModal .cabinet-form input:not([type="checkbox"]):not([type="file"]),
  #accountModal .cabinet-form select,
  #accountModal .cabinet-form textarea { font-size: 16px !important; }
  #accountModal .cabinet-order { padding: 14px; border-radius: 24px; }
  #accountModal .cabinet-order-item { padding: 12px; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #accountModal .cabinet-order-item-prices { justify-content: flex-start; grid-column: 1; }
  #accountModal .cabinet-order-timeline { grid-column: 1; }
  #accountModal .cabinet-item-actions { justify-content: flex-start; }
  #accountModal .cabinet-item-actions button { min-height: 44px; }
  #accountModal .cabinet-order-header { flex-wrap: wrap; gap: 8px; }
  #accountModal .cabinet-order-total { align-items: flex-start; }
  #accountModal .cabinet-orders-heading { align-items: center; }
  #accountModal .cabinet-order-filters button { min-height: 44px; }
}
@media (prefers-reduced-transparency: reduce) {
  #accountModal .account-card { background: #f3f8fc !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
}

/* quote-upgrade.css */
/* PartPrice 2026 UI audit: compact supplier comparison, explicit filters and a recoverable cart.
   Loaded after the legacy theme so the comparison has one final, scoped layout. */
body.modern-platform #livePriceList { color:#193c53; }
body.modern-platform .quote-toolbar { display:flex!important; flex-flow:row wrap!important; gap:14px; align-items:center; padding:14px 16px; background:#f7fbfe; border:1px solid #d5e6f1; border-radius:24px; }
body.modern-platform .quote-toolbar .quote-results-summary { flex:1 1 260px; min-width:0; }
body.modern-platform .quote-toolbar strong { font-size:14px; font-weight:700; }
body.modern-platform .quote-toolbar .quote-check-time { display:block; margin-top:5px; font-size:12px; color:#506e83; }
body.modern-platform .quote-toolbar > .quote-filters { display:flex!important; flex-flow:row nowrap; flex:1 1 auto; justify-content:flex-end; align-items:center; gap:10px; min-width:0; }
body.modern-platform .quote-toolbar .quote-brand-filter { display:block; flex:1 1 180px; width:auto; min-width:160px; max-width:230px; }
body.modern-platform .quote-toolbar .quote-brand-filter #quoteManufacturer { width:100%!important; min-width:0!important; height:40px!important; border:1px solid #c6deed!important; border-radius:999px!important; padding:0 32px 0 16px!important; background-color:#fff!important; color:#31566e!important; font:600 12px/1.3 'Manrope',sans-serif!important; box-shadow:none!important; }
body.modern-platform .quote-toggle-filters { display:flex; flex-flow:row nowrap; align-items:center; gap:8px; }
body.modern-platform .quote-toolbar .quote-toggle-filter { position:relative; display:inline-flex; flex-flow:row nowrap; align-items:center; gap:7px; min-height:40px; margin:0; padding:0 10px; border:1px solid #d0e3ef; border-radius:999px!important; background:#f7fcff; color:#31566e; font:600 12px/1.3 'Manrope',sans-serif; cursor:pointer; }
body.modern-platform .quote-toolbar .quote-toggle-filter > input { position:absolute; width:1px; height:1px; min-width:0; min-height:0; margin:0; padding:0; opacity:0; }
body.modern-platform .quote-toolbar .quote-toggle-filter > .quote-toggle-track { position:relative; order:1; display:block; flex:0 0 32px; width:32px; height:19px; border:1px solid #b4cddd; border-radius:999px; background:#dce9f1; transition:background .15s; }
body.modern-platform .quote-toolbar .quote-toggle-filter > .quote-toggle-track::before { content:''!important; position:absolute; left:2px; top:2px; width:13px!important; height:13px!important; box-sizing:border-box; border-radius:50%; background:#fff; box-shadow:0 1px 3px #24546e33; transition:transform .15s; }
body.modern-platform .quote-toggle-filter > input:checked + .quote-toggle-track { border-color:#1476b5; background:#1476b5; }
body.modern-platform .quote-toggle-filter > input:checked + .quote-toggle-track::before { transform:translateX(13px); }
body.modern-platform .quote-toolbar .quote-toggle-filter:has(input:checked) { border-color:#afd3e8; background:#eef8ff; color:#215b7c; }
body.modern-platform .quote-toolbar .quote-toggle-filter:focus-within { outline:2px solid #70acd0; outline-offset:2px; }
body.modern-platform .quote-toolbar .mobile-filter-open, body.modern-platform .filter-chip, body.modern-platform .filter-reset { min-height:40px; border-radius:999px!important; padding:9px 15px!important; font:600 12px/1.3 'Manrope',sans-serif!important; text-shadow:none!important; }
body.modern-platform .quote-toolbar .mobile-filter-open { display:inline-flex!important; flex:0 0 auto; align-items:center; justify-content:center; margin:0; color:#0b659e!important; background:#eef8ff!important; border:1px solid #bad8ec!important; white-space:nowrap; }
body.modern-platform .applied-filters { gap:6px; margin:0 0 12px; }
body.modern-platform .applied-filters[hidden] { display:none!important; }
body.modern-platform .filter-sheet-chips { padding-bottom:4px; }
body.modern-platform .quote-analog-copy .quote-analog-code { display:inline!important; min-height:0!important; width:auto!important; margin:0!important; padding:0!important; border:0!important; border-radius:6px!important; background:transparent!important; font:inherit!important; color:#0879be!important; text-decoration:underline!important; text-underline-offset:3px; cursor:pointer; }
body.modern-platform .quote-analog-copy .quote-analog-code:focus-visible { outline:2px solid #83bada!important; outline-offset:3px; }
body.modern-platform .quote-group { overflow:hidden; border-radius:24px; background:#fff!important; border:1px solid #d5e6f1; }
body.modern-platform .quote-group-head { padding:15px 18px; background:#f8fcff!important; }
body.modern-platform .quote-group-head h3 { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; }
body.modern-platform .quote-group-head h3 :is(strong,small), body.modern-platform .quote-group-head h3 button { font-size:15px!important; text-shadow:none!important; }
body.modern-platform .quote-group-head .quote-group-description { flex-basis:100%; font-size:14px!important; line-height:1.45; font-weight:500; }
body.modern-platform .live-results-table { table-layout:auto; width:100%; min-width:0; background:#fff!important; }
body.modern-platform .live-results-table :is(td.quote-brand,td.quote-description), body.modern-platform .live-results-table thead :is(th:nth-child(1),th:nth-child(2)) { display:none!important; }
body.modern-platform .live-results-table thead th { width:auto; color:#4f6c7e; background:#f7fafc!important; font-size:12px!important; padding:10px 12px; }
body.modern-platform .live-results-table thead th .quote-sort-button { white-space:nowrap; }
body.modern-platform .live-results-table tbody tr.quote-redesigned-row { background:#fff!important; box-shadow:none!important; }
body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td { padding:13px 12px!important; width:auto; font-size:13px!important; border-bottom:1px solid #e5eef4; text-shadow:none!important; }
body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td :is(span,small,strong,output,button) { text-shadow:none!important; }
body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-price summary, body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-price summary * { color:#174e72!important; font-size:16px!important; font-weight:800!important; text-shadow:none!important; }
body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-action { width:auto; min-width:218px; position:static; }
body.modern-platform .quote-purchase-controls { display:flex!important; align-items:center; justify-content:flex-end!important; gap:6px; }
body.modern-platform .quote-quantity { display:grid; grid-template-columns:34px 30px 34px; height:40px; min-width:98px; width:98px; border-radius:999px!important; overflow:hidden; background:#f5faff!important; border:1px solid #c5deed; }
body.modern-platform .quote-quantity :is(button,output) { display:grid; place-items:center; padding:0!important; min-width:0; height:100%; border:0!important; border-radius:0!important; box-shadow:none!important; background:transparent!important; color:#285571!important; font-size:14px!important; }
body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-action :is(.add-button,.quote-compare-button) { position:static!important; inset:auto!important; width:40px!important; height:40px!important; min-width:40px!important; min-height:40px!important; display:grid!important; place-items:center; padding:8px!important; border-radius:50%!important; border:1px solid #c1dced!important; background:#edf8ff!important; color:#0b6daa!important; box-shadow:none!important; }
body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-action .add-button { background:#1476b5!important; color:white!important; }
body.modern-platform .quote-action :is(.add-button,.quote-compare-button) svg { width:20px!important; height:20px!important; }
body.modern-platform .quote-more summary { min-height:44px; font-size:13px; color:#0d669f; }
body.modern-platform .quote-information { font-size:13px; color:#506c80; }
body.modern-platform .quote-assistance { max-width:620px; margin:0 auto; padding:8px 0; }
body.modern-platform .quote-assistance p { font-size:15px; line-height:1.55; }
body.modern-platform .quote-assistance > div { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:16px 0; }
body.modern-platform .quote-assistance small { font-size:12px; color:#526f82; }
body.modern-platform .filter-brand-fieldset { border:0; padding:0; min-width:0; }
body.modern-platform .filter-brand-fieldset legend { font-weight:700; font-size:14px; margin:10px 0; }
body.modern-platform .filter-brand-list { display:grid; max-height:230px; overflow:auto; border:1px solid #d5e6f0; border-radius:20px; margin-top:10px; background:white; }
body.modern-platform .filter-brand-list label { display:flex; flex-direction:row; align-items:center; gap:10px; min-height:44px; margin:0; padding:8px 12px; border-bottom:1px solid #edf2f6; cursor:pointer; font-size:14px; }
body.modern-platform .filter-brand-list label input, body.modern-platform .sheet-stock input { width:20px; height:20px; min-height:20px; margin:0; accent-color:#1475b4; }
body.modern-platform .filter-brand-list label small { margin-left:auto; color:#5b7484; }
body.modern-platform .filter-number-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body.modern-platform .filter-number-fields label { display:flex; flex-direction:column; gap:7px; font-size:13px; }
body.modern-platform .filter-number-fields input { width:100%; min-width:0; min-height:44px; padding:10px 14px; border-radius:999px; }
body.modern-platform .filter-result-count { color:#1d5f89; font-size:14px; font-weight:700; }
body.modern-platform .filter-sheet-actions { display:grid; gap:10px; position:sticky; bottom:0; background:#f8fcff; padding:14px 0 0; }
body.modern-platform .filter-sheet-actions button { min-height:44px; border-radius:999px!important; font-size:14px!important; }
body.modern-platform .cart-revalidation-toolbar { display:flex; flex-wrap:wrap; gap:10px; padding:13px; margin-bottom:16px; border:1px solid #d1e5f1; border-radius:22px; background:#f1f9ff; }
body.modern-platform .cart-revalidation-toolbar p { flex-basis:100%; margin:0; font-size:13px; color:#345f78; line-height:1.5; }
body.modern-platform .cart-revalidation-toolbar button { min-height:40px; padding:9px 14px!important; border-radius:999px!important; font-size:13px!important; }
body.modern-platform .cart-item-main :is(.cart-delivery,.cart-quote-time) { display:block; font-size:12px; line-height:1.55; color:#4a6b80; margin-top:4px; }
body.modern-platform .cart-validation-error, body.modern-platform .cart-validation-change { padding:9px 12px; border-radius:16px; font-size:13px!important; line-height:1.5; background:#fff4df; color:#785216; }
body.modern-platform .cart-validation-error { background:#fff0ee; color:#9a3b2d; }
body.modern-platform .cart-item { border-radius:22px; }
body.modern-platform .cart-item-main h3 { overflow-wrap:anywhere; }
body.modern-platform .cart-quantity-controls { border-radius:999px; overflow:hidden; }
@media (max-width:767px) {
  body.modern-platform .quote-toolbar { padding:12px; }
  body.modern-platform .quote-toolbar .quote-results-summary { flex-basis:100%; }
  body.modern-platform .quote-toolbar > .quote-filters { display:flex!important; flex-flow:row wrap; width:100%; gap:8px; justify-content:flex-start; }
  body.modern-platform .quote-toolbar .quote-brand-filter { flex:1 1 130px; min-width:0; max-width:none; }
  body.modern-platform .quote-toolbar .quote-brand-filter #quoteManufacturer { height:44px!important; }
  body.modern-platform .quote-toolbar .mobile-filter-open { min-height:44px; padding:9px 12px!important; order:1; }
  body.modern-platform .quote-toolbar .quote-toggle-filters { flex:1 1 100%; order:2; gap:8px; }
  body.modern-platform .quote-toolbar .quote-toggle-filter { flex:1 1 0; min-width:0; min-height:44px; padding:0 8px; gap:6px; }
  body.modern-platform .quote-toolbar .quote-toggle-filter:first-child { flex-grow:1.3; }
  body.modern-platform .quote-toolbar .quote-toggle-filter > span:last-child { white-space:normal; }
  body.modern-platform .live-results-table thead { display:block!important; }
  body.modern-platform .live-results-table thead tr { display:flex!important; gap:12px; padding:10px 12px; background:#f7fafc; }
  body.modern-platform .live-results-table thead tr th { display:none!important; }
  body.modern-platform .live-results-table thead tr :is(th:nth-child(4),th:nth-child(6)) { display:flex!important; flex:1 1 0; min-width:0; padding:0; }
  body.modern-platform .live-results-table thead tr th:nth-child(6) { justify-content:flex-end; }
  body.modern-platform .live-results-table thead .quote-sort-button { min-height:28px; font-size:12px!important; white-space:normal!important; }
  body.modern-platform .quote-group-head { padding:13px; }
  body.modern-platform .quote-group-head .quote-group-description { font-size:13px!important; }
  body.modern-platform .quote-group-head .quote-group-actions { display:flex; align-items:center; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; grid-template-rows:auto auto auto!important; gap:6px 10px!important; padding:12px!important; align-items:center!important; border-bottom:1px solid #dfebf3; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td { border:0!important; padding:0!important; width:auto!important; min-width:0!important; margin:0!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > :is(td.quote-brand,td.quote-description) { display:none!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-delivery { display:flex!important; grid-column:1!important; grid-row:1!important; justify-content:flex-start!important; text-align:left!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-delivery::before { display:none!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-price { display:flex!important; grid-column:2!important; grid-row:1!important; align-items:flex-end!important; justify-content:flex-end!important; text-align:right!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-availability { display:block!important; grid-column:1!important; grid-row:2!important; color:#4f6c7e!important; font-size:12px!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-warehouse { display:flex!important; grid-column:2!important; grid-row:2!important; justify-content:flex-end!important; color:#4f6c7e!important; font-size:12px!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-warehouse strong { font-size:12px!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-action { display:flex!important; grid-column:1/-1!important; grid-row:3!important; justify-content:flex-end!important; padding-top:5px!important; min-width:0!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row .mobile-sort-button { display:none!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-action .quote-purchase-controls { gap:8px!important; justify-content:flex-end!important; flex-wrap:nowrap!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-action :is(.add-button,.quote-compare-button) { min-height:44px!important; height:44px!important; width:44px!important; min-width:44px!important; }
  body.modern-platform .live-results-table tbody tr.quote-redesigned-row > td.quote-action .quote-quantity { grid-template-columns:44px 30px 44px!important; grid-template-rows:44px!important; width:118px!important; min-width:118px!important; height:44px!important; }
  body.modern-platform .quote-delivery-note { max-width:210px; font-size:11px!important; }
  body.modern-platform .filter-number-fields input { font-size:16px; }
  body.modern-platform .cart-revalidation-toolbar button { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) { body.modern-platform #livePriceList * { transition:none!important; animation:none!important; } }
body.modern-platform .cart-supply-summary { display:grid; gap:7px; padding:13px 15px; margin-bottom:14px; border-radius:22px; background:#f7fbfe; border:1px solid #dceaf3; font-size:13px; }
body.modern-platform .cart-supply-summary > div { display:flex; justify-content:space-between; gap:12px; }
body.modern-platform .cart-supply-summary small { color:#506f82; line-height:1.5; font-size:12px; }
body.modern-platform .cart-guest-transfer { padding:14px; margin-bottom:14px; border:1px solid #bedcec; border-radius:24px; background:#eef9ff; color:#28566e; font-size:14px; }
body.modern-platform .cart-guest-transfer p { margin:0 0 12px; }
body.modern-platform .cart-guest-transfer > div { display:flex; flex-wrap:wrap; gap:8px; }
body.modern-platform .cart-guest-transfer button { border-radius:999px!important; font-size:13px!important; min-height:44px; padding:10px 15px!important; }

/* shop-tools-menu.css */
/* Search tools stay compact; the menu is a body-level overlay, outside hero clipping. */
#shoppingToolsLauncher.shopping-tools-launcher {
  position: relative !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#shoppingToolsLauncher.shopping-tools-launcher > button.shopping-tools-toggle {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  border: 1px solid rgba(151, 194, 220, .65) !important;
  border-radius: 999px !important;
  background: rgba(239, 249, 255, .72) !important;
  color: #245b7e !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9) !important;
  font: 700 13px/1.35 'Manrope', sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: background-color .15s ease, border-color .15s ease !important;
}

#shoppingToolsLauncher.shopping-tools-launcher > button.shopping-tools-toggle:is(:hover, [aria-expanded="true"]) {
  background: #e1f1fb !important;
  border-color: #83b6d5 !important;
  color: #173b54 !important;
  text-shadow: none !important;
}

#shoppingToolsLauncher .shopping-tools-toggle > svg {
  display: block !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  color: currentColor !important;
  fill: none !important;
}

#shoppingToolsLauncher .shopping-tools-toggle > svg.shopping-tools-chevron {
  width: 14px !important;
  height: 14px !important;
  margin-left: 2px !important;
  transition: transform .15s ease !important;
}

#shoppingToolsLauncher .shopping-tools-toggle > span,
#shoppingToolsLauncher .shopping-tools-toggle > svg *,
:is(#shoppingToolsMenu, #articleHistoryPanel) .shopping-tools-action > svg * {
  text-shadow: none !important;
}

#shoppingToolsLauncher .shopping-tools-toggle[aria-expanded="true"] > svg.shopping-tools-chevron {
  transform: rotate(180deg) !important;
}

:is(#shoppingToolsMenu.shopping-tools-menu, #articleHistoryPanel.article-history-panel) {
  position: fixed !important;
  z-index: 1050 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  box-sizing: border-box !important;
  width: 320px;
  max-width: calc(100vw - 24px) !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 7px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  border: 1px solid rgba(155, 200, 230, .8) !important;
  border-radius: 24px !important;
  background: rgba(245, 251, 255, .98) !important;
  color: #173b54 !important;
  box-shadow: 0 14px 38px rgba(27, 74, 108, .18), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  font-family: 'Manrope', sans-serif !important;
  text-shadow: none !important;
}

:is(#shoppingToolsMenu.shopping-tools-menu, #articleHistoryPanel.article-history-panel)[hidden] {
  display: none !important;
}

:is(#shoppingToolsMenu, #articleHistoryPanel) button.shopping-tools-action {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 55px !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  border: 1px solid transparent !important;
  border-radius: 18px !important;
  background: transparent !important;
  color: #245b7e !important;
  box-shadow: none !important;
  font: 700 13px/1.35 'Manrope', sans-serif !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  white-space: normal !important;
  transform: none !important;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease !important;
}

:is(#shoppingToolsMenu, #articleHistoryPanel) button.shopping-tools-action:is(:hover, :focus-visible, :active) {
  border-color: #bcd9ea !important;
  background: #e3f1fa !important;
  color: #173b54 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}

:is(#shoppingToolsMenu, #articleHistoryPanel) .shopping-tools-action > svg {
  display: block !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  color: #2876a6 !important;
  fill: none !important;
}

:is(#shoppingToolsMenu, #articleHistoryPanel) .shopping-tools-action-copy {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  color: inherit !important;
  text-shadow: none !important;
}

:is(#shoppingToolsMenu, #articleHistoryPanel) .shopping-tools-action-copy > strong {
  color: inherit !important;
  font: 700 13px/1.35 'Manrope', sans-serif !important;
  text-shadow: none !important;
}

:is(#shoppingToolsMenu, #articleHistoryPanel) .shopping-tools-action-copy > small {
  color: #5a7386 !important;
  font: 400 11px/1.4 'Manrope', sans-serif !important;
  text-shadow: none !important;
}

#shoppingToolsLauncher .shopping-tools-count,
#shoppingToolsMenu .shopping-tools-count {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 19px !important;
  height: 19px !important;
  margin: 0 !important;
  padding: 0 5px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #a72438 !important;
  color: #fff !important;
  font: 700 10px/1 'Manrope', sans-serif !important;
  text-shadow: none !important;
}

#shoppingToolsLauncher .shopping-tools-count[hidden],
#shoppingToolsMenu .shopping-tools-count[hidden] {
  display: none !important;
}

#shoppingToolsLauncher .shopping-tools-toggle:focus-visible,
:is(#shoppingToolsMenu, #articleHistoryPanel) .shopping-tools-action:focus-visible {
  outline: 3px solid #086eaf !important;
  outline-offset: 2px !important;
}

@media (max-width: 760px) {
  #shoppingToolsLauncher.shopping-tools-launcher {
    margin-top: 8px !important;
  }

  #shoppingToolsLauncher.shopping-tools-launcher > button.shopping-tools-toggle {
    padding: 9px 12px !important;
    font-size: 12px !important;
  }

  :is(#shoppingToolsMenu.shopping-tools-menu, #articleHistoryPanel.article-history-panel) {
    border-radius: 22px !important;
    box-shadow: 0 12px 32px rgba(27, 74, 108, .22), inset 0 1px 0 #fff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #shoppingToolsLauncher.shopping-tools-launcher > button.shopping-tools-toggle,
  #shoppingToolsLauncher .shopping-tools-toggle > svg.shopping-tools-chevron,
  :is(#shoppingToolsMenu, #articleHistoryPanel) button.shopping-tools-action {
    transition: none !important;
  }
}

/* History uses the same surface, row, icon, typography and hover rules above. */
#articleHistoryPanel.article-history-panel {
  right: auto !important;
  bottom: auto !important;
}
#articleHistoryPanel > strong {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 8px 11px 5px !important;
  color: #5a7386 !important;
  font: 700 11px/1.4 'Manrope', sans-serif !important;
  letter-spacing: 0 !important;
}
#articleHistoryPanel #articleHistoryItems {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 3px;
  min-height: 0;
  max-height: none !important;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
#articleHistoryPanel .article-history-action strong {
  overflow-wrap: anywhere;
}
#articleHistoryPanel .article-history-empty {
  padding: 11px !important;
  color: #5a7386 !important;
  font: 400 13px/1.5 'Manrope', sans-serif !important;
}
#articleHistoryPanel #articleHistoryClear {
  flex: 0 0 auto !important;
  min-height: 40px !important;
  margin-top: 4px !important;
}
#articleHistoryPanel #articleHistoryClear[hidden] { display: none !important; }
#articleHistoryPanel #articleHistoryClear svg { flex-basis: 18px !important; width: 18px !important; height: 18px !important; }

/* news-carousel.css */
/* Homepage carousel only. The materials archive keeps its existing grid. */
#manufacturerNews:not([data-all-page]) > .section-heading {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 14px !important;
}

#manufacturerNews:not([data-all-page]) > .section-heading > div {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

#manufacturerNews:not([data-all-page]) > .section-heading h2 {
  margin: 8px 0 0 !important;
}

#manufacturerNews:not([data-all-page]) .news-intro {
  max-width: 66ch !important;
  margin: 8px 0 0 !important;
  color: #5a7386 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

#manufacturerNews:not([data-all-page]) > .section-heading > .text-link {
  flex: 0 0 auto !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

#manufacturerNews:not([data-all-page]) .news-carousel {
  --news-gap: 16px;
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#manufacturerNews:not([data-all-page]) .news-carousel > .news-controls {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 4px !important;
}

#manufacturerNews:not([data-all-page]) .news-carousel > .news-controls[hidden] {
  display: none !important;
}

#manufacturerNews:not([data-all-page]) .news-controls > button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #bdd9e9 !important;
  border-radius: 999px !important;
  background: rgba(240, 249, 255, .92) !important;
  color: #245b7e !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 2px 7px rgba(26, 78, 114, .06) !important;
  font: 700 18px/1 'Manrope', sans-serif !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: border-color .15s ease, background-color .15s ease !important;
}

#manufacturerNews:not([data-all-page]) .news-controls > button.news-pause {
  width: auto !important;
  padding: 0 14px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}

#manufacturerNews:not([data-all-page]) .news-controls > button:is(:hover, :focus-visible):not(:disabled),
#manufacturerNews:not([data-all-page]) .news-controls > .news-pause[aria-pressed="true"] {
  border-color: #82b7d6 !important;
  background: #e0f0fa !important;
  color: #173b54 !important;
  text-shadow: none !important;
  transform: none !important;
}

#manufacturerNews:not([data-all-page]) .news-controls > button:disabled {
  opacity: .4 !important;
  box-shadow: none !important;
  cursor: default !important;
}

#manufacturerNews:not([data-all-page]) .news-controls > button > * {
  color: inherit !important;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-controls > button svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto !important;
}

#manufacturerNews:not([data-all-page]) .news-position {
  display: block !important;
  flex: 0 0 auto !important;
  min-width: 70px !important;
  margin: 0 2px !important;
  color: #5a7386 !important;
  font: 600 12px/1.4 'Manrope', sans-serif !important;
  text-align: center !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}

#manufacturerNews:not([data-all-page]) .news-window {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 5px 4px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 4px;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #adcbdc transparent;
  -webkit-overflow-scrolling: touch;
}

#manufacturerNews:not([data-all-page]) .news-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: var(--news-gap) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
  transform: none !important;
  transition: none !important;
  overflow: visible !important;
}

#manufacturerNews:not([data-all-page]) .news-track > .news-card,
#manufacturerNews:not([data-all-page]) .news-track > .news-card:nth-child(n+3) {
  display: flex !important;
  flex: 0 0 calc((100% - 2 * var(--news-gap)) / 3) !important;
  flex-direction: column !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  border: 1px solid #cfe2ed !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 3px 8px rgba(26, 78, 114, .04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: hidden !important;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  text-shadow: none !important;
  transform: none !important;
  transition: border-color .15s ease, background-color .15s ease !important;
}

#manufacturerNews:not([data-all-page]) .news-track > .news-card:is(:hover, :focus-within) {
  border-color: #80b5d5 !important;
  background: #fff !important;
  box-shadow: 0 3px 8px rgba(26, 78, 114, .04) !important;
  transform: none !important;
}

#manufacturerNews:not([data-all-page]) .news-card > a {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
  border-radius: inherit !important;
  color: inherit !important;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-art {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: 164px !important;
  min-height: 164px !important;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: auto !important;
  background: #f1f7fb !important;
  overflow: hidden !important;
}

#manufacturerNews:not([data-all-page]) .news-art > .news-photo {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

#manufacturerNews:not([data-all-page]) .news-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: 16px !important;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-body > span {
  display: -webkit-box !important;
  max-width: 100% !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  color: #4f7893 !important;
  font: 700 10px/1.45 'Manrope', sans-serif !important;
  letter-spacing: .2px !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-body h3 {
  display: -webkit-box !important;
  min-height: 4.2em !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  color: #173b54 !important;
  font: 750 18px/1.4 'Manrope', sans-serif !important;
  letter-spacing: -.15px !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-body > p {
  display: -webkit-box !important;
  min-height: 4.5em !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
  color: #5a7386 !important;
  font: 400 14px/1.55 'Manrope', sans-serif !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-language-note {
  margin: 0 0 10px !important;
  color: #667f91 !important;
  font: 400 11px/1.4 'Manrope', sans-serif !important;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-body > b {
  display: block !important;
  margin-top: auto !important;
  color: #0871b4 !important;
  font: 700 12px/1.4 'Manrope', sans-serif !important;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-photo-credit {
  padding: 0 16px 13px !important;
  color: #657d8f !important;
  font: 400 10px/1.4 'Manrope', sans-serif !important;
  overflow-wrap: anywhere;
  text-shadow: none !important;
}

#manufacturerNews:not([data-all-page]) .news-photo-credit a {
  display: inline !important;
  height: auto !important;
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

#manufacturerNews:not([data-all-page]) :is(.news-controls > button, .news-window):focus-visible {
  outline: 3px solid #086eaf !important;
  outline-offset: 2px !important;
}

#manufacturerNews:not([data-all-page]) .news-card > a:focus-visible {
  outline: 3px solid #086eaf !important;
  outline-offset: -4px !important;
}

#manufacturerNews:not([data-all-page]) .news-photo-credit a:focus-visible {
  outline: 2px solid #086eaf !important;
  outline-offset: 1px !important;
}

@media (max-width: 980px) {
  #manufacturerNews:not([data-all-page]) .news-track > .news-card,
  #manufacturerNews:not([data-all-page]) .news-track > .news-card:nth-child(n+3) {
    flex-basis: calc((100% - var(--news-gap)) / 2) !important;
  }
}

@media (max-width: 600px) {
  #manufacturerNews:not([data-all-page]) > .section-heading {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
  }

  #manufacturerNews:not([data-all-page]) > .section-heading > .text-link {
    padding: 6px 0 !important;
  }

  #manufacturerNews:not([data-all-page]) .news-carousel {
    --news-gap: 12px;
  }

  #manufacturerNews:not([data-all-page]) .news-carousel > .news-controls {
    justify-content: center !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
  }

  #manufacturerNews:not([data-all-page]) .news-controls > button.news-pause {
    padding: 0 12px !important;
  }

  #manufacturerNews:not([data-all-page]) .news-position {
    min-width: 60px !important;
    margin: 0 !important;
    font-size: 11px !important;
  }

  #manufacturerNews:not([data-all-page]) .news-track > .news-card,
  #manufacturerNews:not([data-all-page]) .news-track > .news-card:nth-child(n+3) {
    flex-basis: 100% !important;
    border-radius: 24px !important;
  }

  #manufacturerNews:not([data-all-page]) .news-art {
    height: 174px !important;
    min-height: 174px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #manufacturerNews:not([data-all-page]) .news-window {
    scroll-behavior: auto !important;
  }

  #manufacturerNews:not([data-all-page]) :is(.news-controls > button, .news-track, .news-card) {
    transition: none !important;
    animation: none !important;
  }
}

/* ui-refinements.css */
/* The garage belongs to the vehicle-search form, alongside its current step. */
body.modern-platform #carForm .vehicle-form-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
body.modern-platform #carForm .vehicle-form-heading .vehicle-step {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}
body.modern-platform #carForm .vehicle-garage-button {
  flex: 0 0 auto;
  width: auto;
  min-height: 44px;
  margin: 0 0 0 auto;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  white-space: nowrap;
}

/* Plain corner crosses. The invisible 44px target remains easy to tap. */
html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close):not(.drawer-scrim):not(.modal-backdrop) {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 44px !important;
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  color: #526f82 !important;
  font: 400 28px/1 'DM Sans', sans-serif !important;
  cursor: pointer;
  transition: color .15s ease !important;
}
html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close):not(.drawer-scrim):not(.modal-backdrop):is(:hover, :focus, :focus-visible, :active) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  color: #0879be !important;
}
html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close):focus-visible {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 5px !important;
}
body.modern-crm .news-admin-editor { position: relative; }
body.modern-crm .news-admin-editor > h3 { padding-right: 44px; }
body.modern-crm .news-admin-editor > button[data-cancel].plain-window-close {
  position: absolute;
  top: 8px;
  right: 8px;
  margin: 0 !important;
}

/* Suppress inherited glass-button pseudo-elements and focus frames on corner Xs. */
html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close)::before,
html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close)::after {
  display:none !important; content:none !important; border:0 !important; background:none !important; box-shadow:none !important;
}
html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close) {
  outline:0 !important; -webkit-tap-highlight-color:transparent;
  -webkit-user-select:none !important; user-select:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
}
/* All body-level overlays sit above the sticky header (110) and search dock (100).
   Blur the complete scene through the scrim, never a modal's parent element. */
html body.modern-platform .modal { z-index:1500 !important; }
html body.modern-platform .cart-drawer.open { z-index:1600 !important; }
html body.modern-platform .modal > .modal-backdrop,
html body.modern-platform .cart-drawer > .drawer-scrim {
  background:rgba(22,45,65,.25) !important;
  -webkit-backdrop-filter:blur(7px) !important; backdrop-filter:blur(7px) !important;
}
html body.modern-platform dialog::backdrop {
  background:rgba(22,45,65,.25) !important;
  -webkit-backdrop-filter:blur(7px) !important; backdrop-filter:blur(7px) !important;
}
body.modern-platform #backToTop {
  position:fixed !important; z-index:105 !important; right:22px; bottom:108px;
  display:grid; place-items:center; width:44px !important; height:44px !important;
  min-width:44px !important; min-height:44px !important; padding:0 !important;
  border:1px solid #b8d9ed !important; border-radius:50% !important;
  background:rgba(242,250,255,.94) !important; color:#126faa !important;
  box-shadow:0 4px 18px rgba(31,89,125,.15) !important;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
}
body.modern-platform #backToTop[hidden],
body.modern-platform:has(.modal.open, .cart-drawer.open, dialog[open]) #backToTop { display:none !important; }
body.modern-platform #backToTop svg { display:block; }
@media(max-width:650px) { body.modern-platform #backToTop { right:14px; bottom:92px; } }

/* The hover feedback is drawn by the glyph, never by the button's rectangle. */
html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close):not(.drawer-scrim):not(.modal-backdrop):is(:hover, :focus, :focus-visible, :active) {
  background:transparent !important; background-image:none !important;
  border:0 !important; outline:0 !important; box-shadow:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  filter:none !important; transform:none !important;
}
@media (hover:hover) and (pointer:fine) {
  html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close):not(.drawer-scrim):not(.modal-backdrop):hover {
    color:#0879be !important;
    text-shadow:0 0 7px rgba(8,121,190,.55) !important;
  }
  html body:is(.modern-platform, .modern-crm) button:is(.drawer-close, .modal-close, .quote-product-image-close, .admin-calculator-close, .plain-window-close):not(.drawer-scrim):not(.modal-backdrop):hover svg {
    filter:drop-shadow(0 0 3px rgba(8,121,190,.45)) !important;
  }
}

/* vehicle-catalog.css */
/* Scoped catalogue styles retain the PartPrice rounded glass controls. */
#vehiclePartsCatalog[hidden], #vehiclePartsCatalog [hidden], .vehicle-catalog-return[hidden] { display: none !important; }
#vehiclePartsCatalog { width:calc(100% - 48px); max-width:1320px; margin: 40px auto 64px; padding: 28px; border: 1px solid #d0e6f4; border-radius: 36px; background: linear-gradient(130deg,rgba(240,250,255,.96),rgba(255,255,255,.92)); box-shadow: 0 12px 35px rgba(35,90,125,.07); color:#173d54; scroll-margin-top:110px; }
#vehiclePartsCatalog .vehicle-parts-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 12px; }
#vehiclePartsCatalog .vehicle-parts-kicker { margin:0 0 8px; font-size:11px; font-weight:700; letter-spacing:.09em; color:#648398; }
#vehiclePartsCatalog h2 { font-size:25px; line-height:1.25; margin:0 0 8px; }
#vehiclePartsCatalog .vehicle-parts-subtitle, #vehiclePartsCatalog .vehicle-parts-note { font-size:13px; line-height:1.55; margin:0; color:#637f91; }
#vehiclePartsCatalog .vehicle-parts-note { padding-bottom:20px; }
#vehiclePartsCatalog .vehicle-parts-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:24px; align-items:start; }
#vehiclePartsCatalog .vehicle-category-panel { background:#eaf5fb; border:1px solid #d2e6f3; border-radius:24px; padding:16px; }
#vehiclePartsCatalog label { display:flex; flex-direction:column; gap:7px; font-family:inherit; font-weight:600; font-size:12px; line-height:1.4; color:#577385; min-width:0; }
#vehiclePartsCatalog input, #vehiclePartsCatalog select { width:100%; min-width:0; min-height:42px; box-sizing:border-box; border:1px solid #bdd9ec; border-radius:24px; padding:9px 16px; background:#fff; color:#204b65; font-size:13px; box-shadow:none; }
#vehiclePartsCatalog .vehicle-part-article::before { display:none; }
#vehiclePartsCatalog .vehicle-category-list { max-height:min(65vh,660px); overflow-y:auto; overscroll-behavior:contain; padding:10px 2px 2px; scrollbar-width:thin; scrollbar-color:#bdd2e1 transparent; }
#vehiclePartsCatalog .vehicle-category-tree { display:block; list-style:none; padding:0; margin:0; }
#vehiclePartsCatalog .vehicle-category-tree .vehicle-category-tree { padding-left:15px; margin-left:8px; border-left:1px solid #d1e1eb; }
#vehiclePartsCatalog .vehicle-category-tree li { display:block; margin:0; padding:0; }
#vehiclePartsCatalog .vehicle-category-branch { margin:0; padding:0; border:0; background:none; box-shadow:none; }
#vehiclePartsCatalog .vehicle-category-node { position:relative; display:flex; align-items:center; min-height:36px; margin:0; padding:7px 5px 7px 20px; border:0; border-radius:6px; background:none; box-shadow:none; font-family:inherit; font-size:13px; font-weight:500; line-height:1.5; color:#344e60; text-align:left; text-decoration:none; text-shadow:none; text-transform:none; letter-spacing:normal; list-style:none; cursor:pointer; overflow-wrap:anywhere; }
#vehiclePartsCatalog .vehicle-category-node::-webkit-details-marker { display:none; }
#vehiclePartsCatalog summary.vehicle-category-node::before { content:''; position:absolute; left:6px; top:14px; width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:5px solid #8296a3; }
#vehiclePartsCatalog .vehicle-category-branch[open] > summary.vehicle-category-node::before { transform:rotate(90deg); }
#vehiclePartsCatalog .vehicle-category-leaf::before { content:''; position:absolute; left:7px; top:16px; width:4px; height:4px; border-radius:50%; background:#a4b8c5; }
#vehiclePartsCatalog .vehicle-category-node:hover { background:rgba(214,234,247,.65); color:#126da7; text-shadow:none; }
#vehiclePartsCatalog .vehicle-category-node.has-selected { color:#1f6b9c; font-weight:650; }
#vehiclePartsCatalog .vehicle-category-node.is-selected { background:#d9ecf8; color:#096da9; font-weight:700; }
#vehiclePartsCatalog .vehicle-parts-main { min-width:0; }
#vehiclePartsCatalog .vehicle-parts-section-title { margin:0 0 9px; font-size:20px; scroll-margin-top:115px; }
#vehiclePartsCatalog .vehicle-parts-path { font-size:11px; line-height:1.6; color:#708b9d; margin:0 0 10px; overflow-wrap:anywhere; }
#vehiclePartsCatalog .vehicle-parts-status { min-height:22px; margin:0 0 20px; font-size:13px; line-height:1.5; color:#637f91; }
#vehiclePartsCatalog .vehicle-parts-tools { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
#vehiclePartsCatalog .vehicle-parts-cards:not(:empty) { display:flex; flex-direction:column; gap:0; border:1px solid #d5e5ef; border-radius:24px; overflow:hidden; background:#fff; }
#vehiclePartsCatalog .vehicle-part-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px 18px; border:0; border-bottom:1px solid #e2edf4; border-radius:0; background:#fff; box-shadow:none; min-width:0; }
#vehiclePartsCatalog .vehicle-part-picture { display:flex; align-items:center; justify-content:center; height:68px; border-radius:15px; background:#f6fafc; overflow:hidden; color:#90a7b4; font-size:11px; }
#vehiclePartsCatalog .vehicle-part-picture img { width:100%; height:100%; object-fit:contain; }
#vehiclePartsCatalog .vehicle-part-info { min-width:0; }
#vehiclePartsCatalog .vehicle-part-brand { margin:0 0 5px; font-size:10px; font-weight:750; color:#647f91; letter-spacing:.035em; overflow-wrap:anywhere; }
#vehiclePartsCatalog h4 { font-size:14px; margin:0 0 8px; line-height:1.35; }
#vehiclePartsCatalog .vehicle-part-article { display:inline; padding:0; min-height:28px; background:none; border:0; box-shadow:none; border-radius:0; font-size:14px; line-height:1.4; font-weight:700; color:#1176b8; text-align:left; overflow-wrap:anywhere; }
#vehiclePartsCatalog .vehicle-part-article:hover { text-decoration:underline; transform:none; }
#vehiclePartsCatalog .vehicle-part-properties { margin-top:8px; font-size:11px; color:#536f80; }
#vehiclePartsCatalog .vehicle-part-properties summary { cursor:pointer; padding:5px 0; }
#vehiclePartsCatalog dl { margin:8px 0 0; display:grid; gap:4px; }
#vehiclePartsCatalog dt { font-weight:600; } #vehiclePartsCatalog dd { margin:0 0 6px; overflow-wrap:anywhere; }
#vehiclePartsCatalog .primary-button, #vehiclePartsCatalog .secondary-button { min-height:40px; padding:9px 16px; border-radius:999px; font-size:12px; line-height:1.3; width:auto; }
#vehiclePartsCatalog .vehicle-part-price { grid-column:auto; width:auto; min-width:138px; margin:0; white-space:nowrap; }
#vehiclePartsCatalog .vehicle-part-card:last-child { border-bottom:0; }
#vehiclePartsCatalog .vehicle-parts-pager { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:24px; font-size:12px; }
#vehiclePartsCatalog .vehicle-parts-footer { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:24px 0 0; font-size:12px; background:none; color:#637f91; }
#vehiclePartsCatalog .vehicle-category-empty { font-size:12px; line-height:1.6; }
#vehiclePartsCatalog :focus-visible { outline:2px solid #1483cb; outline-offset:3px; }
#vehiclePartsCatalog h2:focus, #vehiclePartsCatalog h3:focus { outline:none; }
.vehicle-catalog-return { margin-bottom:18px; font-size:12px; }
@media (max-width:1100px) { #vehiclePartsCatalog { width:calc(100% - 40px); margin-left:20px; margin-right:20px; } #vehiclePartsCatalog .vehicle-parts-layout { grid-template-columns:230px minmax(0,1fr); gap:16px; } #vehiclePartsCatalog .vehicle-parts-cards { grid-template-columns:1fr; } }
@media (max-width:760px) { #vehiclePartsCatalog { width:calc(100% - 24px); margin:24px 12px 36px; padding:18px; border-radius:28px; scroll-margin-top:85px; } #vehiclePartsCatalog .vehicle-parts-heading { align-items:flex-start; flex-direction:column; gap:12px; } #vehiclePartsCatalog h2 { font-size:21px; } #vehiclePartsCatalog .vehicle-parts-layout { grid-template-columns:1fr; } #vehiclePartsCatalog .vehicle-category-list { max-height:320px; } #vehiclePartsCatalog .vehicle-category-node { min-height:40px; padding-top:9px; padding-bottom:9px; } #vehiclePartsCatalog summary.vehicle-category-node::before { top:16px; } #vehiclePartsCatalog .vehicle-category-leaf::before { top:18px; } #vehiclePartsCatalog .vehicle-parts-tools { grid-template-columns:1fr; } #vehiclePartsCatalog .vehicle-parts-section-title { font-size:18px; } #vehiclePartsCatalog .vehicle-parts-footer { flex-wrap:wrap; } }

#vehicleCatalogRetry[hidden] { display:none !important; }
#vehicleCatalogRetry { min-height:40px; font-size:12px; border-radius:999px; }

/* Safari's native select appearance overrides rounded field geometry unless reset. */
#vehiclePartsCatalog .vehicle-parts-tools select {
  -webkit-appearance:none !important; appearance:none !important;
  display:block !important; height:44px !important; min-height:44px !important;
  border:1px solid #bdd9ec !important; border-radius:999px !important;
  padding:9px 42px 9px 16px !important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2355778d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center !important;
  font:500 13px/1.4 'Manrope',sans-serif !important; box-shadow:none !important;
}
#vehiclePartsCatalog .vehicle-parts-tools select:focus-visible {
  outline:0 !important; border-color:#1684c4 !important; box-shadow:0 0 0 3px rgba(22,132,196,.16) !important;
}
@media (max-width:1000px) {
  #vehiclePartsCatalog .vehicle-part-card { grid-template-columns:52px minmax(0,1fr); gap:8px 14px; padding:13px 15px; }
  #vehiclePartsCatalog .vehicle-part-picture { height:58px; align-self:start; grid-row:1 / 3; }
  #vehiclePartsCatalog .vehicle-part-price { grid-column:2; justify-self:start; min-width:0; margin:0; padding:8px 14px; }
}
/* Brand and article share one line, keeping list rows compact. */
#vehiclePartsCatalog .vehicle-part-info { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 10px; }
#vehiclePartsCatalog .vehicle-part-brand { order:1; margin:0; font-size:11px; }
#vehiclePartsCatalog .vehicle-part-article {
  order:2; min-height:0 !important; height:auto !important; margin:0 !important; padding:0 !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important; font-size:13px !important;
}
#vehiclePartsCatalog .vehicle-part-article::after { display:none !important; }
#vehiclePartsCatalog .vehicle-part-info h4 { order:3; flex-basis:100%; margin:0; font-size:13px; }
#vehiclePartsCatalog .vehicle-part-properties { order:4; flex-basis:100%; margin:0; }
#vehiclePartsCatalog .vehicle-part-properties summary { padding:3px 0; }

/* shop-upgrade.css */
/* Shared dimensions and readable glass surfaces for the storefront. */
:root{--pp-control-height:44px;--pp-pill:999px;--pp-control-text:14px;--pp-focus:#087dbf;--pp-reading:#234c67}
.quote-quick-choices{margin:14px 0 20px}.quote-quick-choices>p{font-size:12px;line-height:1.5;color:#586e80;margin:8px 0 12px}.quote-quick-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.quote-quick-cards article{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px;border:1px solid #cee3f1;border-radius:26px;background:#f5fbff}.quote-quick-label{font-size:11px;color:#3f708d;line-height:1.5}.quote-quick-cards strong{font-size:15px}.quote-quick-cards b{font-size:20px;color:#175c87}.quote-quick-cards span{font-size:12px;color:#546c80}.quote-quick-cards button{margin-top:auto;font-size:12px;min-height:44px}.quote-quick-cards button[aria-pressed=true]{background:#117dbb!important;color:#fff!important}
.quote-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:12px;background:rgba(235,247,255,.86);border:1px solid #cde5f4;border-radius:24px;color:var(--pp-reading)}
.quote-context strong,.quote-context small{display:block}.quote-context small{font-size:12px;line-height:1.5;margin-top:4px}.quote-context button{min-height:var(--pp-control-height);font-size:13px;white-space:nowrap}
.quote-fitment-note{margin:8px 0 0;font-size:12px!important;line-height:1.55;color:#587080}.quote-quality-conflict .quote-fitment-note{color:#7c4e0d}
.quote-quality-review,.quote-other-parts{border:1px solid #d2e4ee;border-radius:24px;padding:14px 18px;margin:18px 0;background:rgba(249,253,255,.86)}
.quote-quality-review{background:#fffaf0;border-color:#ecd9b9}.quote-quality-review>summary,.quote-other-parts>summary{cursor:pointer;min-height:32px;font-size:14px;font-weight:700;color:var(--pp-reading)}
.quote-quality-review>p{font-size:13px;line-height:1.5}.quote-quality-review .quote-category-head{margin-top:12px}.quote-share-fallback{max-width:100%;min-width:0;font-size:14px}
.modern-platform .results-section{padding-top:24px!important}.modern-platform .results-head{margin-bottom:12px!important}.modern-platform .results-head h2{font-size:clamp(23px,2.7vw,34px)!important;line-height:1.2;margin:8px 0!important}
.modern-platform .result-message:empty{display:none}.modern-platform .quote-toolbar{padding:12px 16px!important;border-radius:24px!important}.modern-platform .quote-results-summary strong{font-size:14px!important}.modern-platform .quote-check-time{font-size:11px!important;line-height:1.5}
.modern-platform .quote-category-head{margin:20px 0 10px!important;padding-bottom:8px!important}.modern-platform .quote-category-head h3{font-size:13px!important;letter-spacing:.04em}
.modern-platform .quote-group-head{padding:16px!important}.modern-platform .quote-group-title h3{font-size:17px!important}.modern-platform .quote-analog-group>summary{padding:14px 16px!important;min-height:72px!important}
.modern-platform .quote-analog-copy>small{font-size:13px!important;line-height:1.45}.modern-platform .quote-analog-meta>strong{font-size:18px!important}.modern-platform .quote-analog-meta>small{font-size:12px!important}
.cart-supply-summary>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin:8px 0}.cart-supply-summary small{display:block;line-height:1.55;color:#536b7d;font-size:12px}
.cabinet-finance-help{margin:10px 0 0;padding:12px 16px;border:1px solid #c7dfd2;border-radius:24px;background:#f2faf4;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#315f42;font-size:12px;line-height:1.55}.cabinet-finance-help button{white-space:nowrap;font-size:12px;min-height:44px}
.cabinet-order-footer{flex-wrap:wrap}.cabinet-order-footer>button{font-size:12px;min-height:44px}.offer-comparison dl>div{padding:10px 0;border-bottom:1px solid #e2edf4}.offer-comparison dd{margin:5px 0 0;font-size:13px;line-height:1.5}
.news-topic-tabs{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;padding:7px;border:1px solid #d1e5f2;border-radius:var(--pp-pill);width:fit-content;max-width:100%;margin:0 0 20px;background:rgba(233,247,255,.9)}
.news-topic-tabs button{border:1px solid transparent;border-radius:var(--pp-pill);background:transparent;color:#345c77;min-height:44px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer}.news-topic-tabs button[aria-pressed=true]{color:#fff;background:#127bb8;box-shadow:inset 0 1px 1px #ffffff65}.news-empty{padding:20px;font-size:14px}
.modern-platform .news-body h3{font-size:18px!important;line-height:1.4!important}.modern-platform .news-body p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--pp-focus);outline-offset:3px}
/* Close controls keep a large invisible target. Only the glyph responds. */
.modern-platform button:is(.drawer-close,[data-close-product-image],[data-tool-close],[data-close-vehicle-inquiry]){min-width:44px!important;min-height:44px!important;background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important}
.modern-platform button:is(.drawer-close,[data-close-product-image],[data-tool-close],[data-close-vehicle-inquiry]):is(:hover,:focus-visible){color:#007ec7!important;text-shadow:0 0 10px #1e95da66!important;filter:none!important}
.modern-platform .main-nav.mobile-open{background:rgba(239,249,255,.98)!important;backdrop-filter:blur(28px)!important;-webkit-backdrop-filter:blur(28px)!important;box-shadow:0 18px 40px #183c5626!important;border:1px solid #cde1f0!important;border-radius:0 0 26px 26px!important;isolation:isolate}
 .modern-platform .main-nav.mobile-open a{font-size:14px!important;min-height:44px;display:flex;align-items:center;color:#244960!important;opacity:1!important}
@media(max-width:760px){
 .quote-context{padding:10px 12px;align-items:flex-start;flex-wrap:wrap}.quote-context strong{font-size:13px}.quote-context small{font-size:11px}.quote-context button{padding:7px 12px;font-size:12px}
 .modern-platform .results-section{padding-top:14px!important}.modern-platform .results-head h2{font-size:23px!important}.modern-platform .quote-toolbar{padding:10px!important;gap:10px!important}
 .modern-platform .quote-group-head{padding:12px!important}.modern-platform .quote-group-title h3{font-size:15px!important}.quote-fitment-note{font-size:11px!important}
 .modern-platform .quote-analog-meta>strong{font-size:16px!important}.modern-platform .quote-analog-group>summary{padding:12px!important;gap:10px!important}.modern-platform .quote-analog-copy{min-width:0}
 .quote-other-parts,.quote-quality-review{padding:12px}.cabinet-finance-help{align-items:flex-start;flex-wrap:wrap}.news-topic-tabs{border-radius:26px}.news-topic-tabs button{padding:9px 12px;font-size:12px}
 .offer-comparison{display:flex!important;overflow-x:auto;scroll-snap-type:x proximity;gap:12px!important}.offer-comparison>article{flex:0 0 88%;min-width:0;scroll-snap-align:start}
}

.checkout-step{border:1px solid #d0e4f2;border-radius:26px;padding:18px;margin:14px 0;min-width:0}.checkout-step legend{font-size:15px;font-weight:700;color:#315b77;padding:0 8px}.checkout-step small,.checkout-total-note{font-size:12px;line-height:1.6;color:#586f81}.checkout-billing>summary{font-size:12px;min-height:44px;cursor:pointer;display:flex;align-items:center}.checkout-billing[open] .checkout-fields{margin-top:8px}#checkoutReviewItems ul{list-style:none;padding:0;margin:0}#checkoutReviewItems li,#checkoutReviewItems>p{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:10px 0;border-bottom:1px solid #dceaf2}#checkoutReviewItems strong{white-space:nowrap}

.modern-platform .quote-analog-group[open] > .quote-group > .quote-group-head{display:flex!important;align-items:center;gap:12px;padding:10px 14px;background:rgba(240,248,253,.65)}
.modern-platform .quote-analog-group[open] > .quote-group > .quote-group-head .quote-group-type,.modern-platform .quote-analog-group[open] > .quote-group > .quote-group-head h3{display:none!important}
.modern-platform .quote-analog-group .quote-fitment-note{margin:0;max-width:76ch}
.modern-platform .quote-quality-conflict .quote-group-actions{display:none!important}
.modern-platform .quote-quality-conflict [data-review-product]{margin-top:8px}

/* Garage actions have separate cells and remain reachable on small screens. */
#accountModal .saved-cars > article { grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:4px 12px; }
#accountModal .saved-cars > article > strong { grid-column:1; grid-row:1; }
#accountModal .saved-cars > article > span { grid-column:1; grid-row:2; }
#accountModal .saved-cars > article > button[data-use-car] { grid-column:2; grid-row:1 / 3; color:var(--shop-blue,#1479b8); }
#accountModal .saved-cars > article > button[data-delete-car] { grid-column:3; grid-row:1 / 3; }
@media(max-width:600px) {
 #accountModal .saved-cars > article { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 #accountModal .saved-cars > article > strong, #accountModal .saved-cars > article > span { grid-column:1 / -1; }
 #accountModal .saved-cars > article > button[data-use-car] { grid-column:1; grid-row:3; }
 #accountModal .saved-cars > article > button[data-delete-car] { grid-column:2; grid-row:3; }
}
