/* Dashed border */
hr.dashed {
  border-top: 3px dashed #bbb;
}

/* Dotted border */
hr.dotted {
  border-top: 3px dotted #bbb;
}

/* Solid border */
hr.solid {
  border-top: 3px solid #bbb;
}

/* Rounded border */
hr.rounded {
  border-top: 8px solid #bbb;
  border-radius: 5px;
}

@media (max-width: 600px) {
  .hc-reviews-overview__column-4 {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .hc-product-tab--actions {
    width: 100% !important;
    margin-top: 12px !important;
  }

  .hc-product-tab--actions .hc-modal-target {
    max-width: 100% !important;
    margin-left: 0 !important;
  }
}

/* /// CHECKOUT COUPON HIGHLIGHT START /// */

/* Highlight the coupon/gift-card area on desktop and mobile. */
.ec-cart__credits-and-coupons {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-top: 18px;
  padding: 14px 16px;
  background: #fff7ed;
  border: 1px solid #f3d2bd;
  border-left: 4px solid #f15a24;
  border-radius: 8px;
}

.ec-cart__credits-and-coupons--title {
  margin-bottom: 10px;
  color: #222;
  font-size: 18px;
  line-height: 1.3;
}

/* Keep the description and Redeem button comfortably spaced. */
.ec-cart__credits-and-coupons .ec-cart-coupon__text {
  align-items: center;
  gap: 8px;
}

.ec-cart__credits-and-coupons .ec-cart-coupon__text > span:last-child {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* Turn the small Redeem link into a prominent button. */
.ec-cart__credits-and-coupons .ec-cart-coupon__text .ec-link {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  color: #fff !important;
  background: #f15a24;
  border: 1px solid #f15a24;
  border-radius: 6px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
}

.ec-cart__credits-and-coupons .ec-cart-coupon__text .ec-link:hover,
.ec-cart__credits-and-coupons .ec-cart-coupon__text .ec-link:focus {
  color: #fff !important;
  background: #d94a1f;
  border-color: #d94a1f;
}

@media (max-width: 480px) {
  .ec-cart__credits-and-coupons {
    padding: 14px;
  }

  .ec-cart__credits-and-coupons--title {
    font-size: 17px;
  }

  .ec-cart__credits-and-coupons .ec-cart-coupon__text > span:last-child {
    flex-wrap: wrap;
  }
}

/* /// CHECKOUT COUPON HIGHLIGHT END /// */

/* Enlarge and center the gift icon */
.ec-cart__credits-and-coupons .ec-cart-coupon__icon {
  display: inline-flex;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin: 0 6px 0 0;
  transform: translateY(4px);
}

.ec-cart__credits-and-coupons .ec-cart-coupon__icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

/* Place the homepage hero behind the transparent header */
.ins-tile--header.ins-tile--has-opacity + .ins-tile--slider {
  padding-top: 0 !important;
}

/* Keep the homepage promotion and vehicle checker together above the fold. */
.ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen {
  --slider-height: clamp(440px, 52vh, 560px) !important;
  --slider-height: clamp(440px, 52svh, 560px) !important;
}

@media (min-width: 700px) {
  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__slide-content-inner {
    padding-top: 155px !important;
    padding-bottom: 65px !important;
  }
}

@media (max-width: 699px) {
  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen {
    --slider-height: clamp(340px, 42vh, 400px) !important;
    --slider-height: clamp(340px, 42svh, 400px) !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__slide-content-inner {
    padding-top: 96px !important;
    padding-bottom: 30px !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__title {
    font-size: clamp(21px, 6.2vw, 25px) !important;
    line-height: 0.92 !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__title p,
  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__title span {
    line-height: 0.92 !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__description {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__title + .ins-tile__description {
    margin-top: 7px !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__button > .ins-control--button {
    --button-font-size: 12px !important;
    --button-height-scale: 2.75 !important;
    --button-min-width: 96px !important;
    min-width: 96px !important;
    height: 33px !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__button .ins-control__button {
    min-height: 0 !important;
    height: 100% !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__button .ins-control__text {
    padding: 0 12px !important;
    font-size: inherit !important;
    line-height: 1.2 !important;
  }

  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__title + .ins-tile__button,
  .ins-tile--header.ins-tile--has-opacity + .ins-tile--slider.ins-tile--fullscreen .ins-tile__description + .ins-tile__button {
    margin-top: 13px !important;
  }
}

/* Give the transparent header a dark background on blog pages */
.ins-tile--header.ins-tile--has-opacity:has(+ .ins-tile__blog-posts-collection) .ins-header,
.ins-tile--header.ins-tile--has-opacity:has(+ [id^="tile-blog-post-intro-"]) .ins-header {
  background-color: #191919 !important;
}

/* Prevent sideways page scrolling on mobile */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden !important;
  }

  @supports (overflow-x: clip) {
    html,
    body {
      overflow-x: clip !important;
    }
  }
}

/* The coupon now appears beside product pricing instead of in a slide-in. */
#InApp_slide_in {
  display: none !important;
}

/* Keep Ecwid's sale pricing on one clean line and place the active
   announcement-bar code beneath it. */
.product-details__product-price-row .product-details-module__content:has(.sm-price-promo) {
  display: grid !important;
  grid-template-columns: max-content max-content minmax(0, 1fr);
  grid-template-areas:
    "price sale-label comparison"
    "promotion promotion promotion"
    "paypal paypal paypal";
  align-items: center;
  column-gap: 9px;
  row-gap: 7px;
}

.product-details__product-price-row .product-details__product-price {
  grid-area: price;
  position: relative;
  top: 4px;
}

.product-details__product-price-row .product-details__product-on-sale {
  display: contents !important;
}

.product-details__product-price-row .product-details__label-container {
  grid-area: sale-label;
  justify-self: start;
  margin: 0 -5px 0 0 !important;
  transform: scale(0.88);
  transform-origin: left center;
}

.product-details__product-price-row .details-product-price-compare__container {
  grid-area: comparison;
  margin: 0 !important;
  white-space: nowrap;
}

.product-details__product-price-row .product-details__product-price-discount,
.product-details__product-price-row .details-product-price-discount__text,
.product-details__product-price-row .details-product-price-discount__value {
  display: none !important;
}

.product-details__product-price-row .ec-paypal-pay-later-message {
  grid-area: paypal;
  width: 100%;
}

.product-details__product-price-row .sm-price-promo {
  grid-area: promotion;
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 8px !important;
  justify-self: start !important;
  padding: 7px 9px 7px 12px !important;
  color: #222 !important;
  background: #f3f4f6 !important;
  border: 1px solid #d7d9dd !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.product-details__product-price-row .sm-price-promo__text {
  white-space: nowrap;
}

.product-details__product-price-row .sm-price-promo--excluded .sm-price-promo__text {
  white-space: normal;
}

.product-details__product-price-row .sm-price-promo--excluded {
  box-sizing: border-box !important;
  width: 280px !important;
  padding: 8px 12px !important;
  gap: 8px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
}

.product-details__product-price-row .sm-price-promo__check {
  flex: 0 0 auto;
  color: #26843b;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

.product-details__product-price-row .sm-price-promo__copy {
  appearance: none !important;
  flex: 0 0 auto !important;
  min-height: 28px !important;
  padding: 4px 9px !important;
  color: #222 !important;
  background: #fff !important;
  border: 1px solid #b9bdc4 !important;
  border-radius: 999px !important;
  font: inherit !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  cursor: pointer;
}

.product-details__product-price-row .sm-price-promo__copy:hover,
.product-details__product-price-row .sm-price-promo__copy:focus-visible {
  border-color: #222 !important;
  outline: none;
}

.sm-price-promo__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 600px) {
  .product-details__product-price-row .product-details-module__content:has(.sm-price-promo) {
    grid-template-columns: max-content max-content minmax(0, 1fr);
    grid-template-areas:
      "price sale-label comparison"
      "promotion promotion promotion"
      "paypal paypal paypal";
    column-gap: 7px;
  }

  .product-details__product-price-row .sm-price-promo {
    margin-top: 2px !important;
  }

  .product-details__product-price-row .product-details__product-price {
    top: 6px;
  }

  .product-details__product-price-row .product-details__label-container {
    margin-right: -7px !important;
    transform: scale(0.82);
  }

  .product-details__product-price-row .details-product-price-compare__container {
    font-size: 13px !important;
  }
}

/* Make the compact product-page rating easier to scan. */
.product-details .product-details__rating-reviews {
  display: flex;
  align-items: center;
  min-height: 25px;
}

.product-details .product-details__rating-reviews .star-rating {
  margin-right: 9px !important;
  transform: scale(1.32);
  transform-origin: left center;
}

.product-details .product-details__rating-reviews .product-details__rating-text,
.product-details .product-details__rating-reviews .product-details__rating-reviews-text {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

/*
 * Simply Michigan Infotainment — streamlined Ecwid product options
 * Activated only when ecwid-streamlined-product-options.js recognizes an
 * approved product URL and adds .sm-product-options-active to <html>.
 */

/*
 * Sync 2 to Sync 3 landing page: its description supplies the customer-facing
 * heading, so hide only Ecwid's duplicate category title.
 */
.ec-store__category-page--39980905 .ec-page-title {
  display: none !important;
}

/* Sync 2 to Sync 3 landing-page compatibility checker. */
.sm-landing-benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 24px;
}

.sm-landing-benefit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border: 1px solid #cfe4d5;
  border-radius: 999px;
  background: #f3faf5;
  color: #2f6f43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

#sm-fit-checker {
  box-sizing: border-box;
  width: 100%;
  max-width: 760px;
  margin: 28px auto 0;
  padding: 24px;
  border: 1px solid #e2e2e2;
  border-top: 3px solid #2f8f4e;
  border-radius: 8px;
  background: #fff;
  color: #222;
  font-family: inherit;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

#sm-fit-checker .sm-fit__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  margin-bottom: 20px;
  text-align: center;
}

#sm-fit-checker .sm-fit__icon {
  display: inline-flex;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2f8f4e;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
}

#sm-fit-checker h3 {
  margin: 0 0 3px;
  color: #222;
  font-size: 21px;
  line-height: 1.3;
}

#sm-fit-checker .sm-fit__heading p,
#sm-fit-checker .sm-fit__privacy {
  margin: 0;
  color: #626a73;
  font-size: 14px;
  line-height: 1.5;
}

#sm-fit-checker .sm-fit__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 14px;
}

#sm-fit-checker .sm-fit__field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  color: #222;
  font-size: 14px;
  font-weight: 700;
}

#sm-fit-checker .sm-fit__submit {
  grid-column: 1 / -1;
}

