.product-page-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;align-items:start}
.product-gallery{display:grid;grid-template-columns:1fr;gap:14px}
.product-gallery.has-multiple{grid-template-columns:1fr 1fr}
.product-gallery-item{background:#e9e0d5;overflow:hidden}
.product-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}
.product-gallery-empty{aspect-ratio:4/5;display:grid;place-items:center;color:#a89c93;font:13px Arial;text-transform:uppercase;letter-spacing:.1em}
.product-info-panel{position:sticky;top:24px;padding-top:8px}
.product-info-panel h1{font:400 clamp(32px,3.2vw,46px) Georgia,serif;letter-spacing:-.03em;margin:0 0 14px}
.product-price{font-size:19px;margin:0 0 26px;color:var(--wine)}
.product-option{margin-bottom:24px}
.option-label{margin:0 0 10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#8d7f78}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line)}
.qty-stepper button{width:42px;height:42px;border:0;background:transparent;font-size:16px}
.qty-stepper button:hover{background:var(--blush)}
.qty-stepper input{width:48px;height:42px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font:14px Arial;-moz-appearance:textfield}
.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.product-actions{display:flex;flex-direction:column;gap:12px;margin:28px 0 8px}
.product-actions .button{width:100%;text-align:center;border:0}
.product-note{margin:0 0 8px;font-size:12px;color:#675d57}
.product-note.is-error{color:#a5273a}
.product-description{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);color:#5c534e;line-height:1.75;font-size:14px}
.product-description p{margin:0 0 14px}
.related-products{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}
.related-products h2{font:400 clamp(28px,3vw,40px) Georgia,serif;margin:0 0 32px}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.related-card{display:block}
.related-photo{display:block;aspect-ratio:4/5;background:#e9e0d5;overflow:hidden;margin-bottom:14px}
.related-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.1) saturate(1.16) brightness(1.03)}
.related-info h3{font:16px Georgia,serif;margin:0 0 4px;font-weight:400}
.related-info p{margin:0;font-size:12px;color:#675d57}
@media(max-width:900px){
  .product-page-grid{grid-template-columns:1fr;gap:36px}
  .product-info-panel{position:static}
  .related-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .product-gallery.has-multiple{grid-template-columns:1fr}
  .product-actions{margin:24px 0 4px}
  .related-products{margin-top:70px;padding-top:40px}
}
