/* Homepage-only presentation. Load after style.css. */
.content-card img {
  height: auto;
}

.home-hero {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  padding: 0;
  background: #10271b;
}

.home-hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #10271bf0 0%, #10271bd6 36%, #10271b66 68%, transparent 100%);
}

.home-hero-copy {
  position: relative;
  z-index: 1;
  padding: 84px 6vw;
}

.home-hero .text-link {
  color: #fff;
  border-bottom-color: #ffffffaa;
}

.home-hero.products-hero::after {
  background: linear-gradient(90deg, #10271be8 0%, #10271bb8 28%, #10271b55 52%, transparent 72%);
}

.home-hero.products-hero .home-hero-media {
  object-position: right center;
}

@media (max-width: 560px) {
  .home-hero {
    min-height: 480px;
  }

  .home-hero-copy {
    padding: 60px 22px;
  }
}

/* Products index cards: isolated from home and category pages. */
.products-index-page .product-grid { 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 #tent-categories .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.products-index-page #featured-tents .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.products-index-page .product-grid .content-card { display:flex; flex-direction:column; min-width:0; }
.products-index-page .product-grid .content-card > a:first-child { display:block; position:relative; width:100%; aspect-ratio:4/3; flex-shrink:0; background:#fff; padding:14px; box-sizing:border-box; }
.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 { display:block; position:absolute; inset:0; padding:inherit; box-sizing:border-box; width:100%; height:100%; min-height:0; aspect-ratio:auto; object-fit:contain; object-position:center; }
.products-index-page #featured-furniture .content-card > a:first-child { padding:clamp(26px, 4vw, 58px); }
.products-index-page #featured-furniture .content-card:nth-child(2) > a:first-child { padding:clamp(22px, 3vw, 44px); }
.products-index-page .product-grid .content-card > h3 { flex-shrink:0; overflow-wrap:anywhere; }
.products-index-page .product-grid .content-card > p { flex:1; }
.products-index-page .product-grid .content-card > a:last-child:not(:first-child) { margin-top:auto; }
@media (max-width:1100px) {
 .products-index-page #tent-categories .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
 .products-index-page #featured-tents .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
 .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 .product-grid .content-card { padding:20px; }
}