#sm-fit-checker input,
#sm-fit-checker select {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0 36px 0 12px;
  border: 1px solid #b9c0c7;
  border-radius: 8px;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}

#sm-fit-checker input:focus,
#sm-fit-checker select:focus {
  border-color: #2f8f4e;
  outline: 3px solid rgba(47, 143, 78, 0.16);
}

#sm-fit-checker select:disabled {
  border-color: #cfcfcf;
  background: #f1f1f1;
  color: #777;
  opacity: 1;
}

#sm-fit-checker .sm-fit__submit {
  min-height: 48px;
  padding: 12px 18px;
  border: 0;
  border-radius: 8px;
  background: #222;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
}

#sm-fit-checker .sm-fit__submit:hover {
  background: #3a3a3a;
}

#sm-fit-checker .sm-fit__result {
  margin-top: 18px;
  padding: 17px;
  border: 1px solid #bddac7;
  border-left: 4px solid #2f8f4e;
  border-radius: 8px;
  background: #fff;
  font-size: 15px;
  line-height: 1.55;
}

#sm-fit-checker .sm-fit__result--notice {
  border-color: #f3d2bd;
  border-left-color: #f15a24;
  background: #fffaf7;
}

#sm-fit-checker .sm-fit__result h4 {
  margin: 0 0 6px;
  color: #222;
  font-size: 18px;
  line-height: 1.35;
}

#sm-fit-checker .sm-fit__result--eligible h4,
#sm-home-fit-checker .sm-home-fit__result--eligible h3 {
  display: flex;
  align-items: center;
  gap: 8px;
}

#sm-fit-checker .sm-fit__result--eligible h4::before,
#sm-home-fit-checker .sm-home-fit__result--eligible h3::before {
  content: "✓";
  display: inline-flex;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
  background: #2f8f4e;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}

#sm-fit-checker .sm-fit__result p {
  margin: 0 0 12px;
}

#sm-fit-checker .sm-fit__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

#sm-fit-checker .sm-fit__actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid #222;
  border-radius: 7px;
  background: #222;
  color: #fff !important;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
  text-decoration: none !important;
}

#sm-fit-checker .sm-fit__actions a.sm-fit__secondary {
  background: #fff;
  color: #222 !important;
}

#sm-fit-checker .sm-fit__privacy {
  margin-top: 12px;
  text-align: center;
  font-size: 12px;
}

@media (max-width: 560px) {
  #sm-fit-checker {
    padding: 18px 15px;
  }

  #sm-fit-checker .sm-fit__form {
    grid-template-columns: 1fr;
  }

  #sm-fit-checker .sm-fit__submit {
    grid-column: auto;
  }

  #sm-fit-checker .sm-fit__actions {
    flex-direction: column;
  }
}

/* Compact vehicle compatibility checker used on the home page. */
#sm-home-fit-checker {
  width: 100%;
  box-sizing: border-box;
  padding: 22px 18px 24px;
  background: #f4f3f2;
  background: oklch(0.9594 0.00254 48.72);
  color: #222;
  font-family: inherit;
}

#tile-custom-code-EU4sza {
  background: #f4f3f2;
  background: oklch(0.9594 0.00254 48.72);
}

#tile-custom-code-EU4sza + #tile-category-products-r5kGz9 .section__container {
  margin-top: 32px !important;
}

#sm-home-fit-checker .sm-home-fit__inner {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(620px, 2.25fr);
  gap: 18px 24px;
  max-width: 1120px;
  margin: 0 auto;
  padding: 22px;
  border: 1px solid #dedede;
  border-left: 1px solid #dedede;
  border-radius: 12px;
  background: #f4f3f2;
  background: oklch(0.9594 0.00254 48.72);
  box-sizing: border-box;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.07);
}

#sm-home-fit-checker .sm-home-fit__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

