/* Shop presentation is isolated from earlier homepage sections. */
.shop-section{padding-block:60px;scroll-margin-top:18px}
.shop-heading{margin-bottom:24px}
.shop-heading .eyebrow{font-size:.63rem;margin-bottom:16px;letter-spacing:.13em}
.shop-heading h2{font-size:2.4rem}
.shop-heading>p{font-size:.8rem;max-width:360px;line-height:1.7;color:var(--muted);margin-top:20px;padding-bottom:4px}
.shop-section .category-filters{display:flex;gap:23px;border-bottom:1px solid var(--line);margin-bottom:30px;margin-right:-20px;padding-right:20px;overflow-x:auto;scrollbar-width:thin}
.category-filters button{border:0;border-bottom:2px solid transparent;min-height:52px;padding:14px 0;background:none;font-size:.8rem;color:var(--muted);flex-shrink:0}
.category-filters button[aria-pressed="true"]{border-color:var(--red);color:var(--ink);font-weight:700}
.category-filters button:focus-visible{outline-offset:-3px}
.shop-status,.shop-section .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.product-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}
.product-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#f3f3f2;min-height:245px;min-width:0}
.product-photo{position:relative;min-height:245px;overflow:hidden}
.product-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .4s}
.product-info{align-self:center;min-width:0;padding:22px 16px 22px 6px}
.product-tag{color:var(--muted);font-size:.55rem}
.product-info h3{font-family:Arial,"Helvetica Neue",sans-serif;font-weight:800;font-size:1.02rem;line-height:1.2;margin:10px 0 0;letter-spacing:-.03em;text-wrap:balance}
.product-info>p{font-size:.67rem;color:var(--muted);margin-top:8px}
.product-price{font-size:1.4rem;font-weight:700;letter-spacing:-.04em;margin-block:15px}
.product-price del{font-size:.72em;font-weight:400;color:var(--muted)}.product-price ins{background:none;text-decoration:none}
.product-price .woocommerce-Price-amount{white-space:nowrap}
.product-stock{color:var(--muted);font-size:.7rem;margin-block:8px 15px}.product-stock p{margin:0}.product-stock .out-of-stock{color:var(--red-dark)}
.product-sale{position:absolute;top:10px;left:10px;padding:4px 8px;background:var(--red);color:white;font-size:.65rem}
.product-info h3,.product-price{overflow-wrap:anywhere}.product-info .button{max-width:100%;white-space:normal}
.shop-empty{padding-block:25px;color:var(--muted)}.shop-category-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.product-info .button{font-size:.7rem;padding:11px 12px;min-height:44px;gap:10px;background:var(--ink);color:white}
.shop-section .shop-note{margin-top:20px;color:var(--muted);font-size:.68rem;line-height:1.6}
.product-fallback{margin-top:16px;border-top:1px solid var(--line);scroll-margin-top:100px}
.product-fallback>summary{padding-block:14px;min-height:44px;cursor:pointer}
.product-preview-dialog{width:min(660px,calc(100% - 32px));max-height:88dvh;padding:0;border:0;border-radius:5px;color:var(--ink);background:white;overscroll-behavior:contain}
.product-preview-dialog::backdrop{background:#101214aa}
.product-preview-dialog[open]{animation:enter .2s ease-out both}
.product-dialog-inner{padding:25px 20px;position:relative}
.product-dialog-inner>.close-button{position:absolute;right:16px;top:16px}
.product-dialog-inner>.eyebrow{padding-right:44px;font-size:.7rem;margin-bottom:20px}
.product-dialog-inner h2{font-size:1.6rem;padding-right:30px;margin-bottom:24px;overflow-wrap:anywhere}
.product-dialog-photo{height:220px;background:#f3f3f2;position:relative}
.product-dialog-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.product-dialog-detail{margin-top:0}
.product-dialog-price{font-size:1.75rem;font-weight:750;margin-top:16px}
.product-demo-notice{font-size:.85rem;color:var(--muted);background:#f3f3f2;padding:16px;margin-block:20px;border-left:2px solid var(--red)}
.product-continue{background:var(--ink);color:white}
.product-card:focus-within .product-photo>img{transform:scale(1.03)}
@media(min-width:701px){
 .shop-section{padding-block:75px}
 .shop-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
 .shop-heading .eyebrow{font-size:.7rem;margin-bottom:20px;letter-spacing:.15em}
 .shop-heading h2{font-size:clamp(2.25rem,4.2vw,3.75rem)}
 .shop-heading>p{font-size:.87rem;margin-top:0}
 .shop-section .category-filters{gap:30px;margin-right:0;padding-right:0}
 .category-filters button{font-size:.82rem}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .product-card{grid-template-columns:minmax(0,1fr);min-height:300px}
 .product-photo{min-height:250px}
 .product-info{padding:24px}
 .product-tag{font-size:.6rem}
 .product-info h3{font-size:1.2rem}
 .product-info>p{font-size:.73rem}
 .product-price{font-size:1.55rem;margin-block:12px}
 .product-info .button{font-size:.73rem;padding:11px 14px;gap:14px}
 .shop-section .shop-note{margin-top:24px;font-size:.73rem;line-height:1.5}
 .product-dialog-inner{padding:30px}
 .product-dialog-inner h2{font-size:2rem}
 .product-dialog-photo{height:290px}
}
@media(min-width:960px){
 .shop-section{padding-block:100px}
 .product-card{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}
 .product-photo{min-height:280px}
 .product-info{padding:25px 16px 25px 14px}
 .product-info h3{font-size:1.1rem}
 .product-price{margin-block:20px 16px}
}
@media(min-width:1151px){.product-card{grid-template-columns:repeat(2,minmax(0,1fr))}.product-info{padding-right:24px}}
@media(max-width:360px){.shop-section .category-filters{margin-right:-16px}.product-info{padding-right:10px}.product-info .button{gap:5px;padding-inline:10px}}
@media(hover:hover){.product-card:hover .product-photo>img{transform:scale(1.03)}.category-filters button:hover{color:var(--ink)}.product-info .button:hover,.product-continue:hover{background:#34383d}}
@media(prefers-reduced-motion:reduce){.product-photo>img{transition:none}.product-card:hover .product-photo>img,.product-card:focus-within .product-photo>img{transform:none}.product-preview-dialog[open]{animation:none}}
