
/* Product index layout correction (page-scoped; does not affect other pages). */
.products-index-page main > .section {
  width: 100%;
  max-width: none;
  padding: clamp(56px, 5vw, 88px) max(24px, calc((100vw - 1320px) / 2));
  margin: 0;
}
.products-index-page main > .section .product-grid {
  width: 100%;
  margin: 0;
  gap: clamp(16px, 2vw, 26px);
  align-items: stretch;
}
.products-index-page #product-categories .product-grid,
.products-index-page #featured-furniture .product-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.products-index-page .product-grid > .content-card {
  min-width: 0;
  padding: clamp(16px, 2vw, 26px);
  height: 100%;
}
.products-index-page .product-grid .content-card > a:first-child {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  background: #fff;
  flex-shrink: 0;
}
.products-index-page #product-categories .content-card > a:first-child {
  aspect-ratio: 16 / 10;
}
.products-index-page .product-grid .content-card > a:first-child > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
  object-position: center;
  aspect-ratio: auto;
}
/* Lifestyle imagery fills the frame; isolated product photos remain uncropped. */
.products-index-page #product-categories .content-card:first-child > a:first-child > img,
.products-index-page #tent-categories .content-card > a:first-child > img,
.products-index-page #featured-tents .content-card > a:first-child > img {
  object-fit: cover;
}
.products-index-page #featured-furniture .content-card > a:first-child,
.products-index-page #featured-furniture .content-card:nth-child(2) > a:first-child {
  padding: 0;
}
.products-index-page .section h2 {max-width: 1050px; margin-bottom: 28px;}
.products-index-page .section .lede {max-width: 840px; margin-bottom: 32px;}
.products-index-page #product-categories .product-grid {margin-bottom: 48px;}
.products-index-page .content-card h3 {font-size: clamp(20px, 1.6vw, 25px);}
@media (max-width: 900px) {
  .products-index-page main > .section {padding: 64px 5vw;}
  .products-index-page #tent-categories .product-grid,
  .products-index-page #featured-tents .product-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 600px) {
  .products-index-page main > .section {padding: 48px 20px;}
  .products-index-page #product-categories .product-grid,
  .products-index-page #featured-furniture .product-grid,
  .products-index-page #tent-categories .product-grid,
  .products-index-page #featured-tents .product-grid {grid-template-columns: minmax(0,1fr);}
  .products-index-page .section h2 {font-size: clamp(30px, 9vw, 42px);}
  .products-index-page .section .lede {font-size: 16px;}
}