#sm-home-fit-checker .sm-home-fit__heading > span:last-child {
  min-width: 0;
}

#sm-home-fit-checker .sm-home-fit__heading h2 {
  margin: 0 0 4px !important;
  color: #222 !important;
  font-size: 23px !important;
  line-height: 1.2 !important;
}

#sm-home-fit-checker .sm-home-fit__heading p {
  margin: 0 !important;
  color: #5a5a5a !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

#sm-home-fit-checker .sm-home-fit__icon {
  display: inline-flex;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #222;
  color: #fff;
}

#sm-home-fit-checker .sm-home-fit__icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

#sm-home-fit-checker .sm-home-fit__form {
  display: grid;
  grid-template-columns: repeat(4, minmax(105px, 1fr)) minmax(145px, auto);
  gap: 10px;
  align-items: end;
  min-width: 0;
  margin: 0 !important;
}

#sm-home-fit-checker .sm-home-fit__form label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
  margin: 0;
  color: #333;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

#sm-home-fit-checker .sm-home-fit__form select {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 32px 0 11px !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 7px !important;
  background-color: #fff !important;
  color: #222 !important;
  font: inherit !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
}

#sm-home-fit-checker .sm-home-fit__form select:focus {
  border-color: #f15a24 !important;
  outline: 2px solid rgba(241, 90, 36, 0.18) !important;
  outline-offset: 1px;
}

#sm-home-fit-checker .sm-home-fit__form select:disabled {
  background-color: #f1f1f1 !important;
  color: #777 !important;
}

#sm-home-fit-checker .sm-home-fit__form button,
#sm-home-fit-checker .sm-home-fit__actions a {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 10px 16px !important;
  border: 1px solid #f15a24 !important;
  border-radius: 7px !important;
  background: #f15a24 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
}

#sm-home-fit-checker .sm-home-fit__form button:hover,
#sm-home-fit-checker .sm-home-fit__actions a:hover {
  background: #d94a1f !important;
  border-color: #d94a1f !important;
}

#sm-home-fit-checker .sm-home-fit__actions a {
  border-color: #222 !important;
  background: #222 !important;
}

#sm-home-fit-checker .sm-home-fit__actions a:hover {
  border-color: #444 !important;
  background: #444 !important;
}

#sm-home-fit-checker .sm-home-fit__result {
  grid-column: 1 / -1;
  box-sizing: border-box;
  padding: 14px 16px;
  border: 1px solid #dedede;
  border-top: 4px solid #f15a24;
  border-radius: 8px;
  background: #fff;
}

#sm-home-fit-checker .sm-home-fit__result[hidden] {
  display: none !important;
}

#sm-home-fit-checker .sm-home-fit__result--notice {
  background: #fff7ed;
  border-color: #f3d2bd;
  border-top-color: #f15a24;
}

#sm-home-fit-checker .sm-home-fit__result h3 {
  margin: 0 0 4px !important;
  color: #222 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
}

#sm-home-fit-checker .sm-home-fit__result p {
  margin: 0 !important;
  color: #444 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

#sm-home-fit-checker .sm-home-fit__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 11px;
}

@media (max-width: 1040px) {
  #sm-home-fit-checker .sm-home-fit__inner {
    grid-template-columns: 1fr;
  }

  #sm-home-fit-checker .sm-home-fit__form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #sm-home-fit-checker .sm-home-fit__form button {
    grid-column: 1 / -1;
    width: min(220px, 100%);
    justify-self: center;
  }
}

@media (max-width: 640px) {
  #sm-home-fit-checker {
    padding: 8px 10px 10px;
  }

  #tile-custom-code-EU4sza + #tile-category-products-r5kGz9 .section__container {
    margin-top: 24px !important;
  }

  #sm-home-fit-checker .sm-home-fit__inner {
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
  }

  #sm-home-fit-checker .sm-home-fit__heading {
    align-items: flex-start;
  }

  #sm-home-fit-checker .sm-home-fit__heading h2 {
    font-size: 20px !important;
  }

  #sm-home-fit-checker .sm-home-fit__heading p {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  #sm-home-fit-checker .sm-home-fit__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #sm-home-fit-checker .sm-home-fit__form label {
    gap: 4px;
    font-size: 12px;
  }

  #sm-home-fit-checker .sm-home-fit__form select {
    height: 42px !important;
  }

  #sm-home-fit-checker .sm-home-fit__form button {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 42px;
  }

  #sm-home-fit-checker .sm-home-fit__result {
    padding: 13px 14px;
  }

  #sm-home-fit-checker .sm-home-fit__actions {
    flex-direction: column;
  }
}

/* Visual current-system selector shared by both compatibility checkers. */
/* Mask the homepage's native placeholder while the visual picker initializes.
   This prevents Ecwid's older saved "Select current system" text from flashing. */
#sm-home-fit-checker .sm-home-fit__form label:has(> #sm-home-fit-system:not(.sm-system-native)) {
  position: relative;
}

#sm-home-fit-checker .sm-home-fit__form #sm-home-fit-system:not(.sm-system-native) {
  color: transparent !important;
}

#sm-home-fit-checker .sm-home-fit__form label:has(> #sm-home-fit-system:not(.sm-system-native))::after {
  content: "Select system";
  position: absolute;
  right: 32px;
  bottom: 0;
  left: 11px;
  display: flex;
  height: 44px;
  align-items: center;
  overflow: hidden;
  color: #777;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

.sm-system-field-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.sm-system-picker {
  min-width: 0;
}

/* Keep the APIM landing-page picture selector aligned with its native fields. */
#sm-fit-checker.sm-fit--apim .sm-system-picker {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-self: stretch;
  gap: 6px;
  margin: 0;
}

#sm-fit-checker.sm-fit--apim .sm-system-picker__label {
  margin: 0;
  color: #222;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.62;
}

.sm-system-picker__label {
  display: block;
  margin: 0 0 5px;
  color: #222;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

#sm-home-fit-checker .sm-home-fit__form .sm-system-picker__trigger,
#sm-fit-checker .sm-fit__form .sm-system-picker__trigger {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: center;
  gap: 0;
  grid-column: auto !important;
  justify-content: flex-start !important;
  justify-self: stretch !important;
  position: relative;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 32px 0 11px !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #222 !important;
  box-shadow: none !important;
  font: inherit !important;
  text-align: left !important;
  cursor: pointer;
}

#sm-home-fit-checker .sm-home-fit__form .sm-system-picker__trigger:hover,
#sm-fit-checker .sm-fit__form .sm-system-picker__trigger:hover {
  border-color: #cfcfcf !important;
  background: #fff !important;
}

#sm-home-fit-checker .sm-home-fit__form .sm-system-picker__trigger:focus-visible,
#sm-fit-checker .sm-fit__form .sm-system-picker__trigger:focus-visible {
  border-color: #777 !important;
  outline: 1px solid #777 !important;
  outline-offset: 1px;
}

#sm-home-fit-checker .sm-home-fit__form .sm-system-picker__trigger:disabled,
#sm-fit-checker .sm-fit__form .sm-system-picker__trigger:disabled {
  border-color: #cfcfcf !important;
  background: #f1f1f1 !important;
  color: #777 !important;
  cursor: not-allowed;
}

.sm-system-picker__thumb {
  display: none !important;
}

