@media (min-width: 1500px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1500px;
  }
}

/* -------------------- Navbar and Header ---------------------- */
.navbar .container {
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
}

.header .navbar .dropdown-menu {
  min-width: 200px;
  width: auto;
  padding: 1em;
  background: var(--color-theme-background);
}

.header .navbar .dropdown-menu .dropdown-item,
.header .navbar .dropdown-menu .badge {
  color: var(--color-theme-text);
}

.header .navbar .active > .nav-link,
.header .navbar .dropdown-item.active,
.header .navbar .dropdown-item:active,
.header .navbar .show > .nav-link {
  background-color: transparent !important;
}

.header__top {
  background-color: #222;
  color: #fff;
  font-size: 12px;
  padding: 10px 0;
}

.header__top .pipe {
  padding: 0 15px;
}

@media (min-width: 992px) {
  .navbar-collapse {
    flex-grow: initial;
  }

  .navbar .container {
    text-align: left;
  }

  .header .navbar .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
    margin-right: 10px;
    margin-left: 10px;
  }

  .header .nav-link-cart,
  .header .navbar .nav-link {
    line-height: 20px;
    font-size: 14px;
  }

  /* Fixed Header Alignment */
  section:not(.page-inventory-details) .header .header-container {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    box-shadow: 0 0 10px #000;
  }

  /** Header Top Offset **/
  section[class*="page-"]:not(.page-inventory-details) {
    margin-top: var(--cw-headerHeight);
  }

  :root {
    --cw-headerHeight: 121px;
  }
}

@media (min-width: 1200px) {
  .header li.nav-item {
    margin-right: 25px;
  }

  .header li.nav-item:last-of-type {
    margin-right: 0;
  }

  .header .navbar .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
    margin-right: 0;
    margin-left: 0;
  }

  .header__top {
    font-size: 14px;
  }
}

/* Hero Section - Static Desktop & Mobile Images */
.cw-hero {
  position: relative;
  z-index: 4;
  overflow: hidden;
  padding: 4rem 0 6rem;
  contain: layout style;
}

/* Static Desktop Background Image (High Specificity) */
html body .cw-hero::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url('https://cdn05.carsforsale.com/00e6fa0ccac4750654c3dbe34443898446/00e6fa0ccac4750654c3dbe34443898446.jpg?format=original&sig=0e3d2582914ef2c6') !important;
  animation: none !important;
  -webkit-animation: none !important;
}

/* Responsive Mobile Background Image (Matches Desktop Image) */
@media (max-width: 991px) {
  html body .cw-hero::before {
    background-image: url('https://cdn05.carsforsale.com/00e6fa0ccac4750654c3dbe34443898446/00e6fa0ccac4750654c3dbe34443898446.jpg?format=original&sig=0e3d2582914ef2c6') !important;
  }
}

.cw-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(30, 30, 30, 0.6), rgba(30, 30, 30, 0));
  z-index: 2;
}

.cw-hero .cw-svg {
  position: absolute;
  right: 0;
  left: 0;
  bottom: -1px;
  z-index: 3;
}

.cw-hero .cw-svg svg {
  fill: #222;
}

.cw-hero .cw-heroContent {
  position: relative;
  z-index: 4;
  color: #fff;
}

.cw-hero .cw-heroContent .cw-heroPreline {
  display: block;
  margin-bottom: 10px;
  font-size: 1.25em;
  font-weight: bolder;
  line-height: 1;
}

.cw-hero .cw-heroContent .cw-herolocation {
  font-size: 0.55em !important;
  display: block;
}

.cw-hero .cw-heroContent .hero__headline {
  font-size: 4rem;
  line-height: 0.9;
  font-weight: 700;
  margin-bottom: 10px;
}

.cw-hero .cw-heroContent .hero__CTA i {
  font-size: 14px;
  margin-left: 10px;
}

/* -------------------- Inventory Search Module ---------------------- */

