body,
h3,
h2,
p {
  font-family: 'Figtree', sans-serif;
  color: #1e1e1e;
}

[data-theme='ameliorate'] .usp-banner {
  background-color: #d4dde4;
}

[data-theme='ameliorate'] .strip-banner.stripBanner {
  background-color: #2d3d4a;

  span {
    text-transform: none;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
  }

  &:hover {
    color: #323e48;
    text-decoration: none;
    background-color: inherit;
  }

  &:focus {
    background-color: #323e48;
    text-decoration: underline;
    outline-offset: -4px;

    span {
      color: #ffffff;
    }
  }
}

[data-theme='ameliorate'] .footer-style {
  background: #fcfcfa;
}

[data-theme='ameliorate'] .footer-iconPlus {
  fill: #1E1E1E;
}

[data-theme='ameliorate'] .override-font-weight {
  font-weight: 500;
}

[data-theme='ameliorate'] #site-header-nav>*:hover {
  text-decoration: underline;
}

[data-theme='ameliorate'] .primary-banner-title {
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.5rem;
  color: #2d3d4a;
}

[data-theme='ameliorate'] .primary-banner-subtitle {
  font-size: 1.35rem;
  line-height: 1.85rem;
  color: #2d3d4a;
  line-height: 24px;
  margin-top: 12px;
}

[data-theme='ameliorate'] .override-border {
  border: none;
}

[data-theme='ameliorate'] .override-price-style {
  font-size: 18px;
  font-weight: 600;
}

[data-theme='ameliorate'] .carousel-tab {
  color: #1e1e1e;
  text-decoration: none;
}

[data-theme='ameliorate'] .global-primary-banner__ctas .btn {
  background-color: #2d3d4a;
  color: #fff;
}

[data-theme='ameliorate'] .pap-banner {
  width: auto;
}

[data-theme='ameliorate'] .landscape-product-item.recommendation-current-item {
  background-color: #f5f5f7;
  outline: none;
}

[data-theme='ameliorate'] .product-comparison-current-item {
  .product-comparison-card {
    background-color: #f5f5f7;
    outline: none;
  }
}

symbol#basket-plus>rect {
  fill: #323e48;
}

/* 1:1 assets — square desktop gallery tiles so the imagery fills the frame
   instead of letterboxing in the default 3:4 slide. Mobile keeps the fixed
   carousel height. */
@media (min-width: 1024px) {
  [data-theme='ameliorate'] .pdp-v2-slide {
    aspect-ratio: 1 / 1;
  }
}

[data-theme='ameliorate'] .pdp-v2-slide {
  background-color: #f3f4f6;
}

[data-theme='ameliorate'][data-subsite='en_US'] .pdp-v2-slide,
[data-theme='ameliorate'][data-subsite='en_US'] .pdp-v2-fbt-image,
[data-theme='ameliorate'][data-subsite='en_US'] .pdp-v2-fbt-carousel,
[data-theme='ameliorate'][data-subsite='en_US'] .pdp-v2-fbt-slide,
[data-theme='ameliorate'][data-subsite='en_US'] .pdp-v2-visual-swatch-carousel,
[data-theme='ameliorate'][data-subsite='en_US'] .pdp-v2-visual-swatch-slide {
  background-color: #ffffff;
}

[data-theme='ameliorate'] .pdp-v2-fbt-image {
  aspect-ratio: 1 / 1;
}

/* Specificity here overrides ModernImage's appended `object-cover` — this
   tenant's 1:1 assets letterbox in the sheet's portrait slide instead of
   being side-cropped, pinned to the top so the placeholder band sits below
   the image, not around it. Tenant-scoped on purpose: LF UK keeps the
   cover crop. */
[data-theme='ameliorate'] .pdp-v2-visual-swatch-carousel .pdp-v2-visual-swatch-slide img {
  object-fit: contain;
  object-position: top;
}

/* Centre the pips in that band, both axes. The 1:1 image ends 100cqw from the
   top, so the band spans 100cqw to 100cqh and its midpoint sits
   50cqh - 50cqw from the bottom; 5px is half the pip row's height. The 0.5rem
   floor keeps the pips on-screen if the carousel ever renders wider than tall
   (height-constrained image, no band). */
[data-theme='ameliorate'] .pdp-v2-visual-swatch-carousel {
  container-type: size;
}

[data-theme='ameliorate'] #pdp-v2-visual-swatch-carousel-pips {
  left: 50%;
  transform: translateX(-50%);
  bottom: max(calc(50cqh - 50cqw - 5px), 0.5rem);
}
