/* Home and Catalog polish, scoped to these public surfaces. */
.rex-portal .filters-heading > div { display: grid; gap: 5px; }
.rex-portal .filters-heading p { margin: 0; }
.rex-portal .filter-panel-toggle { display: none; }
.rex-portal header nav.rex-primary-nav a[aria-current="page"] { color: #fff !important; text-decoration: underline !important; text-decoration-color: #ef6175 !important; text-underline-offset: 9px; }
.rex-portal .aisle-empty-link { display: block; width: fit-content; min-height: 44px; padding-top: 11px; color: #183e5b; font-weight: 750; }
.rex-portal .filter-section .filter-chip { max-width: 100%; padding: 2px 4px 2px 12px; gap: 8px; }
.rex-portal .filter-section .filter-chip > span { overflow-wrap: anywhere; }
.rex-portal .filter-section .filter-chip button { flex: 0 0 auto; width: 40px; height: 40px; min-height: 40px; padding: 0; font-size: 22px; }
.rex-portal .filter-section .active-filters { padding-bottom: 5px; }
.rex-portal .catalog-result-note { max-width: 670px; margin: 3px 0 0; color: #536477; font-size: 13px; line-height: 1.55; }
.rex-portal .catalog-coverage { margin: 0 0 18px; padding: 13px 16px; border: 1px solid #d4dfe9; border-left: 3px solid #536f89; border-radius: 9px; background: #eef3f7; color: #334d65; font-size: 13px; line-height: 1.6; }
.rex-portal .catalog-coverage[hidden] { display: none; }
.rex-portal .catalog-results .car-vin { white-space: normal; overflow-wrap: anywhere; text-overflow: clip; letter-spacing: .01em; }
.rex-portal .catalog-results .card-source-status { margin-top: 9px; color: #536477; line-height: 1.5; }
.rex-portal :is(.market-aisle-card, .car-card) > a:focus-visible { outline: 3px solid #287bc1; outline-offset: -3px; border-radius: 13px; }
.rex-portal .market-aisle-card a { height: 100%; display: flex; flex-direction: column; }
.rex-portal .aisle-card-body { flex: 1; }
.rex-portal .rex-card-price small { color: #536477; font-size: 12px; }
.rex-portal .rex-card-price strong > span { font-size: 12px; }
.rex-portal :is(.card-secondary-price, .aisle-secondary-price) { display: block; margin-top: 7px; color: #536477; font-size: 12px; font-weight: 650; line-height: 1.5; }
.rex-portal .card-saved-note { margin: 10px 0 0; padding: 9px 11px; border-radius: 7px; background: #f1f4f7; color: #4e6277; font-size: 12px; font-weight: 400; line-height: 1.55; }
.rex-portal .message { padding: 26px 20px; gap: 8px; text-align: center; }
.rex-portal .message > span { max-width: 520px; }
.rex-portal .message button, .rex-portal .aisle-retry { min-height: 44px; margin-top: 6px; padding: 10px 16px; border: 1px solid #c4d0dd; border-radius: 8px; background: #fff; color: #173d59; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.5; cursor: pointer; }
.rex-portal .message button:hover, .rex-portal .aisle-retry:hover { border-color: #173d59; background: #f4f7fa; }
.rex-portal .message-error strong { color: #9c263c; }
.rex-portal #results { scroll-margin-top: 110px; }
.rex-portal .catalog-results [aria-busy="true"] { cursor: progress; }
@media (max-width: 700px) {
  .rex-portal .filters-heading { flex-direction: row; align-items: center; margin-bottom: 0; gap: 12px; }
  .rex-portal .filters-heading h2 { font-size: 15px; }
  .rex-portal .filters-heading p { display: none; }
  .rex-portal .filter-section .filters .filter-panel-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 44px; height: auto; padding: 8px 12px; border: 1px solid #c8d5e1; border-radius: 8px; background: #fff; color: #183c58; font-size: 12px; font-weight: 750; }
  .rex-portal #filterControls { margin-top: 16px; }
  .rex-portal #filterControls.is-collapsed { display: none; }
  .rex-portal .filter-submit-field { grid-column: 1 / -1; }
  .rex-portal .filter-submit-field label { display: none; }
  .rex-portal .filter-section .advanced-actions .btn { width: 100%; }
  .rex-portal .filter-section .active-filters { gap: 5px; margin-top: 12px; }
  .rex-portal .filter-section .clear-filters { align-self: flex-start; padding-left: 0; }
  .rex-portal .catalog-result-note { font-size: 12px; }
  .rex-portal .catalog-coverage { padding: 12px 13px; font-size: 12px; }
  .rex-portal .marketplace-aisles { gap: 28px; }
  .rex-portal .market-aisle-heading { align-items: center; gap: 12px; }
  .rex-portal .market-aisle-heading .aisle-more { flex: 0 0 auto; }
  .rex-portal .market-aisle-card .aisle-title { font-size: 15px; }
}
@media (max-width: 460px) {
  .rex-portal .market-aisle-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .rex-portal .marketplace-aisles .aisle-photo { aspect-ratio: 16 / 10; }
  .rex-portal .aisle-card-body { padding: 15px; }
  .rex-portal .market-aisle-card .aisle-title { min-height: 0; font-size: 17px; }
  .rex-portal .market-aisle-card .rex-card-facts { font-size: 13px; }
}
