.product-card{position:relative;min-width:0}
.product-card h3,.product-card .sku,.product-dialog .detail-copy{overflow-wrap:anywhere}
.product-dialog .detail-copy{min-width:0}
.catalog-load-more{display:block;margin:32px auto 0}
#catalog-count{margin:-20px 0 24px;color:var(--quiet)}
.product-card .product-image{position:relative;background:var(--ground)}
.product-card .product-image img{object-fit:contain;transition:opacity .35s ease}
.product-card:hover .product-image img{transform:none}
.product-image-secondary{position:absolute;inset:0;opacity:0}
/* Keep photo metadata outside the product image so hover never hides the bag. */
.product-reveal{display:none}
.product-quickview{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:44px;margin-top:12px;padding:10px 0;color:var(--wine);background:none;border-bottom:1px solid var(--surface);font-size:13px;text-align:left}
.product-quickview:hover{background:var(--ground)}
.product-quickview>span{font-size:18px}
.product-card:focus-within .has-second-image .product-image-secondary{opacity:1}
.product-card:focus-within .has-second-image .product-image-primary{opacity:0}
@media(hover:hover){.product-card:hover .has-second-image .product-image-secondary{opacity:1}.product-card:hover .has-second-image .product-image-primary{opacity:0}}
.product-gallery{min-width:0;padding:16px;background:var(--ground);align-self:start}
.gallery-main{display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--paper);cursor:zoom-in}
.gallery-main .detail-image{display:block;flex:0 0 auto;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
.detail-picture{display:block;width:100%}
.gallery-main .detail-image.has-hero-format{aspect-ratio:4/5}
@media(orientation:landscape) and (max-height:600px){.gallery-main .detail-image.has-hero-format{aspect-ratio:16/9}}
.gallery-main:focus-visible{outline-offset:0}
.gallery-main[aria-busy=true]{cursor:progress}
.gallery-zoom-label{display:flex;justify-content:space-between;align-items:center;gap:16px;position:static;width:100%;padding:10px 14px;color:var(--ink);background:var(--paper);font-size:12px;pointer-events:none}
.gallery-zoom-label>span{font-size:22px;line-height:1}
.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;min-width:0}
.gallery-thumbnails{display:flex;gap:10px;overflow:auto;padding:4px;min-width:0}
.gallery-thumbnail{width:64px;height:64px;flex:0 0 64px;padding:3px;background:var(--paper);border:1px solid transparent}
.gallery-thumbnail img{width:100%;height:100%;object-fit:contain}
.gallery-thumbnail[aria-pressed=true]{border-color:var(--wine)}
.gallery-navigation{display:flex;gap:4px}
.gallery-navigation button{width:44px;height:44px;background:var(--paper);color:var(--wine);font-size:20px}
.gallery-status{margin-top:8px;color:var(--quiet)}
.variant-fieldset{border:0;min-width:0;padding:0;margin:0}
.variant-fieldset legend{padding:0;margin-bottom:12px;font-size:14px}
.variant-options{display:flex;flex-wrap:wrap;gap:14px 24px}
.variant-option{display:flex;align-items:center;gap:10px;position:relative;max-width:100%;min-height:48px;cursor:pointer}
.variant-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.variant-swatch{display:block;flex:0 0 42px;width:42px;height:42px;border:3px solid var(--paper);outline:1px solid var(--surface);border-radius:50%;background:var(--swatch-color,var(--ground));overflow:hidden;transition:outline-color .15s,outline-offset .15s}
.variant-swatch img{width:100%;height:100%;object-fit:cover}
.variant-option input:checked+.variant-swatch{outline:2px solid var(--wine);outline-offset:2px}
.variant-option input:focus-visible+.variant-swatch{outline:3px solid var(--wine);outline-offset:4px}
.variant-name{font-size:13px;overflow-wrap:anywhere}
.variant-soldout{font-size:12px;color:var(--quiet)}
.product-dialog .detail-copy{gap:22px}
.product-dialog.has-product-zoom{overflow:visible}
.lk-product-zoom.pswp{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:100000;--pswp-bg:var(--ink);--pswp-icon-color:var(--inverse);--pswp-icon-color-secondary:var(--ink)}
.lk-product-zoom .pswp__button{border:0;min-width:50px;min-height:50px;background:transparent}
.lk-product-zoom .pswp__icn{fill:var(--inverse);stroke:none}
.lk-product-zoom .pswp__icn-shadow{stroke:var(--ink);fill:none}
.lk-product-zoom .pswp__counter{color:var(--inverse)}
@media(max-width:600px){.product-dialog .detail-copy{padding:26px 20px;gap:18px}.product-gallery{padding:12px}.gallery-zoom-label{bottom:10px;left:10px;right:10px;font-size:12px}.gallery-bottom{margin-top:10px}.gallery-thumbnail{width:56px;height:56px;flex-basis:56px}.product-reveal{display:none}.product-quickview{font-size:12px;gap:8px;margin-top:6px}.variant-options{gap:12px 20px}.variant-option{min-height:48px}.variant-name{font-size:13px}}
@media(prefers-reduced-motion:reduce){.product-card .product-image img,.product-reveal,.variant-swatch{transition:none}.product-card:hover .product-image img{transform:none}}