.sm-system-picker__value {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
}

.sm-system-picker__value strong,
.sm-system-picker__value small {
  display: block;
}

.sm-system-picker__value strong {
  color: #222;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}

.sm-system-picker__value small {
  display: none;
}

.sm-system-picker__chevron {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  position: absolute;
  right: 14px;
  margin: -4px 0 0;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

.ec-store__category-page--39980905 .sm-system-picker__label {
  margin-bottom: 6px;
  font-size: 14px;
}

#sm-fit-checker .sm-fit__form .sm-system-picker__trigger {
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 36px 0 12px !important;
  border-color: #b9c0c7 !important;
  border-radius: 8px !important;
}

#sm-fit-checker.sm-fit--apim .sm-system-picker__value strong {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}

#sm-fit-checker.sm-fit--apim .sm-system-picker__chevron {
  display: none !important;
}

#sm-fit-checker.sm-fit--apim .sm-system-picker__trigger::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 0;
  height: 0;
  margin-top: -2px;
  border-top: 5px solid currentColor;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  pointer-events: none;
}

.ec-store__category-page--39980905 .sm-system-picker__value strong {
  font-size: 16px;
}

.ec-store__category-page--39980905 .sm-system-picker__chevron {
  width: 0;
  height: 0;
  top: 50%;
  right: 14px;
  margin: -2px 0 0;
  border-top: 5px solid currentColor !important;
  border-right: 4px solid transparent !important;
  border-bottom: 0 !important;
  border-left: 4px solid transparent !important;
  transform: none !important;
}

