.product-image-link{display:block;width:100%;height:100%}
.product-image .tag{pointer-events:none}
.product-card:focus-within .quick-add,.quick-add.confirm-add{opacity:1;transform:none}
.product-meta a:hover,.bag-item h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.product-page{max-width:1320px;margin:0 auto;padding:28px 40px 80px}
.product-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px;align-items:center;color:#657167}
.product-breadcrumb a,.product-breadcrumb span{font-size:13px;letter-spacing:0}
.product-breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
.product-detail{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:64px;align-items:start}
.product-gallery{position:sticky;top:24px;min-width:0}
.product-photo{display:block;position:relative;border:0;background:#eeeae2;width:100%;aspect-ratio:1;cursor:zoom-in;padding:0;overflow:hidden}
.product-photo img{width:100%;height:100%;object-fit:cover;display:block}
.product-photo.studio-photo img{object-fit:contain;background:#fff}
.product-photo>span{position:absolute;bottom:16px;right:16px;padding:8px 12px;background:#fffffff0;font-size:13px}
.product-information{min-width:0}
.product-information .eyebrow{font-size:12px;margin:0 0 16px}
.product-information h1{font:500 clamp(36px,3.3vw,48px)/1.1 'Playfair Display',serif;margin:0 0 14px;letter-spacing:-.025em}
.product-family{font-size:15px;color:#657167;margin:0 0 22px}
.detail-price{font-size:24px;margin:0 0 24px}
.detail-price small{display:block;font-size:13px;color:#657167;margin-top:5px}
.product-description{font-size:16px;line-height:1.75;margin:0 0 26px}
.product-size{border:0;padding:0;margin:0 0 22px;min-width:0}
.product-size legend,.quantity-label{font-size:15px;font-weight:500;margin-bottom:10px;display:block}
.product-size label{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--olive);background:var(--sage);padding:12px 20px;min-height:48px;cursor:pointer}
.product-size input{accent-color:var(--olive);margin:0}
.product-purchase-row{display:flex;align-items:flex-end;gap:20px}
.detail-quantity{display:flex;border:1px solid var(--line);height:50px}
.detail-quantity button,.detail-quantity input{width:44px;border:0;background:transparent;text-align:center;font-size:17px;color:var(--ink);border-radius:0}
.detail-quantity button{cursor:pointer}
.detail-quantity button:hover{background:var(--sage)}
.detail-quantity button:disabled{opacity:.35;cursor:not-allowed}
.detail-quantity input{appearance:textfield;-moz-appearance:textfield}
.detail-quantity input::-webkit-inner-spin-button,.detail-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.product-add{flex:1;min-height:50px;font-size:16px;letter-spacing:.04em}
.quantity-help{font-size:13px;color:#657167;margin:12px 0}
.product-feedback{font-size:14px;margin:0;color:var(--olive)}
.product-feedback:empty{display:none}
.product-feedback button{min-height:44px;border:0;background:none;color:var(--ink);font-size:14px;text-decoration:underline;cursor:pointer}
.product-delivery{margin:24px 0;padding:18px 20px;background:#e8ece3;font-size:14px;line-height:1.65}
.product-delivery p{margin:0 0 8px}.product-delivery p:last-child{margin:0}
.product-accordions{border-top:1px solid var(--line)}
.product-accordions details{border-bottom:1px solid var(--line);padding-bottom:4px}
.product-accordions summary{cursor:pointer;padding:17px 0;font-size:16px;font-weight:500;min-height:54px}
.product-accordions p{font-size:15px;line-height:1.75;margin:0 0 18px;color:#657167}
.product-accordions h3{font-size:16px;margin:8px 0}
.product-accordions ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 20px;list-style:none}
.product-accordions li{font-size:13px;background:#e8ece3;padding:7px 12px}
.product-related{margin-top:80px;padding-top:44px;border-top:1px solid var(--line)}
.product-related .section-heading h2{font-size:36px}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:900px}
.related-product img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#fff}
.related-product img[src$=".png"]{object-fit:contain}
.related-product>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}
.related-product h3{font:500 22px 'Playfair Display';margin:0}
.related-product span{font-size:18px}
.related-product p{font-size:14px;color:#657167;margin:8px 0}
.related-product:hover h3{text-decoration:underline;text-underline-offset:4px}
.product-zoom{padding:48px 20px 20px;border:0;background:var(--cream);max-width:min(900px,94vw);max-height:94svh}
.product-zoom::backdrop{background:#14251dcc}
.product-zoom img{display:block;max-width:100%;max-height:78svh;object-fit:contain;margin:auto}
.product-zoom button{position:absolute;top:4px;right:8px;border:0;background:none;font-size:28px;width:44px;height:44px;cursor:pointer}
.product-not-found{text-align:center;padding:90px 0}.product-not-found h1{font:500 40px 'Playfair Display'}
@media(max-width:1024px){.product-detail{gap:32px}.product-page{padding-inline:28px}.product-purchase-row{gap:12px}}
@media(max-width:800px){.product-page{padding:16px 20px 60px}.product-breadcrumb{margin-bottom:18px;gap:9px}.product-detail{grid-template-columns:1fr;gap:30px}.product-gallery{position:static}.product-photo{max-height:580px}.product-information h1{font-size:38px}.product-related{margin-top:48px;padding-top:32px}.product-related .section-heading h2{font-size:30px}.related-grid{gap:18px}.related-product h3{font-size:20px}.related-product span{font-size:16px}.product-related .section-heading{flex-wrap:wrap}}
@media(max-width:430px){.product-purchase-row{gap:10px}.product-add{padding-inline:12px}.related-grid{grid-template-columns:1fr}.product-information h1{font-size:36px}.product-related .eyebrow{margin-bottom:14px}}
