.gbs-select-wrapper{position:relative;display:block}.gbs-fitment-result.gbs-loading,.gbs-select-wrapper{position:relative}.gbs-fitment-result.gbs-loading .gbs-spinner,.gbs-select-wrapper .gbs-spinner{position:absolute;width:1rem;height:1rem;border:2px solid rgba(0,0,0,.1);border-left-color:#000;border-radius:50%;animation:gbs-spin 1s linear infinite;pointer-events:none}.gbs-fitment-result.gbs-loading{padding-left:2rem}.gbs-fitment-result.gbs-loading .gbs-spinner{top:50%;left:1rem;transform:translate(-50%,-50%)}.gbs-select-wrapper .gbs-spinner{top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes gbs-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* === GBrakes Fitment Page Styles === */

:root {
  --gbrakes-gold: #f9d00f;
  --gbrakes-black: #1a1a1a;
  --gbrakes-gray: #666;
  --gbrakes-font-accent: "Permanent Marker", cursive;
  --gbrakes-font-title: Inter, -apple-system, sans-serif;
  --gbrakes-formelem-height: 42px;
}

/* Global WooCommerce / fitment styles */
.woocommerce h1, .gbrakes-fitments h1 {
  font-size: 2rem;
  font-weight: bold;
  color: var(--gbrakes-black);
  text-transform: uppercase;
}
.woocommerce .woocommerce-breadcrumb, .gbrakes-fitments .woocommerce-breadcrumb {
  font-family: var(--gbrakes-font-title);
  margin-top: 2rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
  font-weight: bold;
  color: var(--gbrakes-black);
}
.woocommerce a.add_to_cart_button, .gbrakes-fitments a.add_to_cart_button {
  padding: 0.5rem 1.25rem;
  border: 0;
  border-radius: 0;
  background: var(--gbrakes-gold);
  color: var(--gbrakes-black);
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 1.2;
}
.woocommerce a.add_to_cart_button:hover, .gbrakes-fitments a.add_to_cart_button:hover {
  background: var(--gbrakes-black);
  color: var(--gbrakes-gold);
  border-radius: 0;
}

/* Application group headings (FRONT LINES, REAR PADS, etc.) */
.gbrakes-application-group {
  position: relative;
}
.gbrakes-application-group .gbrakes-application-title {
  position: relative;
  padding: 0.65rem 1rem 0;
  font-family: var(--gbrakes-font-accent);
  background: var(--gbrakes-gold);
  color: var(--gbrakes-black);
  font-size: 3rem;
  line-height: 1;
  border-left: 6px solid var(--gbrakes-black);
  border-radius: 0;
}

/* Main content width for fitment pages */
.gbrakes-fitments main.site-main,
.gbrakes-fitments #left-area {
  max-width: 1200px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  width: 100% !important;
}

/* Dark header banner for all fitment pages */
header.woocommerce-products-header {
  background-color: var(--gbrakes-black);
  padding: 1rem;
  color: #ddd;
}
header.woocommerce-products-header h1 {
  color: var(--gbrakes-gold);
  font-family: var(--gbrakes-font-accent);
  font-size: 2.5rem;
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 0.125em;
  line-height: 0.75;
  position: relative;
  top: 0.14em;
}
header.woocommerce-products-header .woocommerce-vehicle-filter-title {
  margin-bottom: 0;
  line-height: 1.2;
}
header.woocommerce-products-header .woocommerce-vehicle-filter-title .pre {
  display: block;
  text-transform: uppercase;
  font-weight: normal;
  color: #bbb;
  font-size: 1rem;
}
header.woocommerce-products-header .woocommerce-vehicle-filter-title .vehicle {
  display: block;
  font-weight: bold;
  color: #ddd;
  font-size: 1.5rem;
}
header.woocommerce-products-header .vehicle-selector-button-area {
  text-align: center;
}
header.woocommerce-products-header .vehicle-selector-button-area .vslabel {
  font-family: var(--gbrakes-font-title);
  color: var(--gbrakes-gold);
  font-size: 0.875rem;
  text-transform: uppercase;
}
header.woocommerce-products-header .gbrakes-open-modal-button {
  background: var(--gbrakes-gold);
  color: var(--gbrakes-black);
  border: 0;
}
@media (min-width: 992px) {
  header.woocommerce-products-header h1 { font-size: 4rem; }
  header.woocommerce-products-header .woocommerce-vehicle-filter-title {
    display: flex;
    align-items: baseline;
    gap: 0.5em;
  }
}

