/* Product pages only. Visual source: designs/product-walls-concept-v2.png.
   The approved homepage layout and styles remain unchanged. */
.product-hero { gap:60px; padding:32px 0 43px; }
.product-hero h1 { font-size:clamp(43px,4.9vw,70px); line-height:1.04; }
.product-hero h1 em { color:#68765b; font-weight:400; }
.product-hero .subheading { font-size:14px; line-height:1.8; margin-top:22px; max-width:500px; }
.product-hero .actions { gap:24px; }
.product-hero .actions>.btn:first-child { font-family:MorrowSerif,Georgia,serif; font-size:20px; padding:12px 22px; }
.product-hero .actions>.btn.secondary { border:0; border-bottom:1px solid #8a9587; background:transparent; padding:10px 0; font-size:12px; }
.product-hero .actions>.btn.secondary .icon { display:none; }
.product-hero .inline-note { font-size:10px; margin-top:23px; }
.product-hero .product-wall { height:clamp(390px,36vw,490px); grid-template-columns:minmax(0,1fr) 31%; grid-template-rows:minmax(0,1fr); gap:9px; margin-left:0; }
.product-wall>.hero-main,.product-wall>.hero-side { height:100%; min-height:0; }
.product-wall .wall-photo { display:block; padding:0; border:0; background:none; width:100%; height:100%; min-width:0; min-height:0; overflow:hidden; }
.product-wall .photo { width:100%; height:100%; aspect-ratio:auto; border-radius:2px; }
.product-wall .hero-side { gap:8px; }
.product-wall .hero-side img { object-position:center 28%; }
.product-wall .hero-overlap { left:-46px; bottom:-8px; width:39%; }
.product-wall .hero-overlap .wall-photo { aspect-ratio:1.12; height:auto; border:3px solid var(--paper); }
.product-wall .hero-overlap .photo { aspect-ratio:1.12; border:0; }
.product-wall .hero-overlap figcaption { font-size:8px; letter-spacing:1.5px; }
.product-wall .on-photo-caption { pointer-events:none; font-size:8px; }
.filters .tabs { flex-wrap:wrap; }
.style-count { font-size:11px; color:var(--muted); margin:0 0 24px; }
@media (max-width:1100px) and (min-width:761px) {
  .product-hero { gap:35px; }
  .product-hero h1 { font-size:49px; }
  .product-hero .subheading { font-size:12px; }
  .product-hero .actions { gap:13px; }
  .product-hero .actions>.btn:first-child { font-size:17px; padding:11px 15px; }
  .product-hero .actions>.btn.secondary { font-size:10px; }
  .product-wall .hero-overlap { left:-25px; }
}
@media (max-width:760px) {
  .product-hero { grid-template-columns:1fr; gap:26px; padding:25px 0 30px; }
  .product-hero h1 { font-size:45px; }
  .product-hero .subheading { font-size:13px; margin-top:17px; }
  .product-hero .actions { gap:18px; margin-top:22px; }
  .product-hero .actions>.btn:first-child { font-size:18px; padding:11px 17px; }
  .product-hero .actions>.btn.secondary { font-size:11px; }
  .product-hero .inline-note { margin-top:15px; }
  .product-hero .product-wall { width:calc(100% - 23px); height:360px; margin:8px 0 0 23px; grid-template-columns:minmax(0,1fr) 28%; gap:7px; }
  .product-wall .hero-side { gap:6px; }
  .product-wall .hero-overlap { left:-23px; width:42%; bottom:-5px; }
  .product-wall .hero-overlap .wall-photo { border-width:2px; }
  .product-wall .hero-overlap figcaption { font-size:7px; letter-spacing:1px; }
  .product-wall .on-photo-caption { font-size:6px; right:8px; bottom:12px; }
  .filters .tabs { gap:16px; }
  .filters .tabs button { font-size:11px; }
}
