/* Existing typefaces and palette; only product presentation is refined. */
.lv-piece-page .product-entry-wrapper:has(.woocommerce-product-gallery) {
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(32px,4.2vw,60px);
}
.lv-piece-page .summary .product_title { text-wrap:balance; }
.lv-piece-page .woocommerce-product-details__short-description { max-width:43ch; }
.lv-piece-page .woocommerce-product-details__short-description p { line-height:1.75; }
.lv-piece-page .woocommerce-product-gallery .flexy-items .ct-media-container { background:var(--lv-surface); }
.lv-piece-page .woocommerce-product-gallery .flexy-items img { object-fit:contain; }
.lv-piece-page .woocommerce-product-gallery .flexy-pills ol { gap:8px; }
.lv-piece-page .woocommerce-product-gallery .flexy-pills li { --thumbs-width:64px; width:64px; flex:0 0 64px; }
.lv-piece-page .woocommerce-product-gallery .flexy-pills .ct-media-container { aspect-ratio:1; }
.lv-piece-page .woocommerce-product-gallery .flexy-pills img { object-fit:contain; }
.lv-piece-page .lv-wearing { border-top:1px solid var(--lv-border); padding-top:24px; margin-top:24px; max-width:48ch; }
.lv-piece-page .lv-wearing h2 { font-family:var(--lv-font-body); font-size:12px; line-height:1.5; font-weight:500; letter-spacing:.075em; text-transform:uppercase; margin:0 0 14px; color:var(--lv-text-primary); }
.lv-piece-page .lv-occasion-list { list-style:disc; padding-left:17px; margin:0; columns:2; column-gap:24px; }
.lv-piece-page .lv-occasion-list li { break-inside:avoid; padding-left:2px; margin:0 0 8px; font-size:13px; line-height:1.65; color:var(--lv-text-secondary); }
.lv-piece-page .lv-occasion-list li::marker { color:var(--lv-text-secondary); font-size:.65em; }
.lv-piece-page .lv-style-note { margin-top:23px; }
.lv-piece-page .lv-style-note p { font-size:14px; line-height:1.8; color:var(--lv-text-secondary); margin:0 0 10px; text-wrap:pretty; }
.lv-piece-page .lv-style-note p:first-of-type { color:var(--lv-text-primary); }
.lv-piece-page .lv-piece-enquiry { margin:0 0 24px; }
.lv-piece-page .product-entry-wrapper > .lv-product-details { max-width:900px; margin-top:12px; }
.lv-piece-page .lv-detail-row summary { text-transform:none; letter-spacing:.01em; font-size:14px; padding-block:18px; }
.lv-piece-page .lv-detail-row > div { max-width:72ch; line-height:1.85; padding-right:16px; }
.lv-collection-page ul.products { --shop-columns:repeat(3,minmax(0,1fr)); grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 28px; }
.home .lv-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 26px; }
.home .lv-product-image, .lv-collection-page ul.products li.product .ct-media-container,
.lv-piece-page .related.products li.product .ct-media-container { aspect-ratio:1; background:var(--lv-surface); }
.home .lv-product-image img, .lv-collection-page ul.products li.product .ct-media-container img,
.lv-piece-page .related.products li.product .ct-media-container img { width:100%; height:100%; object-fit:cover; object-position:center; }
.home .lv-product-meta { align-items:baseline; flex-wrap:wrap; gap:5px 12px; }
.lv-collection-page ul.products li.product .woocommerce-loop-product__title { margin-top:16px; margin-bottom:5px; }
.lv-collection-page ul.products li.product .price { line-height:1.5; }
@media (max-width:999.98px) {
  .lv-piece-page .product-entry-wrapper:has(.woocommerce-product-gallery) { gap:30px; }
  .lv-piece-page .lv-occasion-list { columns:1; }
}
@media (max-width:767.98px) {
  .lv-piece-page .product-entry-wrapper:has(.woocommerce-product-gallery) { display:block; }
  .lv-piece-page .woocommerce-product-gallery .flexy-items .ct-media-container { height:min(410px,57svh); max-height:none; }
  .lv-piece-page .woocommerce-product-gallery .flexy-pills li { --thumbs-width:52px; width:52px; flex:0 0 52px; }
  .lv-piece-page .woocommerce-product-gallery .flexy-pills .ct-media-container { width:52px; height:52px; }
  .lv-piece-page .lv-wearing { margin-top:25px; padding-top:24px; max-width:none; }
  .lv-piece-page .lv-occasion-list { columns:2; column-gap:20px; }
  .lv-piece-page .lv-wearing h2 { margin-bottom:12px; }
  .lv-piece-page .lv-style-note p { font-size:14px; line-height:1.75; }
  .lv-piece-page .product-entry-wrapper > .lv-product-details { margin-top:36px; }
  .lv-piece-page .lv-detail-row summary { min-height:56px; }
  .lv-collection-page ul.products, .home .lv-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 14px; }
}
@media (max-width:359.98px) { .lv-piece-page .lv-occasion-list { columns:1; } }