/* Fitment landing page header grid */
header.woocommerce-products-header.fitment-page-index {
  display: grid;
  grid-template: "title" "text" "vsbutton" / auto;
  gap: 0;
}
header.woocommerce-products-header.fitment-page-index .page-title {
  grid-area: title;
  align-self: center;
}
header.woocommerce-products-header.fitment-page-index .index-text {
  grid-area: text;
  margin: 1rem 0 0;
}
header.woocommerce-products-header.fitment-page-index .index-text p {
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.875rem;
}
header.woocommerce-products-header.fitment-page-index .vehicle-selector-button-area {
  grid-area: vsbutton;
  place-self: end center;
}
@media (min-width: 768px) {
  header.woocommerce-products-header.fitment-page-index {
    grid-template: "title vsbutton" "text text" / auto auto;
  }
}

/* Make list (manufacturer grid) */
.gbrakes-make-list-container {
  margin: 2rem auto;
}
.gbrakes-make-list-container ul.gbrakes-make-list {
  padding: 0;
  margin: 0;
  list-style: none;
  columns: 160px 2;
  gap: 1rem;
}
.gbrakes-make-list-container ul.gbrakes-make-list > li {
  padding: 0 !important;
  margin: 0.25rem 0 !important;
  break-inside: avoid;
}
.gbrakes-make-list-container ul.gbrakes-make-list > li a {
  font-size: 1rem;
  font-weight: bold;
  color: var(--gbrakes-black);
  text-decoration: none;
  text-transform: uppercase;
}
.gbrakes-make-list-container ul.gbrakes-make-list > li a:hover {
  color: var(--gbrakes-gold);
}
@media (min-width: 768px) {
  .gbrakes-make-list-container ul.gbrakes-make-list {
    columns: 200px 4;
  }
  .gbrakes-make-list-container ul.gbrakes-make-list > li {
    margin: 0.65rem 0 !important;
  }
  .gbrakes-make-list-container ul.gbrakes-make-list > li a {
    font-size: 1.25rem;
  }
}

/* Make page header (e.g. /fitment/bombardier/) */
.gbrakes-fitment-page-make header.woocommerce-products-header {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: repeat(4, auto);
  grid-template-areas: "title" "filter_title" "years" "vsbutton";
  gap: 0;
}
.gbrakes-fitment-page-make header.woocommerce-products-header .page-title {
  grid-area: title;
  align-self: center;
}
.gbrakes-fitment-page-make header.woocommerce-products-header .woocommerce-vehicle-filter-title {
  grid-area: filter_title;
}
.gbrakes-fitment-page-make header.woocommerce-products-header .vehicle-selector-button-area {
  grid-area: vsbutton;
  place-self: center;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .gbrakes-fitment-page-make header.woocommerce-products-header {
    grid-template: "title vsbutton" "filter_title vsbutton" "selmodel selmodel" / auto auto;
  }
  .gbrakes-fitment-page-make header.woocommerce-products-header .vehicle-selector-button-area {
    margin-top: 0;
  }
}

/* Model page header */
.gbrakes-fitment-page-model header.woocommerce-products-header {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: repeat(4, auto);
  grid-template-areas: "title" "filter_title" "selyear" "vsbutton";
  gap: 0;
}
.gbrakes-fitment-page-model header.woocommerce-products-header .page-title {
  grid-area: title;
  align-self: center;
}
.gbrakes-fitment-page-model header.woocommerce-products-header .woocommerce-vehicle-filter-title {
  grid-area: filter_title;
}
.gbrakes-fitment-page-model header.woocommerce-products-header .vehicle-selector-button-area {
  grid-area: vsbutton;
  place-self: center;
  margin-top: 1rem;
}
.gbrakes-fitment-page-model .gbs-year-selector-title {
  font-weight: bold;
  font-size: 1rem;
  padding: 0;
  margin: 0;
}
.gbrakes-fitment-page-model ul.gbs-year-selector-list {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.125rem 0.5rem;
  list-style: none;
}
.gbrakes-fitment-page-model ul.gbs-year-selector-list li {
  display: block;
  padding: 0;
  margin: 0;
}
.gbrakes-fitment-page-model ul.gbs-year-selector-list li a {
  color: #ddd;
  display: block;
}
@media (min-width: 768px) {
  .gbrakes-fitment-page-model header.woocommerce-products-header {
    grid-template: "title vsbutton" "filter_title vsbutton" "selyear selyear" / auto auto;
  }
  .gbrakes-fitment-page-model header.woocommerce-products-header .vehicle-selector-button-area {
    margin-top: 0;
  }
}

