/* Home-only featured edit, best sellers, card-free testimonial and second CTA. */
:root {
  --testimonial-copy-width: 850px;
  --testimonial-font: 2.05rem;
  --testimonial-quote-size: 5rem;
  --signature-cta-height: 500px;
  --signature-cta-copy-width: 520px;
}
.home-featured-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-9) var(--space-6);
}
.home-best {
  border-top: var(--border-width) solid var(--color-border);
}
.best-sellers-swiper {
  padding-bottom: var(--space-1);
}
.home-testimonials {
  border-block: var(--border-width) solid var(--color-border);
  text-align: center;
  background: var(--color-surface);
  overflow: hidden;
}
.home-testimonials > .site-container > .eyebrow {
  font-size: var(--font-xs);
  margin-bottom: var(--space-5);
}
.home-testimonials h2 {
  font-size: var(--font-h2);
  margin-bottom: var(--space-6);
}
.testimonials-swiper {
  max-width: var(--testimonial-copy-width);
  margin-inline: auto;
}
.testimonial-quote-mark {
  font-size: var(--testimonial-quote-size);
  line-height: 0.8;
  font-family: var(--font-heading);
  color: var(--color-primary);
  padding-top: var(--space-6);
}
.testimonials-swiper blockquote {
  padding: var(--space-0);
  margin: var(--space-4) var(--space-0) var(--space-7);
  border: var(--space-0);
  background: transparent;
}
.testimonials-swiper blockquote p {
  font-family: var(--font-heading);
  font-size: var(--testimonial-font);
  line-height: 1.65;
  margin: var(--space-0);
}
.testimonial-stars {
  display: flex;
  justify-content: center;
  gap: var(--space-1);
  color: var(--color-primary);
  font-size: var(--font-small);
  margin-bottom: var(--space-4);
}
.testimonial-author {
  font-size: var(--font-small);
  font-weight: var(--weight-strong);
  margin: var(--space-0);
}
.testimonial-author span {
  color: var(--color-muted);
  font-size: var(--font-xs);
  font-weight: var(--weight-body);
}
.signature-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-10);
  align-items: center;
}
.signature-cta-image img {
  width: var(--width-fluid);
  height: var(--signature-cta-height);
  object-fit: cover;
}
.signature-cta-copy {
  max-width: var(--signature-cta-copy-width);
}
.signature-cta-copy h2 {
  font-size: var(--font-h2);
  margin-bottom: var(--space-6);
}
.signature-cta-copy > p:not(.eyebrow) {
  font-size: var(--font-page-lead);
  color: var(--color-muted);
  line-height: 1.9;
  margin-bottom: var(--space-7);
}
@media (max-width: 767.98px) {
  :root {
    --testimonial-font: 1.65rem;
    --signature-cta-height: 350px;
  }
  .home-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-7) var(--space-3);
  }
  .signature-cta {
    grid-template-columns: 1fr;
    gap: var(--space-7);
  }
  .testimonial-author span {
    display: block;
    margin-top: var(--space-2);
  }
}

/* Swiper needs a constrained width when hosted inside flexible layouts. */
.home-best,
.home-featured,
.home-blog-section {
  min-width: var(--width-control-min);
}
.best-sellers-swiper,
.home-blog-swiper {
  width: var(--width-fluid);
  max-width: var(--width-fluid);
  min-width: var(--width-control-min);
  overflow: hidden;
}
.best-sellers-swiper > .swiper-wrapper > .swiper-slide,
.home-blog-swiper > .swiper-wrapper > .swiper-slide {
  height: auto;
  min-width: var(--width-control-min);
}
.best-sellers-swiper > .swiper-wrapper > .swiper-slide > .sf-product-card {
  height: 100%;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .home-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