.page-home .inventory-search-module {
  background-color: #222;
  margin: 0 !important;
  padding: 10px 0;
}

.page-home .inventory-search-module .form__wrapper {
  background-color: transparent;
  border: none;
}

.page-home .inventory-search-module .form__wrapper .form-label {
  display: none;
}

@media (min-width: 576px) {
  .page-home .inventory-search-module {
    padding-top: 1.5rem;
  }

  .cw-hero {
    padding: 5rem 0 6rem;
    background-attachment: fixed;
  }
}

@media (min-width: 768px) {
  .page-home .inventory-search-module {
    padding-top: 20px;
  }

  /* Lock Hero Height on Tablet/Desktop to prevent overlapping card shift */
  .cw-hero {
    min-height: 480px;
  }
}

@media (min-width: 992px) {
  .cw-hero {
    min-height: 500px;
  }

  .page-home .inventory-search-module {
    padding-top: 3.5rem;
    position: absolute;
    width: 100%;
    z-index: 5;
    background: transparent;
    pointer-events: none;
  }

  .page-home .inventory-search-module .form__wrapper {
    position: relative;
    width: clamp(300px, 50%, 650px);
    z-index: 5;
    margin-right: 1rem;
    margin-left: auto;
    pointer-events: all;
    gap: 1rem;
  }

  .page-home .inventory-search-module .container .form__wrapper label {
    display: none;
  }

  .page-home .inventory-search-module .search__input {
    min-width: calc(50% - 1rem);
    flex-basis: calc(50% - 1rem);
    flex-grow: 1;
  }
}

@media (min-width: 1200px) {
  .cw-hero {
    min-height: 500px;
  }

  .page-home .inventory-search-module .search__input.search__input-make {
    order: 1;
  }

  .page-home .inventory-search-module .search__input.search__input--model {
    order: 3;
  }

  .page-home .inventory-search-module .search__input.search__input--min-year {
    order: 5;
  }

  .page-home .inventory-search-module .search__input.search__input--max-year {
    order: 6;
  }

  .page-home .inventory-search-module .search__input.search__input--max-price {
    order: 2;
  }

  .page-home .inventory-search-module .search__input.search__input--max-mileage {
    order: 4;
  }

  .page-home .inventory-search-module .search__input:last-of-type {
    order: 7;
  }

  .page-home .inventory-search-module .search__input {
    min-width: 40%;
    flex-basis: 45%;
    flex-grow: 1;
  }

  .page-home .inventory-search-module .container .form__wrapper .search__input--min-year,
  .page-home .inventory-search-module .container .form__wrapper .search__input--max-year {
    min-width: 20%;
    flex-basis: 20%;
  }

  .page-home .inventory-search-module .container {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .page-home .inventory-search-module .container {
    max-width: 1320px;
  }
}

/* -------------------- Titles ---------------------- */

.title {
  background: #fff;
  background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.97) 60%,
      rgba(255, 255, 255, 0.7) 100%
    ),
    url(https://cdn.powersports.com/cdn-cgi/image/h=1440,w=1920/C035FC0F43FD4D685EEFB014AF37E357.png);
  background-size: contain;
  background-position: center center;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
  padding-top: 3rem;
  padding-bottom: 3rem;
  margin-bottom: 2em;
}

.title h1.title-heading {
  text-transform: uppercase;
  text-align: center;
}

.title-heading {
  font-size: 1.25em !important;
}

@media (min-width: 576px) {
  .title-heading {
    font-size: 2em !important;
  }
}

/* -------------------- Search section ---------------------- */