/* Vehicle page header */
.gbrakes-fitment-page-vehicle header.woocommerce-products-header {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: repeat(3, auto);
  grid-template-areas: "title" "filter_title" "vsbutton";
  gap: 0;
}
.gbrakes-fitment-page-vehicle header.woocommerce-products-header .page-title {
  grid-area: title;
  align-self: center;
}
.gbrakes-fitment-page-vehicle header.woocommerce-products-header .woocommerce-vehicle-filter-title {
  grid-area: filter_title;
}
.gbrakes-fitment-page-vehicle header.woocommerce-products-header .vehicle-selector-button-area {
  grid-area: vsbutton;
  place-self: center;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .gbrakes-fitment-page-vehicle header.woocommerce-products-header {
    grid-template: "title vsbutton" "filter_title vsbutton" / auto auto;
  }
  .gbrakes-fitment-page-vehicle header.woocommerce-products-header .vehicle-selector-button-area {
    margin-top: 0;
  }
}

/* Mega menu make list styling */
.in-mega-menu .gbrakes-make-list-item a { font-size: 16px !important; }
#mega-menu-vehicle-list .gbrakes-make-list-item { position: relative; padding-left: 22px !important; }
#mega-menu-vehicle-list .gbrakes-make-list-item::before { content: ""; width: 12px; height: 12px; border-radius: 100%; position: absolute; left: 0; top: 7px; background: var(--gbrakes-gold); }
#mega-menu-vehicle-list .gbrakes-make-list-item a:hover { color: var(--gbrakes-gold); }

/* WooCommerce pagination */
.woocommerce .woocommerce-pagination {
  margin: 2rem 0;
}
.woocommerce .woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  align-items: stretch;
  list-style: none;
  border: 0;
  padding: 0;
  margin: 0;
}
.woocommerce .woocommerce-pagination ul.page-numbers::before,
.woocommerce .woocommerce-pagination ul.page-numbers::after { display: none; }
.woocommerce .woocommerce-pagination ul.page-numbers > li {
  min-width: 40px;
  border: 0;
}
.woocommerce .woocommerce-pagination ul.page-numbers > li .page-numbers {
  display: block;
  background-color: var(--gbrakes-black);
  color: #ddd;
  border: 0;
}
.woocommerce .woocommerce-pagination ul.page-numbers > li .page-numbers:hover { color: #fff; }
.woocommerce .woocommerce-pagination ul.page-numbers > li .page-numbers.current { background-color: #444; }

/* Model selector select box styling */
.gbs-model-selector-list-wrapper select,
header.woocommerce-products-header select {
  width: 100%;
  padding: 0.5rem;
  font-size: 1rem;
  border: 2px solid #fff;
  background: #fff;
  color: var(--gbrakes-black);
  margin-top: 0.5rem;
}

/* Override Divi default list bullets and left-area width */
#left-area .gbrakes-make-list-container ul.gbrakes-make-list,
#left-area .gbrakes-make-list-container ul.gbrakes-make-list li {
  list-style: none !important;
}
#left-area .gbrakes-make-list-container ul.gbrakes-make-list li::before {
  display: none !important;
}
.gbrakes-fitments #content-area,
body.fitment-page-index #content-area {
  position: relative;
}
.gbrakes-fitments #left-area,
body.fitment-page-index #left-area {
  width: 100% !important;
  float: none !important;
}
.gbrakes-fitments #sidebar,
body.fitment-page-index #sidebar {
  display: none !important;
}