.sm-system-dialog {
  width: min(760px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: #222;
  box-shadow: 0 20px 65px rgba(0, 0, 0, 0.28);
}

.sm-system-dialog::backdrop {
  background: rgba(18, 22, 27, 0.58);
  backdrop-filter: blur(2px);
}

.sm-system-dialog__panel {
  box-sizing: border-box;
  padding: 24px;
}

.sm-system-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.sm-system-dialog__header h3 {
  margin: 0;
  color: #222;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}

.sm-system-dialog__header p {
  margin: 5px 0 0;
  color: #616871;
  font-size: 14px;
  line-height: 1.4;
}

.sm-system-dialog__close {
  display: inline-flex !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  align-items: center;
  justify-content: center;
  margin: -5px -5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #eef0f2 !important;
  color: #222 !important;
  box-shadow: none !important;
  font: 400 27px/1 Arial, sans-serif !important;
  cursor: pointer;
}

.sm-system-picker__choices {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.sm-system-dialog .sm-system-card {
  position: relative;
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 2px solid #d4d7db !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #222 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  font: inherit !important;
  text-align: left !important;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.sm-system-dialog .sm-system-card:hover {
  border-color: #9fa5ac !important;
  background: #fff !important;
  transform: translateY(-1px);
}

.sm-system-card img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  object-position: center;
  background: #e8eaec;
}

.sm-system-card > span {
  display: block;
  min-width: 0;
  padding: 8px 9px 9px;
}

.sm-system-card strong,
.sm-system-card small {
  display: block;
}

.sm-system-card strong {
  color: #222;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.sm-system-card small {
  margin-top: 2px;
  color: #68707a;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.25;
}

.sm-system-dialog .sm-system-card.is-selected {
  border-color: #f15a24 !important;
  box-shadow: 0 0 0 2px rgba(241, 90, 36, 0.16);
}

.sm-system-card.is-selected::after {
  content: "✓";
  position: absolute;
  top: 7px;
  right: 7px;
  display: inline-flex;
  width: 23px;
  height: 23px;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #f15a24;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

@media (max-width: 640px) {
  #sm-home-fit-checker .sm-home-fit__form .sm-system-picker__trigger {
    height: 42px !important;
    min-height: 42px !important;
  }

  .sm-system-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 14px;
  }

  .sm-system-dialog__panel {
    padding: 18px 14px 16px;
  }

  .sm-system-dialog__header {
    margin-bottom: 14px;
  }

  .sm-system-dialog__header h3 {
    font-size: 19px;
  }

  .sm-system-dialog__header p {
    font-size: 12px;
  }

  .sm-system-picker__choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .sm-system-card > span {
    padding: 7px 8px 8px;
  }

  .sm-system-card strong {
    font-size: 12px;
  }

  .sm-system-card small {
    font-size: 10px;
  }
}

/* Compact FAQ launcher and modal for the Sync 2 to Sync 3 landing page. */
.ec-store__category-page--39980905 .sm-faq-launcher {
  display: flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-sizing: border-box;
  margin: 0 0 16px !important;
  padding: 10px 14px;
  border: 1px solid #d7d7d7;
  border-radius: 8px;
  background: #f3f3f3;
  color: #222;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
}

.ec-store__category-page--39980905 .sm-faq-launcher:hover {
  background: #e9e9e9;
}

.ec-store__category-page--39980905 .sm-faq-launcher__icon {
  display: inline-flex;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #222 !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

html.sm-faq-modal-open {
  overflow: hidden !important;
}

.sm-faq-dialog {
  box-sizing: border-box;
  width: min(720px, calc(100vw - 32px));
  max-height: min(86dvh, 780px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #222;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.28);
}

.sm-faq-dialog::backdrop {
  background: rgba(0, 0, 0, 0.48);
}

.sm-faq-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid #dedede;
}

.sm-faq-dialog__header h2 {
  margin: 0;
  color: #222;
  font-size: 21px;
  line-height: 1.3;
}

.sm-faq-dialog__close {
  display: inline-flex;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f1f1;
  color: #222;
  cursor: pointer;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
}

.sm-faq-dialog__body {
  box-sizing: border-box;
  max-height: calc(min(86dvh, 780px) - 67px);
  padding: 16px;
  overflow: auto;
  overscroll-behavior: contain;
}

.sm-faq-dialog .sm-upgrade-single-column {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.sm-faq-dialog .sm-upgrade-single-card {
  margin: 0 0 9px !important;
  text-align: left !important;
}

.sm-faq-dialog .sm-upgrade-single-card:last-child {
  margin-bottom: 0 !important;
}

.sm-faq-dialog .sm-upgrade-single-card summary {
  padding: 12px 14px !important;
  text-align: left !important;
}

.sm-faq-dialog .sm-upgrade-single-card section > div {
  padding: 15px 15px 2px !important;
  text-align: left !important;
}

/* Keep the eligibility reminder visible without taking over the page. */
.ec-store__category-page--39980905 .sm-support-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  margin: 0 !important;
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  text-align: left !important;
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] > span:first-child {
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  font-size: 17px !important;
  transform: translateX(8px);
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] > span:last-child > strong {
  margin: 0 0 1px !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] > span:last-child {
  flex: 1 1 auto !important;
  text-align: center !important;
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] > span:last-child > span {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] > span:last-child > span:not(.sm-eligibility-contact) {
  display: inline !important;
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] .sm-eligibility-contact {
  display: inline !important;
  margin: 0 !important;
  color: #555 !important;
  font-weight: 400 !important;
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] span.sm-eligibility-contact::before {
  content: " ";
}

.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] a.sm-eligibility-contact,
.ec-store__category-page--39980905 [role="note"][aria-label="Vehicle upgrade eligibility"] .sm-eligibility-contact a {
  color: inherit !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.ec-store__category-page--39980905 .sm-contact-card {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid #dedede;
  border-left: 4px solid #222;
  border-radius: 8px;
  background: #f7f7f7;
  color: #222 !important;
  font-size: 15px;
  line-height: 1.3;
  text-decoration: none !important;
}

.ec-store__category-page--39980905 .sm-contact-card:hover {
  background: #eeeeee;
}

.ec-store__category-page--39980905 .sm-contact-card__icon {
  display: inline-flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #222 !important;
  color: #fff !important;
}

.ec-store__category-page--39980905 .sm-contact-card__icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

@media (max-width: 560px) {
  .ec-store__category-page--39980905 .sm-faq-launcher {
    margin-bottom: 9px !important;
  }

  .ec-store__category-page--39980905 .sm-support-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .sm-faq-dialog {
    width: calc(100vw - 20px);
    max-height: 90dvh;
    border-radius: 10px;
  }

  .sm-faq-dialog__header {
    padding: 14px;
  }

  .sm-faq-dialog__header h2 {
    font-size: 19px;
  }

  .sm-faq-dialog__body {
    max-height: calc(90dvh - 63px);
    padding: 12px;
  }
}

html.sm-product-options-active .details-product-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 22px !important;
}

.details-product-options > .sm-prefill-notice {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 6px !important;
  padding: 14px 15px !important;
  color: #26352b !important;
  background: #eef8f1 !important;
  border: 1px solid #bddac7 !important;
  border-left: 4px solid #2f8f4e !important;
  border-radius: 8px !important;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 2px 7px rgba(24, 80, 45, 0.08) !important;
}

.details-product-options > .sm-prefill-notice::before {
  content: "✓";
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
  background: #2f8f4e;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.details-product-options > .sm-prefill-notice strong {
  display: block;
  color: #1e2c23;
  font-size: 15px;
  line-height: 1.35;
}

.details-product-options > .sm-prefill-notice .sm-prefill-notice__copy {
  display: block;
  min-width: 0;
}

.details-product-options > .sm-prefill-notice .sm-prefill-notice__copy > span {
  display: block;
  margin-top: 2px;
}

html.sm-product-options-active .sm-po-section-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 0;
  color: #202124;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.35;
}

html.sm-product-options-active .sm-po-section-heading:first-child {
  margin-top: 0;
}

html.sm-product-options-active .sm-po-section-intro {
  margin: -5px 0 2px !important;
  color: #626a73 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Ecwid currently requests white PayPal Pay Later text on the white page. */
html.sm-product-options-active .ec-paypal-pay-later-message {
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  background: #173b63 !important;
}

html.sm-product-options-active .sm-po-section-intro::before {
  content: "Choose your vehicle details, then add only the upgrades you want.";
}

html.sm-product-options-active .sm-po-step-number {
  display: inline-flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f15a24;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
}

html.sm-product-options-active .details-product-option.sm-po-card {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid #dfe3e8 !important;
  border-radius: 10px !important;
  background: #fff !important;
}

html.sm-product-options-active .details-product-option.sm-po-card[data-sm-po-kind="required"] {
  border-left: 4px solid #f15a24 !important;
}

html.sm-product-options-active .details-product-option.sm-po-card[data-sm-po-kind="optional"] {
  background: #f7f9fb !important;
}

html.sm-product-options-active .details-product-option.sm-po-card[data-sm-po-kind="conditional"] {
  border-left: 1px solid #dfe3e8 !important;
  background: #f7f9fb !important;
}

html.sm-product-options-active .sm-po-title-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 8px !important;
}

html.sm-product-options-active .sm-po-title-row .details-product-option__title {
  flex: 1 1 auto !important;
  margin: 0 !important;
  color: #202124 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
}

html.sm-product-options-active .details-product-option:not(.sm-po-has-title-row) .details-product-option__title {
  margin-bottom: 8px !important;
  color: #202124 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
}

html.sm-product-options-active .details-product-option[data-sm-note="vehicle"] .details-product-option__title::after,
html.sm-product-options-active .details-product-option[data-sm-note="vin"] .details-product-option__title::after,
html.sm-product-options-active .details-product-option[data-sm-note="display"] .details-product-option__title::after,
html.sm-product-options-active .details-product-option[data-sm-note="connectivity"] .details-product-option__title::after,
html.sm-product-options-active .details-product-option[data-sm-note="vin-photo"] .details-product-option__title::after {
  display: block;
  margin-top: 3px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
}

html.sm-product-options-active .details-product-option[data-sm-note="vehicle"] .details-product-option__title::after {
  content: "Your required display type is shown beside your vehicle model in the menu.";
}

html.sm-product-options-active .details-product-option[data-sm-note="vin"] .details-product-option__title::after {
  content: "Used to program the system for your exact vehicle";
}

html.sm-product-options-active .details-product-option[data-sm-note="vin-photo"] .details-product-option__title::after {
  content: "Optional, but helps prevent delays caused by typos";
}

html.sm-product-options-active .details-product-option[data-sm-note="display"] .details-product-option__title::after {
  width: 100%;
  content: 'Optional 8.46" Sync 4 HD display upgrade available';
}

html.sm-product-options-active .details-product-option[data-sm-note="connectivity"] .details-product-option__title::after {
  width: 100%;
  content: "Check out our USB-C hub upgrade with built-in wireless Apple CarPlay and Android Auto, plus 30W fast charging";
}

html.sm-product-options-active .details-product-option[data-sm-note="display"] .details-product-option__title,
html.sm-product-options-active .details-product-option[data-sm-note="connectivity"] .details-product-option__title {
  display: block !important;
  min-width: 0 !important;
  position: relative !important;
  padding-right: 38px !important;
}

html.sm-product-options-active .details-product-option[data-sm-note="display"] .details-product-option__title > .sm-po-help-button,
html.sm-product-options-active .details-product-option[data-sm-note="connectivity"] .details-product-option__title > .sm-po-help-button {
  position: absolute !important;
  top: -1px !important;
  right: 0 !important;
  margin: 0 !important;
}

html.sm-product-options-active .sm-po-help-button {
  display: inline-flex !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: -1px 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f15a24 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

/* Keep long option titles and their help buttons on the same row. */
html.sm-product-options-active .details-product-option__title:has(> .sm-po-help-button) {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

html.sm-product-options-active .details-product-option__title > .sm-po-help-button {
  flex: 0 0 24px !important;
  margin: -1px 0 0 auto !important;
}

html.sm-product-options-active .sm-po-help-button:hover {
  background: #d94b18 !important;
}

html.sm-product-options-active .sm-po-help-button:focus-visible {
  outline: 3px solid rgba(241, 90, 36, 0.28) !important;
  outline-offset: 2px !important;
}

html.sm-product-options-active .details-product-option select,
html.sm-product-options-active .details-product-option input[type="text"],
html.sm-product-options-active .details-product-option input[type="email"],
html.sm-product-options-active .details-product-option input[type="tel"],
html.sm-product-options-active .details-product-option textarea,
html.sm-product-options-active .details-product-option .form-control__select,
html.sm-product-options-active .details-product-option .form-control__text,
html.sm-product-options-active .details-product-option .form-control__textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 8px !important;
}

html.sm-product-options-active .details-product-option textarea,
html.sm-product-options-active .details-product-option .form-control__textarea {
  min-height: 96px !important;
}

html.sm-product-options-active .details-product-option select:focus,
html.sm-product-options-active .details-product-option input:focus,
html.sm-product-options-active .details-product-option textarea:focus,
html.sm-product-options-active .details-product-option .form-control__select:focus-within,
html.sm-product-options-active .details-product-option .form-control__text:focus-within,
html.sm-product-options-active .details-product-option .form-control__textarea:focus-within {
  border-color: #f15a24 !important;
  outline: 3px solid rgba(241, 90, 36, 0.18) !important;
  outline-offset: 1px !important;
}

html.sm-product-options-active .details-product-option input[type="file"] {
  max-width: 100% !important;
}

.sm-fitment-alert {
  display: inline-flex !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f15a24 !important;
  color: #fff !important;
  font: 800 14px/1 Arial, sans-serif !important;
  cursor: pointer;
  box-shadow: none !important;
  appearance: none;
}

.sm-fitment-alert:hover,
.sm-fitment-alert:focus-visible {
  background: #d94a1f !important;
}

.sm-fitment-alert:focus-visible {
  outline: 3px solid rgba(241, 90, 36, 0.25);
  outline-offset: 2px;
}

.sm-fitment-dialog .sm-po-dialog__body a {
  color: #d94a1f !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

.sm-fitment-dialog .sm-po-dialog__body p:last-child {
  margin-bottom: 0;
}

html.sm-po-modal-open {
  overflow: hidden !important;
}

.sm-po-dialog {
  box-sizing: border-box;
  width: min(560px, calc(100vw - 32px));
  max-height: min(760px, calc(100dvh - 32px));
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  color: #202124;
}

.sm-po-dialog::backdrop {
  background: rgba(15, 23, 42, 0.58);
}

.sm-po-dialog[open] {
  animation: smPoDialogIn 160ms ease-out;
}

.sm-po-dialog__header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 20px 14px;
  border-bottom: 1px solid #e7e9ed;
}

.sm-po-dialog__title {
  flex: 1 1 auto;
  margin: 0;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.3;
}

.sm-po-dialog__close {
  display: inline-flex;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  margin: -7px -7px 0 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f3f5;
  color: #202124;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.sm-po-dialog__body {
  padding: 18px 20px 22px;
  font-size: 16px;
  line-height: 1.55;
}

.sm-po-dialog__body p {
  margin: 0 0 14px;
}

.sm-po-dialog__body ul {
  margin: 0 0 14px;
  padding-left: 22px;
}

.sm-po-dialog__body li + li {
  margin-top: 9px;
}

.sm-po-dialog__body strong,
.sm-po-dialog__body b {
  color: #111827;
}

.sm-po-dialog__body .sm-po-copy {
  display: none;
}

.sm-po-dialog[data-help="d"] .sm-po-copy:nth-child(1),
.sm-po-dialog[data-help="s"] .sm-po-copy:nth-child(-n + 3),
.sm-po-dialog[data-help="c"] .sm-po-copy:nth-child(-n + 3),
.sm-po-dialog[data-help="v"] .sm-po-copy:nth-child(1),
.sm-po-dialog[data-help="u"] .sm-po-copy:nth-child(-n + 3),
.sm-po-dialog[data-help="r"] .sm-po-copy:nth-child(1) {
  display: block;
}

.sm-po-dialog[data-help="d"] .sm-po-copy:nth-child(1) {
  font-weight: 400;
}

.sm-po-dialog[data-help="d"] .sm-po-copy:nth-child(1) span::before {
  content: "Choose the display type indicated next to your vehicle model that you selected above. If you're still unsure please refer to the screen fitment guide in the product description.";
}

.sm-po-dialog[data-help="s"] .sm-po-copy:nth-child(1) b::before {
  content: "SimplyCare: ";
}

.sm-po-dialog[data-help="s"] .sm-po-copy:nth-child(1) span::before {
  content: "Adds an additional 2 years to the included warranty for a total of 3 years.";
}

.sm-po-dialog[data-help="s"] .sm-po-copy:nth-child(2) b::before {
  content: "SimplyCare+: ";
}

.sm-po-dialog[data-help="s"] .sm-po-copy:nth-child(2) span::before {
  content: "Includes the additional warranty plus upgrades your shipping speed to UPS Ground, includes a tempered glass screen protector and you get two free software/maps updates.";
}

.sm-po-dialog[data-help="s"] .sm-po-copy:nth-child(3) span::before {
  content: "Please review the SimplyCare section in the product description for more information.";
}

.sm-po-dialog[data-help="c"] .sm-po-copy:nth-child(1) b::before {
  content: "USB-C Upgrade with built-in Wireless Apple CarPlay and Android Auto: ";
}

.sm-po-dialog[data-help="c"] .sm-po-copy:nth-child(1) span::before {
  content: "Includes a USB-C and USB-A port, has wireless connectivity built in and it also fast charges your device at 30W. No dongle/adapter needed.";
}

.sm-po-dialog[data-help="c"] .sm-po-copy:nth-child(2) b::before {
  content: "Ford OEM USB-C Hub: ";
}

.sm-po-dialog[data-help="c"] .sm-po-copy:nth-child(2) span::before {
  content: "Authentic Ford OEM USB-C hub which includes a USB-C and USB-A port, charges at normal speed, includes custom bezel. Select vehicles only, not all vehicles are eligible, please check compatibility.";
}

.sm-po-dialog[data-help="c"] .sm-po-copy:nth-child(3) b::before {
  content: "Wireless Apple CarPlay/Android Auto USB Adapter: ";
}

.sm-po-dialog[data-help="c"] .sm-po-copy:nth-child(3) span::before {
  content: "Plugs into your USB port and provides wireless functionality.";
}

.sm-po-dialog[data-help="v"] .sm-po-copy:nth-child(1) span::before {
  content: "By adding additional programming you're confirming that you also read our 4\" to 8\" conversion overview on our support website and understand the entire process. Includes additional programming for ACM, FCIM and/or HVAC modules - FORScan needed. This is for additional programming only; no additional hardware included.";
}

.sm-po-dialog[data-help="u"] .sm-po-copy:nth-child(1) b::before {
  content: "8\" Sync 3 System: ";
}

.sm-po-dialog[data-help="u"] .sm-po-copy:nth-child(1) span::before {
  content: "Select the standard 8\" to 12\" kit, nothing else is needed.";
}

.sm-po-dialog[data-help="u"] .sm-po-copy:nth-child(2) b::before {
  content: "4\" Base Sync 3 System: ";
}

.sm-po-dialog[data-help="u"] .sm-po-copy:nth-child(2) span::before {
  content: "Select one of the two Sync 3 (4\") upgrade kits. FORScan is required.";
}

.sm-po-dialog[data-help="u"] .sm-po-copy:nth-child(3) b::before {
  content: "2015 F-150 with Sync 2: ";
}

.sm-po-dialog[data-help="u"] .sm-po-copy:nth-child(3) span::before {
  content: "Select one of the two Sync 3 (8\") upgrade kits. FORScan is not required.";
}

.sm-po-dialog[data-help="r"] .sm-po-copy:nth-child(1) span::before {
  content: "Send us a photo of your dash via e-mail and we'll advise you on the correct color to choose";
}

.sm-po-dialog__note {
  margin-top: 16px !important;
  padding: 13px 14px;
  border-left: 4px solid #f15a24;
  border-radius: 8px;
  background: #fff7ed;
}

.sm-po-dialog__link {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 2px;
  padding: 10px 17px;
  border-radius: 999px;
  background: #202124;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
}

.sm-po-dialog[data-help="v"] .sm-po-dialog__link {
  display: inline-flex;
}

html.sm-product-options-active .sm-po-required-note {
  margin: 9px 0 0 !important;
  padding-left: 9px !important;
  border-left: 3px solid #f15a24 !important;
  color: #626a73 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

html.sm-product-options-active .sm-po-required-note::before {
  content: "Required selections are marked with an orange accent.";
}

@keyframes smPoDialogIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 600px) {
  html.sm-product-options-active .details-product-option.sm-po-card {
    padding: 13px !important;
  }

  .sm-po-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 14px;
  }

  .sm-po-dialog__header {
    padding: 18px 17px 13px;
  }

  .sm-po-dialog__body {
    padding: 16px 17px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sm-po-dialog[open] {
    animation: none;
  }
}

/* Match the kit contents container to the soft gray disclosure cards. */
.product-details__product-description [aria-label="Kit contents"] {
  background: #f2f3f4 !important;
  border: 1px solid #e1e3e5 !important;
  border-left: 1px solid #e1e3e5 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Keep the 12-inch cross-sell understated; the ACM warning below stays orange. */
.product-details__product-description #sm-12-inch-upgrade-ad {
  background: #f2f3f4 !important;
  border: 1px solid #dfe2e5 !important;
  border-left: 1px solid #dfe2e5 !important;
  box-shadow: none !important;
}

.product-details__product-description #sm-12-inch-upgrade-ad > summary {
  background: #f2f3f4 !important;
}

.product-details__product-description #sm-12-inch-upgrade-ad > summary > span:last-child > span:first-child {
  color: #555 !important;
}