.cw_searchPrice {
  padding: 4em 0 3em;
  background-color: #222;
  background-image: linear-gradient(180deg, #222, #222, #201c17a8),
    url(https://cdn.powersports.com/cdn-cgi/image/h=1440,w=1920/C035FC0F43FD4D685EEFB014AF37E357.png);
  background-size: contain;
  color: #fff;
}

.cw_searchPrice h2 {
  font-weight: 700;
  line-height: 1em;
  font-size: 2em;
  text-transform: uppercase;
}

.cw_searchPrice p {
  color: #fff;
  line-height: 1.6em;
}

.cw_searchPrice .cw_shopUnder {
  opacity: 0.9;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
}

.cw_searchPrice .cw_priceRange {
  font-size: 2.1em;
  font-weight: 700;
  line-height: 1.2;
}

.font-header-Montserrat .cw_searchPrice .cw_priceRange {
  font-family: montserrat, sans-serif;
}

.cw_searchPrice .cw_priceRange sup {
  top: -12px;
  font-size: 0.6em;
}

@media (min-width: 1200px) {
  .cw_searchPrice .cw_priceRange {
    font-size: 3em;
  }
}

/* -------------------- Section Title ---------------------- */

.inventoryslideshow {
  text-align: center;
  padding-top: 1em !important;
  padding-bottom: 5em;
}

.inventoryslideshow .inventoryslideshow-title-heading {
  color: var(--inventoryslideshow-header);
  display: none;
}

.featured__section__title {
  margin-top: 70px;
}

.section__title__h2 .section__title__preline {
  font-size: 1.5rem;
  font-weight: 400;
  position: relative;
  color: var(--color-theme-text);
  margin-bottom: 0;
  font-family: var(--bodyfont);
}

.section__title__h2 .section__title__headline {
  font-size: 3rem;
  line-height: 0.9;
  font-weight: 800;
  margin-bottom: 15px;
  font-family: var(--sitefont);
  text-transform: uppercase;
}

.section__title__copy {
  font-size: 1em;
}

.cw-parallax {
  height: 300px;
  padding-top: 3em;
  background-image: linear-gradient(
      180deg,
      var(--color-theme-primary),
      rgba(0, 0, 0, 0.5)
    ),
    url(https://cdn.powersports.com/cdn-cgi/image/h=1440,w=1920/B2118378E99A8E1C698244B632B59EC6.jpg);
  background-size: cover;
  background-attachment: fixed;
  color: #fff;
}

.cw-over-btns {
  margin-top: 20px;
  margin-bottom: 48px;
  color: #fff;
}

.cw-over-btns .cw-flex-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-around;
}

.cw-over-btns .card {
  margin-bottom: 20px;
  height: calc(100% - 20px);
  border-radius: 6px;
  border: 0 transparent;
  overflow: hidden;
  padding: 15px 0;
}

.cw-over-btns .cw-card-image .cw-full-btn {
  background: var(--color-theme-primary);
  color: #fff;
  width: 100%;
  padding: 17px 16px;
  text-align: center;
  font-weight: 600;
  border-end-end-radius: 6px;
  border-end-start-radius: 6px;
}

.cw-over-btns .cw-card-image .cw-full-btn:hover {
  background: var(--color-theme-secondary);
  color: var(--color-theme-primary);
}

.cw-over-btns .cw-card-image .card-body {
  padding: 0;
}

.cw-over-btns .cw-card-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
}

.cw-over-btns .card i {
  font-size: 2.25rem;
  margin-bottom: 10px;
}

.cw-over-btns .card h4 {
  font-size: 1.25rem;
  text-transform: uppercase;
}

.cw-over-btns .card p {
  font-size: 1rem;
  margin-bottom: 0;
}

.cw-over-btns .card .cw-btn {
  background: var(--color-theme-secondary);
  border-radius: 8px;
  padding: 10px 15px;
  color: #fff;
}

.cw-over-btns .card .cw-btn:active {
  color: var(--color-theme-text) !important;
  border: 1px solid var(--color-theme-primary);
}

.cw-over-btns .card .cw-btn i {
  font-size: 1rem;
  margin: 0;
}

.cw-over-btns .cw-card-primary {
  background: #fff;
  background-image: linear-gradient(180deg, #fff, #fff, #ffffff9c),
    url(https://cdn.powersports.com/cdn-cgi/image/h=1440,w=1920/C035FC0F43FD4D685EEFB014AF37E357.png);
  background-size: contain;
  color: #000;
  box-shadow: 1px 7px 11px rgba(0, 0, 0, 0.2);
}

.cw-over-btns .cw-card-secondary {
  background: var(--color-theme-secondary);
  background-image: linear-gradient(180deg, #222, #222, #22222254),
    url(https://cdn.powersports.com/cdn-cgi/image/h=1440,w=1920/C035FC0F43FD4D685EEFB014AF37E357.png);
  background-size: contain;
  box-shadow: 1px 7px 11px rgba(0, 0, 0, 0.2);
}

.cw-over-btns .cw-card-image .card-footer {
  padding: 0;
}

.cw-over-btns .card .card-footer {
  background: 0 0;
  border-top: transparent;
}

@media (min-width: 440px) {
  .cw-over-btns .card h4 {
    font-size: 1.5rem;
  }
}

@media (min-width: 576px) {
  .cw-over-btns .card h4 {
    font-size: 1.35rem;
  }
}

@media (min-width: 768px) {
  .cw-over-btns {
    margin-top: -150px !important;
    position: relative;
    z-index: 6;
  }

  .cw-over-btns .card h4 {
    font-size: 1.65rem;
  }
}

@media (min-width: 992px) {
  .cw-over-btns .card h4 {
    font-size: 1.1rem;
  }

  .cw-over-btns .card i {
    font-size: 2rem;
    margin-bottom: 10px;
  }
}

@media (min-width: 1200px) {
  .cw-over-btns .card h4 {
    font-size: 1.35rem;
  }
}

/* -------------------- SEO links ---------------------- */

.popular-vehicle-link::first-line {
  font-weight: 700;
}

a.popular-vehicle-link:hover {
  color: var(--color-theme-primary) !important;
}

.popular-vehicles-section h2 {
  position: relative;
  text-transform: uppercase;
  font-size: 1.5em;
}

.popular-vehicles-section h2::before {
  content: "";
  width: 100px;
  height: 10px;
  border-bottom: 5px solid var(--color-theme-primary);
  position: absolute;
  bottom: -8px;
}

/* -------------------- Footer ---------------------- */

.cw-footer {
  padding: 4rem 0;
  background: #000
    url("https://cdn.powersports.com/cdn-cgi/image/h=1440,w=1920/B947E9D67AC39A93F0C7E8A62A1ACB42.jpg")
    center;
  background-size: cover;
  color: #fff;
  text-align: left;
}

.cw-footer a {
  color: inherit;
}

.cw-footer a:hover {
  color: var(--color-theme-border);
}

.footer-social a {
  color: #fff;
}

.cw-footer .business-hours li {
  border-bottom: 1px solid var(--color-theme-border);
}

.cw-footer .cw-address,
.cw-footer .cw-phone {
  position: relative;
  line-height: 1.35;
  font-size: 1.1rem;
}

.cw-footerMenu a {
  display: block;
  margin-bottom: 0.65rem;
  font-weight: 700;
}

.cw-footerMenu a:hover,
.cw-footer .cw-social a:hover,
.cw-footer .cw-phone:hover {
  color: var(--color-theme-border);
}

.cw-footer h5 {
  margin-bottom: 1rem;
}

.cw-footer .cw-hours {
  font-size: 0.85rem;
  line-height: 2;
}

.cw-footer .cw-hours .business-hours .today {
  font-weight: bolder;
  color: inherit !important;
}

.footer {
  padding-top: 0;
}

footer > .container {
  display: none;
}

.bootstrap-select {
  padding: 0 !important;
  background: 0 0;
  border: none;
}

.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(
    .input-group-btn
  ) {
  width: 100%;
}

.page-inventory-details #builderCanvas {
  margin-bottom: 1em;
}

.vdp-module-canvas-razor-wrapper .vdp__sticky-navigation__mod {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* SRP width fix */
.inventory .inventory-container > .row {
  margin-left: 0;
  margin-right: 0;
}

/* -------------------- Sticky nav fixes/changes ---------------------- */

.page-inventory-details .builder-canvas__sticky-container {
  z-index: 1029 !important;
}

@media (min-width: 992px) {
  .page-inventory-details .builder-canvas__sticky-container:has(.modal.show) {
    z-index: 1055 !important;
  }
}

/* Hide pre-header on mobile on VDP */
@media (max-width: 991px) {
  .page-inventory-details .header__top {
    display: none;
  }
}

/* Fix Mobile More Info button BG color */
.vdp-module-canvas-razor-wrapper .btn-secondary {
  background-color: var(--inventorydetails-primary) !important;
  color: var(--inventorydetails-text-btn);
  border-color: var(--inventorydetails-primary);
}

.vdp-module-canvas-razor-wrapper .sn_business_openclose.open {
  background-color: var(--inventorydetails-primary) !important;
}

/* Fix Loan Calc VDP Colors */
.vdp-module-canvas-razor-wrapper .btn-check:checked + .btn-outline-secondary {
  background-color: var(--inventorydetails-primary) !important;
  color: var(--inventorydetails-text-btn);
  border-color: var(--inventorydetails-primary);
}

.vdp-module-canvas-razor-wrapper
  .btn-check:checked
  + .btn-outline-secondary:hover {
  background-color: var(--inventorydetails-primary) !important;
}

/* Fix Quick Connect module */
.page-inventory-details .module,
.vdp-module-canvas-razor-wrapper .module {
  margin-top: 10px !important;
}

/* Fix Bottom Footer Colors */

.footer-bottom-section {
  background-color: var(--color-theme-primary) !important;
}

.footer,
.footer .dropdown-item,
.footer .dropdown-item:focus,
.footer .nav-link,
.footer a {
  color: var(--color-theme-background) !important;
}

/* ==========================================================================
   CLS STABILIZATION PATCH (Prevents Mobile Layout Shift)
   ========================================================================== */

/* 1. Global Header Height Fallback for Mobile */
:root {
  --cw-headerHeight: 75px;
}

/* 2. Reserve Hero Banner Space on Mobile */
@media (max-width: 991px) {
  .cw-hero {
    min-height: 380px;
  }
}

/* 3. Stabilize Vehicle Detail Pages (VDP) */
.page-inventory-details #builderCanvas,
.page-inventory-details .vdp-module-canvas-razor-wrapper {
  min-height: 450px;
}

/* 4. Reserve Mobile Search Form Dimensions */
.page-home .inventory-search-module {
  min-height: 180px;
}

/* 5. Badges CLS Fix */
.cw_searchPrice img,
.cw-over-btns img,
img[alt*="badge"] {
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

/* 6. Hide Duplicate Bottom Contact Form on Mobile/Tablet VDPs */
.page-inventory-details .bottom-form-container,
.page-inventory-details .vdp__container:has(.bottom-form-container) {
  display: none !important;
}

/* ==========================================================================
   ACCESSIBILITY & KEYBOARD FOCUS ENHANCEMENTS
   ========================================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #445735 !important;
  outline-offset: 2px !important;
}

/* ==========================================================================
   STRICT CLS ZERO-SHIFT PATCH
   ========================================================================== */

.cw-over-btns {
  min-height: 220px;
  contain: layout style;
}

.cw-over-btns .cw-flex-row {
  min-height: 180px;
}

.cw-over-btns .col-12.col-md-12.col-lg-10 {
  min-height: 200px;
}

.cw_searchPrice {
  min-height: 260px;
  contain: layout;
}

.cw-heroPreline,
.hero__headline,
.cw_priceRange,
.section__title__headline {
  font-display: swap;
  text-rendering: optimizeLegibility;
}