/* Love uses the current Viva storefront geometry (2026-09-22).
   Shared mobile-product-gallery rules remain authoritative below 700px. */
.love-page .love-products {
  width:100%; margin:0; background:#fff;
  padding:clamp(44px,4.2vw,70px) var(--js-shell-side,clamp(24px,4vw,64px)) clamp(78px,8vw,128px);
  scroll-margin-top:118px;
}
.love-page .love-gallery-head {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:24px;
  max-width:1680px; margin:0 auto clamp(6px,1vw,14px); padding:0;
}
.love-page .love-gallery-head .love-kicker {
  margin:0; font-size:13px; line-height:1.2; color:rgba(48,48,45,.42);
}
.love-page .love-gallery-head h2 {
  margin:0; font-size:14px; line-height:1.2; letter-spacing:.02em; color:rgba(48,48,45,.46);
}
.love-page .love-gallery {
  grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start;
  gap:clamp(24px,3.2vw,48px) clamp(18px,2vw,32px);
  max-width:1680px; margin:0 auto; padding:0; border:0; background:transparent;
}
.love-page .love-piece {
  grid-template-rows:clamp(250px,15.5vw,305px) auto; align-items:start;
  min-height:0; border:0; box-shadow:none; background:transparent; transition:none;
}
.love-page .love-piece figure,.love-page .love-piece__placeholder {
  display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  min-height:0; aspect-ratio:auto; margin:0; padding:clamp(6px,.9vw,16px);
  border:0; background:transparent; overflow:hidden;
}
.love-page .love-piece img {
  width:auto; height:auto; max-width:92%; max-height:88%; margin:0; padding:0;
  object-fit:contain; object-position:center; transform:none; transition:none;
}
.love-page .love-piece__copy {
  width:100%; min-height:0; margin:0; padding:14px 0 0;
  border:0; border-top:1px solid rgba(48,48,45,.09); background:transparent;
}
.love-page .love-piece__copy p {
  margin:0 0 8px; font-size:11px; line-height:1.2; color:rgba(48,48,45,.38);
}
.love-page .love-piece__copy h3 {
  margin:0; font-size:clamp(14px,.95vw,17px); line-height:1.22; font-weight:400;
  color:rgba(48,48,45,.72); letter-spacing:0;
}
.love-page a.love-piece:hover,.love-page a.love-piece:focus-visible {
  transform:none; box-shadow:none; border:0;
}
@media(max-width:1180px) {
  .love-page .love-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:820px) {
  .love-page .love-products { padding-left:16px; padding-right:16px; scroll-margin-top:94px; }
  .love-page .love-gallery-head { grid-template-columns:1fr; gap:10px; }
  .love-page .love-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; align-items:stretch; }
  .love-page .love-piece {
    grid-template-rows:clamp(140px,calc((100vw - 32px)/2),300px) 1fr;
    align-self:stretch; align-content:stretch; margin:0; padding:0;
    border-right:1px solid #eaeaea; border-bottom:1px solid #eaeaea;
  }
  .love-page .love-piece figure { padding:14px; }
  .love-page .love-piece img { width:100%; height:100%; max-width:100%; max-height:100%; }
  .love-page .love-piece__copy { align-self:stretch; min-height:90px; padding:12px 10px 16px; }
  .love-page .love-piece__copy h3 { font-size:13px; line-height:1.35; overflow-wrap:normal; word-break:normal; }
  .love-page .love-piece__copy p { font-size:10px; line-height:1.4; margin-bottom:6px; }
}