.product-details__product-description #sm-12-inch-upgrade-ad > summary > span:last-child > span[aria-hidden="true"] {
  background: #444 !important;
  border-color: #444 !important;
  color: #fff !important;
}

.product-details__product-description #sm-12-inch-upgrade-ad > section > div {
  border-top-color: #dfe2e5 !important;
}

.product-details__product-description #sm-12-inch-upgrade-ad > section > div > div {
  background: #f2f3f4 !important;
}

.product-details__product-description #sm-12-inch-upgrade-ad > section > div > div > a {
  background: #444 !important;
  border-color: #444 !important;
  color: #fff !important;
}

/* Unified gray product-description disclosure cards. */
.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] {
  background: #f2f3f4 !important;
  border: 1px solid #e1e3e5 !important;
  border-left: 1px solid #e1e3e5 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

html body .product-details__product-description details.sm-text-disclosure,
html body .product-details__product-description details.sm-text-disclosure[open] {
  background: #f2f3f4 !important;
  border: 1px solid #e1e3e5 !important;
  border-left: 1px solid #e1e3e5 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary {
  position: relative !important;
  display: block !important;
  min-height: 58px !important;
  padding: 10px 112px 10px 16px !important;
  background: #f2f3f4 !important;
  border: 0 !important;
  color: #222 !important;
  line-height: 1.25 !important;
  list-style: none !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary,
html body .product-details__product-description details.sm-text-disclosure[open] > summary {
  position: relative !important;
  display: block !important;
  min-height: 58px !important;
  padding: 10px 112px 10px 16px !important;
  background: #f2f3f4 !important;
  background-image: none !important;
  border: 0 !important;
  color: #222 !important;
  line-height: 1.25 !important;
  list-style: none !important;
  list-style-type: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

html body .product-details__product-description details.sm-text-disclosure--plain > summary,
html body .product-details__product-description details.sm-text-disclosure--plain[open] > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary::-webkit-details-marker {
  display: none !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary::marker {
  content: "" !important;
  display: none !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary::-webkit-details-marker,
html body .product-details__product-description details.sm-text-disclosure[open] > summary::-webkit-details-marker {
  display: none !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary::marker,
html body .product-details__product-description details.sm-text-disclosure[open] > summary::marker {
  content: "" !important;
  display: none !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary::before,
html body .product-details__product-description details.sm-text-disclosure > summary::after,
html body .product-details__product-description details.sm-text-disclosure[open] > summary::before,
html body .product-details__product-description details.sm-text-disclosure[open] > summary::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary::after {
  content: none !important;
  position: absolute !important;
  inset: auto 12px auto auto !important;
  top: 50% !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
  display: none !important;
  float: none !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  box-sizing: border-box !important;
  transform: translateY(-50%) !important;
  background: #333 !important;
  background-image: none !important;
  border: 1px solid #333 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  color: #fff !important;
  opacity: 1 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  clip: auto !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.product-details__product-description details[open][style*="border-left:3px solid #9a9a9a"] > summary::after {
  content: none !important;
  display: none !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 6px 9px !important;
  background: #333 !important;
  border: 1px solid #333 !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.product-details__product-description .sm-text-disclosure > summary > .sm-disclosure-action {
  position: absolute !important;
  inset: auto 12px auto auto !important;
  top: 50% !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
  display: inline-flex !important;
  float: none !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  box-sizing: border-box !important;
  transform: translateY(-50%) !important;
  background: #333 !important;
  background-image: none !important;
  border: 1px solid #333 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  clip: auto !important;
  -webkit-mask: none !important;
  mask: none !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary > .sm-disclosure-action,
html body .product-details__product-description details.sm-text-disclosure[open] > summary > .sm-disclosure-action {
  position: absolute !important;
  inset: auto 12px auto auto !important;
  top: 50% !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
  display: inline-flex !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  transform: translateY(-50%) !important;
  background: #333 !important;
  border: 1px solid #333 !important;
  border-radius: 6px !important;
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary > .sm-disclosure-preview-row,
html body .product-details__product-description details.sm-text-disclosure[open] > summary > .sm-disclosure-preview-row {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary > .sm-disclosure-title,
html body .product-details__product-description details.sm-text-disclosure[open] > summary > .sm-disclosure-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #222 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

html body .product-details__product-description details.sm-text-disclosure > summary .sm-disclosure-preview,
html body .product-details__product-description details.sm-text-disclosure[open] > summary .sm-disclosure-preview {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: #666 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 42px), transparent 100%) !important;
  mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 42px), transparent 100%) !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary span {
  line-height: 1.25 !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary > span[style*="margin:0"] {
  margin-top: 2px !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary span[style*="border-radius:999px"],
.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary > span[style*="display:flex"] > span:last-child,
.product-details__product-description details[open][style*="border-left:3px solid #9a9a9a"] > summary span[style*="border-radius:999px"],
.product-details__product-description details[open][style*="border-left:3px solid #9a9a9a"] > summary > span[style*="display:flex"] > span:last-child {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

.product-details__product-description .sm-text-disclosure > summary .sm-disclosure-legacy-action {
  display: none !important;
  visibility: hidden !important;
}

.product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > section > div {
  background: #fff !important;
  border-top: 1px solid #e1e3e5 !important;
}

/* Keep the orange disclosures compact without changing their emphasis. */
.product-details__product-description details > summary[style*="background:#fff7ed"] {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  line-height: 1.2 !important;
}

.product-details__product-description details > summary[style*="background:#fff7ed"] span {
  line-height: 1.2 !important;
}

.product-details__product-description details > summary[style*="background:#fff7ed"] > span[style*="margin:4px"] {
  margin-top: 0 !important;
}

@media (max-width: 480px) {
  .product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary {
    min-height: 54px !important;
    padding: 9px 100px 9px 13px !important;
  }

  .product-details__product-description details[style*="border-left:3px solid #9a9a9a"] > summary::after {
    inset: auto 9px auto auto !important;
    top: 50% !important;
    right: 9px !important;
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
  }

  .product-details__product-description details[open][style*="border-left:3px solid #9a9a9a"] > summary::after {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
  }

  .product-details__product-description .sm-text-disclosure > summary > .sm-disclosure-action {
    inset: auto 9px auto auto !important;
    top: 50% !important;
    right: 9px !important;
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
  }

  html body .product-details__product-description details.sm-text-disclosure > summary,
  html body .product-details__product-description details.sm-text-disclosure[open] > summary {
    min-height: 54px !important;
    padding: 9px 100px 9px 13px !important;
  }

  html body .product-details__product-description details.sm-text-disclosure > summary > .sm-disclosure-action,
  html body .product-details__product-description details.sm-text-disclosure[open] > summary > .sm-disclosure-action {
    inset: auto 9px auto auto !important;
    top: 50% !important;
    right: 9px !important;
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 5px 7px !important;
    font-size: 11px !important;
  }
}

/* Compact product-upgrade cards and detail dialogs.
   The increased specificity and important declarations prevent Ecwid's
   product-description defaults from flattening the card layout. */
.product-details__product-description .sm-upgrade-cards {
  display: grid !important;
  gap: 10px !important;
  margin: 16px 0 0 !important;
}

.product-details__product-description article.sm-upgrade-card {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
  background: #f2f3f4 !important;
  border: 1px solid #e1e3e5 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.product-details__product-description .sm-upgrade-card__image {
  display: flex !important;
  width: 112px !important;
  height: 88px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #e2e2e2 !important;
  border-radius: 9px !important;
  box-sizing: border-box !important;
}

.product-details__product-description .sm-upgrade-card__image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
}

.product-details__product-description .sm-upgrade-card__copy {
  display: block !important;
  min-width: 0 !important;
  color: #616161 !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
}

.product-details__product-description .sm-upgrade-card__copy strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #222 !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
}

.product-details__product-description button.sm-upgrade-card__button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: #333 !important;
  border: 1px solid #333 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.product-details__product-description button.sm-upgrade-card__button:hover {
  background: #111 !important;
  border-color: #111 !important;
}

dialog.sm-upgrade-modal {
  position: fixed !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  display: none !important;
  width: min(680px, calc(100vw - 28px)) !important;
  max-width: 680px !important;
  height: max-content !important;
  min-height: 0 !important;
  max-height: min(82vh, 760px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.28) !important;
  color: #222 !important;
  box-sizing: border-box !important;
  transform: translate(-50%, -50%) !important;
}

dialog.sm-upgrade-modal[open] {
  display: block !important;
}

dialog.sm-upgrade-modal::backdrop {
  background: rgba(18, 18, 18, 0.58) !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 18px 20px 15px !important;
  background: #f2f3f4 !important;
  border-bottom: 1px solid #dedede !important;
  box-sizing: border-box !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__title {
  margin: 0 !important;
  color: #222 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
}

dialog.sm-upgrade-modal button.sm-upgrade-modal__close {
  display: inline-flex !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: -4px -5px 0 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  color: #222 !important;
  font: inherit !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__body {
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(82vh - 72px) !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  overflow: auto !important;
  color: #222 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  box-sizing: border-box !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__body p {
  margin: 0 0 14px !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__body p:last-child {
  margin-bottom: 0 !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__image {
  display: flex !important;
  width: min(260px, 100%) !important;
  height: 180px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 14px !important;
  padding: 6px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #e2e2e2 !important;
  border-radius: 9px !important;
  box-sizing: border-box !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
}

dialog.sm-upgrade-modal .sm-upgrade-compatibility-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin: 16px 0 0 !important;
  overflow: hidden !important;
  background: #dcdfe2 !important;
  border: 1px solid #dcdfe2 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

dialog.sm-upgrade-modal .sm-upgrade-compatibility-grid > div {
  display: flex !important;
  min-width: 0 !important;
  min-height: 54px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}

dialog.sm-upgrade-modal .sm-upgrade-modal__body a {
  color: #d94a1f !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

@media (max-width: 560px) {
  .product-details__product-description article.sm-upgrade-card {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 10px 12px !important;
    padding: 10px !important;
  }

  .product-details__product-description .sm-upgrade-card__image {
    grid-row: 1 / span 2 !important;
    width: 86px !important;
    height: 82px !important;
  }

  .product-details__product-description .sm-upgrade-card__copy {
    font-size: 13px !important;
    line-height: 1.38 !important;
  }

  .product-details__product-description .sm-upgrade-card__copy strong {
    font-size: 16px !important;
  }

  .product-details__product-description button.sm-upgrade-card__button {
    grid-column: 2 !important;
    justify-self: end !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
  }

  dialog.sm-upgrade-modal .sm-upgrade-modal__header {
    padding: 16px 17px 13px !important;
  }

  dialog.sm-upgrade-modal .sm-upgrade-modal__title {
    font-size: 19px !important;
  }

  dialog.sm-upgrade-modal .sm-upgrade-modal__body {
    padding: 16px 17px !important;
    font-size: 15px !important;
  }

  dialog.sm-upgrade-modal .sm-upgrade-modal__image {
    width: min(220px, 100%) !important;
    height: 150px !important;
    margin-bottom: 14px !important;
  }

  dialog.sm-upgrade-modal .sm-upgrade-compatibility-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  dialog.sm-upgrade-modal .sm-upgrade-compatibility-grid > div {
    min-height: 48px !important;
    padding: 8px 9px !important;
    font-size: 12px !important;
  }
}


/* Hand-drawn marker behind the checkout referral question. */
/* q79lne6 is the live "How did you first hear about us?" field. */
.ec-size .ec-form__cell--q79lne6 > .ec-form__title {
  position: relative;
  isolation: isolate;
  width: fit-content;
  max-width: 100%;
}

.ec-size .ec-form__cell--q79lne6 > .ec-form__title::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0.16em -0.22em 0.02em -0.18em;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 36' preserveAspectRatio='none'%3E%3Cpath d='M4 9 Q72 5 137 7 T268 5 L396 3 L393 28 Q337 32 272 29 T138 32 L2 30 Z' fill='%23ffe54f' fill-opacity='.65'/%3E%3Cpath d='M8 12 L105 9 Q195 12 287 7 L399 8 L395 30 L302 28 Q200 34 103 30 L5 33 Z' fill='%23ffe54f' fill-opacity='.38'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  transform: rotate(-0.65deg);
}
