/* Search-specific recreation of the supplied five-column catalog reference. */
:root {
  --sr-ref-navy: #24397e;
  --sr-ref-orange: #ff5c00;
  --sr-ref-ink: #39445b;
  --sr-ref-muted: #778092;
  --sr-ref-line: #e3e6eb;
  --sr-ref-wash: #f1f2f4;
}

/* Predictive search: one viewport-wide panel anchored immediately beneath the
   complete sticky site shell; only the page beneath it is dimmed. */
body:has(.gi-search-wrap .search-dropdown.open)::after {
  content: "";
  position: fixed;
  z-index: 998;
  inset: var(--srp-overlay-top, 130px) 0 0;
  background: rgb(23 27 37 / 76%);
}
.gi-header, .gi-main-nav { position: relative; }
.gi-header { z-index: 1000; }
.gi-main-nav { z-index: 999; }
.gi-search-wrap .search-dropdown {
  position: fixed !important;
  z-index: 1001 !important;
  inset: var(--srp-overlay-top, 130px) 0 auto !important;
  top: var(--srp-overlay-top, 130px) !important;
  left: 0 !important;
  width: auto !important;
  max-height: min(430px, calc(100dvh - var(--srp-overlay-top, 130px))) !important;
  overflow: auto;
  padding: 20px max(3.75vw, 22px) 24px !important;
  border: 0 !important;
  border-top: 1px solid var(--sr-ref-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 24px rgb(25 34 49 / 12%) !important;
  color: var(--sr-ref-ink);
}
.gi-search-wrap .search-dropdown.open {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  column-gap: 26px;
}
.sr-suggest-group { min-width: 0; }
.sr-suggest-title {
  margin: 0 0 9px;
  color: #333d52;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 750;
}
.sr-suggest-entry {
  display: flex;
  min-width: 0;
  min-height: 37px;
  align-items: center;
  gap: 9px;
  padding: 4px 1px;
  color: #303746 !important;
  font-size: 11.5px !important;
  line-height: 1.32;
  text-decoration: none !important;
  background: transparent !important;
}
.gi-search-wrap .search-dropdown .sr-suggest-entry {
  min-height: 37px;
  padding: 4px 1px !important;
  justify-content: flex-start;
  text-align: left;
}
.gi-search-wrap .search-dropdown .sr-suggest-entry:nth-child(even) { background: transparent !important; }
.gi-search-wrap .search-dropdown .sr-suggest-entry:hover,
.gi-search-wrap .search-dropdown .sr-suggest-entry.active-row,
.gi-search-wrap .search-dropdown .sr-suggest-entry[aria-selected="true"] { background: #f1f3f7 !important; }
.sr-suggest-entry:hover, .sr-suggest-entry.active-row,
.sr-suggest-entry[aria-selected="true"] {
  background: #f1f3f7 !important;
  color: var(--sr-ref-navy) !important;
}
.sr-suggest-entry .suggest-thumb {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  object-fit: contain;
}
.sr-suggest-entry .suggest-thumb.empty { visibility: hidden; }
.sr-suggest-copy { min-width: 0; }
.sr-suggest-name { display: block; overflow-wrap: anywhere; }
.sr-suggest-name .match { font-weight: 800; }
.sr-suggest-meta { display: block; margin-top: 2px; color: #758094; font-size: 10px; }
.sr-suggest-empty { padding: 4px 0 8px; color: #768092; font-size: 11px; }
.sr-suggest-all {
  display: inline-flex;
  margin-top: 7px;
  color: var(--sr-ref-navy) !important;
  font-size: 11px;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
.sr-suggest-all:hover,
.sr-suggest-all.active-row,
.sr-suggest-all[aria-selected="true"] { background: #f1f3f7 !important; }

/* Search results: light-gray title strip, uncomplicated native product
   photography, and the same five broad columns as the reference capture. */
#searchResultsRoot {
  width: 100%;
  max-width: none;
  min-height: 55vh;
  padding: 0 0 54px !important;
  color: var(--sr-ref-ink);
  background: #fff;
}
#searchResultsRoot > .srp-crumb {
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 19px 3.75% 0 !important;
  color: var(--sr-ref-muted) !important;
  font-size: 11px !important;
}
#searchResultsRoot > .srp-crumb a { color: #616a79 !important; text-decoration: none; }
#searchResultsRoot > .srp-crumb .cur { color: #616a79; }
.srp-title-band {
  width: 100%;
  margin-top: 0;
  padding: 8px max(3.75vw, 16px) 22px;
  background: #f0f1f3;
}
.srp-title-band .srp-heading { max-width: 1500px; margin: 0 auto !important; padding: 0 !important; }
.srp-title-band .srp-heading h1 {
  margin: 0 !important;
  color: var(--sr-ref-navy) !important;
  font-size: clamp(25px, 2.3vw, 34px) !important;
  font-weight: 750;
  line-height: 1.18;
  letter-spacing: -.04em;
}
.srp-title-band .srp-heading h1 .sq { color: inherit !important; }
.srp-title-band .srp-count,
.srp-title-band .srp-desc { display: none !important; }
.srp-filter-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 45px;
  padding: 6px max(3.75vw, 16px);
  border-bottom: 1px solid #e8e9ed;
  background: #fff;
}
.srp-filter-label {
  flex: 0 0 auto;
  margin-right: 1px;
  color: #3e4960;
  font-size: 12px;
  font-weight: 750;
}
.srp-filter-pills { display: flex; align-items: center; gap: 9px; min-width: 0; flex-wrap: wrap; }
#searchResultsRoot .srp-filter-pills .filter-group { position: relative; padding: 0 !important; border: 0 !important; }
.srp-filter-pills .filter-head {
  display: flex;
  min-height: 29px;
  align-items: center;
  gap: 9px;
  padding: 5px 12px !important;
  border: 1px solid #ebedf0 !important;
  border-radius: 20px;
  background: #f2f3f5 !important;
  color: #46516a !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap;
  cursor: pointer;
}
.srp-filter-pills .filter-head:hover,
.srp-filter-pills .filter-group.is-open .filter-head,
.srp-filter-pills .filter-head:focus-visible {
  border-color: #c4cce0 !important;
  outline: 2px solid transparent;
  background: #e9ecf3 !important;
}
.srp-filter-pills .filter-head svg { width: 9px !important; height: 7px !important; stroke: #45516a !important; }
.srp-filter-pills .filter-head.collapsed svg { transform: rotate(180deg); }
.srp-filter-pills .filter-body {
  position: absolute;
  z-index: 50;
  top: calc(100% + 7px);
  left: 0;
  display: none;
  width: max-content;
  min-width: 200px;
  max-width: min(340px, calc(100vw - 32px));
  max-height: 300px;
  margin: 0 !important;
  padding: 11px 13px;
  overflow: auto;
  border: 1px solid var(--sr-ref-line);
  background: #fff;
  box-shadow: 0 9px 22px rgb(34 43 57 / 15%);
}
.srp-filter-pills .filter-group.is-open .filter-body { display: block; }
.srp-filter-pills .filter-body.hidden { display: none; }
.srp-filter-pills .filter-option { margin: 0; padding: 6px 0; color: #40495a; font-size: 12px; }
.srp-filter-pills .filter-option input { accent-color: var(--sr-ref-navy); }
.srp-filter-pills .filter-option .fc { margin-left: auto; padding-left: 12px; color: #838b99; font-size: 11px; }
.srp-filter-pills .filter-search { margin: 0 0 7px; padding: 7px 8px; border: 1px solid #d9dde5; border-radius: 2px; font-size: 12px; }
.srp-filter-count {
  margin-left: auto;
  color: var(--sr-ref-navy);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
  text-transform: uppercase;
}
.srp-layout { display: block !important; max-width: 1500px; margin: 0 auto !important; padding: 20px 3.75% 54px !important; }
#srpSidebar { display: none; }
.srp-mobile-filter-toggle { display: none !important; }
#searchResultsRoot .srp-main { padding: 0 !important; }
.srp-main > .srp-heading { display: none; }
.srp-discovery { display: none !important; }
.srp-toolbar {
  display: flex;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
}
.srp-toolbar-count { margin-right: auto; color: #47536b; font-size: 14px; font-weight: 500; }
.srp-sort-wrap { gap: 9px !important; color: #455068; font-size: 12px !important; font-weight: 600; }
.srp-sort-select { min-height: 32px !important; padding: 5px 10px !important; border: 1px solid #d5d9e0 !important; border-radius: 3px !important; font-size: 12px !important; }
.srp-view-toggle { display: none !important; }
.srp-active-filters:not([hidden]) { order: 3; width: 100%; padding-top: 8px; }
.srp-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 24px 24px !important; }
#searchResultsRoot .srp-card {
  min-width: 0;
  padding: 0 9px 13px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--sr-ref-navy) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
#searchResultsRoot .srp-card:hover { transform: translateY(-2px); box-shadow: none !important; }
.srp-grid .srp-badges { display: none !important; }
.srp-img { height: clamp(120px, 14vw, 164px) !important; margin-bottom: 10px !important; background: #fff; }
.srp-img img { width: 100%; height: 100%; object-fit: contain; }
#searchResultsRoot .srp-card .srp-name {
  min-height: 0 !important;
  margin-bottom: 4px !important;
  color: var(--sr-ref-navy) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.34 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.srp-model { margin-bottom: 6px !important; color: #7c8491 !important; font-size: 10.5px !important; }
.srp-card .srp-compare-add { display: none !important; }
#searchResultsRoot .srp-card .srp-price { margin: 5px 0 !important; color: var(--sr-ref-navy) !important; font-size: 13px !important; }
#searchResultsRoot .srp-card .srp-price.no-price { color: #677186 !important; font-size: 12px !important; }
.srp-cart-row select { width: 49px !important; }
#searchResultsRoot .srp-cart-row .srp-add-btn,
#searchResultsRoot .srp-list-add { background: var(--sr-ref-navy) !important; color: #fff !important; }
.srp-pagination { gap: 5px; }
.srp-pagination button { border-radius: 2px; }
.srp-pagination button.active { background: var(--sr-ref-navy) !important; border-color: var(--sr-ref-navy) !important; }
.srp-empty { max-width: 620px; margin: 34px auto; padding: 38px 20px !important; border: 1px solid var(--sr-ref-line); }
.srp-empty h2 { color: var(--sr-ref-navy) !important; }
.srp-search-error { margin: 14px 3.75% !important; }

@media (min-width: 1101px) {
  #searchResultsRoot > .srp-crumb,
  .srp-layout { width: 100%; }
}
@media (max-width: 900px) {
  .srp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px) {
  .gi-search-wrap .search-dropdown {
    max-height: min(58dvh, calc(100dvh - var(--srp-overlay-top, 102px))) !important;
    padding: 14px 14px 17px !important;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    contain: paint;
  }
  .gi-search-wrap .search-dropdown.open { grid-template-columns: repeat(5, minmax(148px, 1fr)); gap: 14px; }
  #searchResultsRoot > .srp-crumb { padding: 13px 16px 0 !important; }
  .srp-title-band { padding: 8px 16px 18px; }
  .srp-title-band .srp-heading h1 { font-size: 26px !important; }
  .srp-filter-bar { align-items: flex-start; gap: 9px; padding: 10px 16px; flex-wrap: wrap; }
  .srp-filter-label { padding: 7px 0; }
  .srp-filter-pills { flex: 1 1 220px; gap: 7px; }
  .srp-filter-count { align-self: center; }
  .srp-layout { padding: 16px 16px 38px !important; }
  .srp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 14px !important; }
  .srp-img { height: clamp(110px, 30vw, 150px) !important; }
  .srp-name { font-size: 12px !important; }
}
@media (max-width: 390px) {
  .srp-filter-pills .filter-head { gap: 5px; padding: 5px 8px !important; font-size: 10px !important; }
  .srp-filter-pills { flex-basis: 195px; }
  .srp-filter-count { width: 100%; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #searchResultsRoot .srp-card { transition: none !important; }
}