.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:1280px;margin:0 auto;padding:20px 40px 72px}
.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-intro{text-align:center;padding:0 0 32px}
.product-intro .eyebrow{font-size:12px;margin:0 0 14px}
.product-intro h1{font:500 clamp(38px,4.2vw,58px)/1.12 'Playfair Display',serif;letter-spacing:-.025em;margin:0 0 14px}
.product-intro .product-family{margin:0}
.product-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;align-items:stretch;border:1px solid var(--line);background:#e8ece3}
.product-gallery{min-width:0;min-height:480px;position:relative;overflow:hidden;background:#eeeae2}
.product-photo{display:block;position:absolute;inset:0;border:0;background:#eeeae2;width:100%;height:100%;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:cover;background:#fff}
.product-photo>span{position:absolute;bottom:16px;right:16px;padding:8px 12px;background:#fffffff0;font-size:13px}
.product-information{min-width:0;padding:32px;display:flex;flex-direction:column;justify-content:center}
.product-information .eyebrow{font-size:12px;margin:0 0 16px}
.product-information .purchase-title{font:500 32px/1.15 'Playfair Display',serif;margin:0 0 20px}
.product-family{font-size:15px;color:#657167;margin:0 0 22px}
.detail-price{font-size:28px;margin:0 0 20px}
.detail-price small{display:block;font-size:13px;color:#657167;margin-top:5px}
.product-description{font-size:16px;line-height:1.7;margin:0 0 24px}
.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:22px 0 0;padding:18px 0 0;border-top:1px solid #c6cec0;font-size:13px;line-height:1.6}
.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}.related-product img{max-height:420px}
.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-information{padding:24px}.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:0}.product-gallery{min-height:0;aspect-ratio:1}.product-photo{max-height:none}.product-intro{padding-bottom:24px}.product-intro h1{font-size:40px}.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-intro h1{font-size:36px}.product-information{padding:24px 18px}.product-related .eyebrow{margin-bottom:14px}}

.scent-section{padding:52px 0;border-bottom:1px solid var(--line)}
.scent-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;align-items:end}
.scent-heading .eyebrow{grid-column:1/-1;margin:0 0 14px;font-size:12px}
.scent-heading h2{font-size:36px}
.scent-heading>p:last-child{margin:0;color:#657167;font-size:16px;line-height:1.7}
.scent-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:30px 0 0;border:1px solid var(--line)}
.scent-notes li{padding:24px;min-width:0}
.scent-notes li+li{border-left:1px solid var(--line)}
.scent-notes span{font-size:12px;color:var(--olive);letter-spacing:.12em}
.scent-notes h3{font:500 26px/1.2 'Playfair Display',serif;margin:12px 0 0}
.product-care{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:48px}
.product-care .eyebrow{font-size:12px;margin-bottom:14px}
.product-care h2{font-size:32px;margin-bottom:20px}
.product-care p{font-size:15px;line-height:1.75;color:#657167;max-width:460px}
.product-care .product-accordions{border-top:0}
.product-care summary{padding-top:0;font-size:20px;line-height:1.5}
.product-care details+details{padding-top:20px}
@media(max-width:800px){.scent-section{padding:36px 0}.scent-heading{grid-template-columns:1fr;gap:12px}.scent-heading .eyebrow{margin:0}.scent-heading h2{font-size:30px}.scent-notes li{padding:16px 12px}.scent-notes h3{font-size:22px}.product-care{grid-template-columns:1fr;gap:28px;padding-top:36px}.product-information .purchase-title{font-size:30px}}
@media(max-width:430px){.scent-notes{grid-template-columns:1fr}.scent-notes li{display:flex;align-items:center;gap:18px;padding:18px}.scent-notes li+li{border-left:0;border-top:1px solid var(--line)}.scent-notes h3{margin:0}.product-size{margin-bottom:18px}}
