/* Route-scoped fixes, loaded after the legacy Phoenix / Trade-in bundles. */
header.header-dark,
header.header-light {
  margin-bottom: 0 !important;
}

/* Bootstrap's inner navbar margin survives a reset on the header itself. */
header .navbar {
  margin-bottom: 0 !important;
}

.phoenix-content {
  background: #f4f4f4;
  color: #121212;
}

/* Intrinsic HTML dimensions reserve each image's ratio even before its
   bytes arrive. Keep proportional CSS sizing instead of fixed HTML heights. */
.phoenix-content img {
  height: auto;
}

/* Match the final layout before window.load; late min-height removal must
   not move an already opened equipment-options block. */
.phoenix-content .phoenix-content__slide {
  min-height: 0;
}

.phoenix-content .phoenix-content__slide-1__type,
.phoenix-content .phoenix-content__slide-1__text {
  opacity: 1;
  animation: none;
}

.phoenix-hero-cta,
.trade-in-hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 24px;
  border: 2px solid #121212;
  border-radius: 28px;
  font: 600 16px/1.25 'ProximaNovaRegular', 'Proxima Nova', Arial, sans-serif;
  text-align: center;
  text-decoration: none !important;
}

.phoenix-hero-cta {
  margin: 16px auto 20px;
  color: #121212 !important;
  background: #aeff01;
}

.phoenix-hero-cta:hover {
  background: #c0ff42;
}

.phoenix-shop-cta--bottom .cart-icon {
  display: none;
}

.phoenix-content .phoenix-shop-cta--bottom {
  display: flex;
  width: max-content;
  max-width: calc(100% - 40px);
  margin: 32px auto;
  position: relative;
  z-index: 2;
}

.phoenix-site-footer {
  margin-top: 0;
  height: auto;
  min-height: 0;
  position: relative;
  overflow: visible;
}

/* The product layout also loads Bootstrap 3, whose white .btn-default
   background otherwise hides the shared footer's white Subscribe text. */
.phoenix-site-footer .footer-subscription__fields .btn-submit {
  color: #fff;
  background-color: #c30000;
  border-color: #c30000;
  min-height: 44px;
  font-size: 16px;
}

.phoenix-site-footer .footer-subscription__fields .btn-submit:hover,
.phoenix-site-footer .footer-subscription__fields .btn-submit:focus {
  color: #fff;
  background-color: #a60000;
  border-color: #a60000;
}

.phoenix-site-footer .footer-subscription__fields .btn-submit:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.phoenix-hero-cta:focus-visible,
.trade-in-hero-cta:focus-visible {
  outline: 3px solid #c30000;
  outline-offset: 4px;
}

.phoenix-content .phoenix-content__slide-11:target {
  height: auto;
  padding: 2.6vw 0;
  opacity: 1;
}

#phoenix-equipment-options,
#trade-in-contacts {
  scroll-margin-top: calc(var(--lw-header-offset, 56px) + 16px);
}

.trade-in-page {
  overflow: hidden;
}

.trade-in-page .promo__actions {
  margin: 20px 20px 12px;
}

.trade-in-hero-cta {
  color: #a30000 !important;
  background: #fff;
  border-color: #fff;
  position: relative;
  z-index: 6;
}

.trade-in-hero-cta:hover {
  background: #f4f4f4;
}

.trade-in-page .b-contacts > h2 {
  color: #fff !important;
  margin: 0;
  padding: 40px 20px 0;
  font-size: clamp(26px, 4vw, 40px);
  text-align: center;
}

@media (min-width: 992px) {
  .phoenix-content .phoenix-content__slide-1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto !important;
    min-height: calc(100vh - 56px) !important;
    padding: 24px 24px 40px;
    box-sizing: border-box;
  }

  .phoenix-content .phoenix-content__slide-1::after {
    opacity: 0.2;
  }

  .phoenix-content .phoenix-model {
    position: relative;
    top: 0;
    left: 0;
    width: min(76%, 900px);
    height: clamp(240px, 40vh, 400px);
    transform: none !important;
    opacity: 1;
    animation: none;
  }

  .phoenix-content .phoenix-model .slide__div-parallax {
    height: 100% !important;
  }

  .phoenix-content .phoenix-model img {
    display: block;
    position: static;
    width: 100%;
    height: 100%;
    object-fit: contain;
    top: 0 !important;
  }

  .phoenix-content .phoenix-content__slide-1__info {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }

  .phoenix-content .phoenix-content__slide-1__name {
    font-size: 18px;
    margin: 12px 0;
  }

  .phoenix-content .phoenix-content__slide-1__type {
    font-size: clamp(36px, 4vw, 64px);
    line-height: 1.05;
    letter-spacing: -0.04em;
  }

  .phoenix-content .phoenix-content__slide-1__text {
    width: min(100%, 720px);
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.5;
  }
}

@media (max-width: 991.98px) {
  .phoenix-content .phoenix-content__slide-1 {
    height: auto !important;
    min-height: 0 !important;
  }

  .phoenix-content .phoenix-content__slide-1::after {
    background-position: center top;
  }

  .phoenix-content .phoenix-model {
    position: relative;
    top: 0;
    left: 0;
    transform: none !important;
    animation: none;
    opacity: 1;
  }

  .phoenix-content .phoenix-model .slide__div-parallax {
    height: auto !important;
  }

  .phoenix-content .phoenix-model img {
    display: block;
    position: static;
    width: 100%;
    height: auto;
    top: 0 !important;
  }

  .phoenix-content .phoenix-content__slide-1__info {
    margin-top: 16px;
    padding: 0 20px 16px;
    box-sizing: border-box;
  }

  .phoenix-content .phoenix-content__slide-1__name {
    margin-bottom: 12px;
    font-size: 20px;
  }

  .phoenix-content .phoenix-content__slide-1__type {
    font-size: clamp(32px, 8vw, 48px);
    line-height: 1.05;
    letter-spacing: -0.03em;
  }

  .phoenix-content .phoenix-content__slide-1__text {
    padding: 16px 0 0;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
  }

  .trade-in-page .b-promo {
    height: auto;
    min-height: 520px;
    padding: 40px 0 24px;
  }

  .trade-in-page .b-promo .promo__content img {
    max-height: 34vh;
    max-height: 34svh;
  }
}
