/* Owner-selected edge arrows and native expandable product information. */
.card-gallery,.product-main-image{position:relative}
.product-main-image,.product-photo{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.product-main-image>img,.product-photo>img{-webkit-user-drag:none}
.photo-controls{position:absolute;z-index:2;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}
.photo-controls[hidden]{display:none}
.photo-controls button{display:grid;place-items:center;width:40px;height:50px;padding:0;border:0;border-radius:0;background:rgba(255,255,255,.88);cursor:pointer;pointer-events:auto;box-shadow:none;color:var(--ink)}
.photo-controls button>img{width:24px;height:24px}
.photo-controls button:hover{background:#fff}
.photo-controls button:focus-visible,.product-main-image:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.card-gallery .photo-controls button{width:30px;height:40px}
.card-gallery .photo-controls button>img{width:20px;height:20px}
.product-gallery{min-width:0;align-self:start}
.product-gallery .gallery-thumbnails{gap:12px;padding-top:12px;padding-bottom:3px}
.product-gallery .gallery-thumb{position:relative;flex:0 0 76px;width:76px;height:84px;padding:0 0 8px;background:transparent;border:0;outline:none;box-shadow:none;overflow:visible}
.product-gallery .gallery-thumb>img{display:block;width:76px;height:76px;padding:0;border:0;object-fit:contain}
.product-gallery .gallery-thumb.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink)}
.product-gallery .gallery-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.product-summary h1{margin:0 0 22px}
.product-summary .product-price{margin:0;font-size:32px;line-height:1.3}
.product-summary .price-detail{margin:8px 0 25px;font-size:13px}
.product-summary .buy-area form.cart{margin:8px 0 0}
.product-summary .product-promises{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0 26px}
.product-promises>a{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:550;text-decoration:none}
.product-promises>a:hover span{text-decoration:underline;text-underline-offset:3px}
.product-promises svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.5}
.product-information>details{border-top:1px solid var(--line);margin:0;padding:0;scroll-margin-top:20px}
.product-information>details:last-child{border-bottom:1px solid var(--line)}
.product-information>details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;cursor:pointer;font-size:14px;font-weight:650;list-style:none;line-height:1.5}
.product-information>details>summary::-webkit-details-marker{display:none}
.product-information>details>summary::after{content:"";flex:none;width:24px;height:24px;background:url('icons/chevron-down.svg') center/24px no-repeat}
.product-information>details[open]>summary::after{transform:rotate(180deg)}
.product-information>details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.product-panel{padding:0 0 24px;font-size:13px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}
.product-panel p{font-size:13px;line-height:1.75;margin:0 0 12px;color:inherit}
.product-panel a{text-decoration:underline;text-underline-offset:3px}
.product-panel h2,.product-panel h3,.product-panel h4{font-size:14px;line-height:1.5;letter-spacing:0;margin:20px 0 10px;font-weight:600}
.product-panel ul,.product-panel ol{padding-left:20px;margin:0 0 16px;font-size:13px;line-height:1.75}
.product-panel li{margin:0 0 5px}
.product-panel>:last-child{margin-bottom:0}
.product-panel .product-safety{margin-top:22px}
.product-panel.product-specifications dl{margin:0;font-size:13px;line-height:1.7}
.product-panel.product-specifications dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;border-bottom:1px solid #eee;padding:9px 0}
.product-panel dt{color:var(--muted)}.product-panel dd{margin:0}
.product-panel.product-specifications>p{margin-top:16px}
.product-panel .delivery-check{margin:14px 0;border:0;padding:0}
.product-panel .delivery-result:empty{display:none}
.product-policy-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.product-panel.product-reviews{border:0;margin:0;padding-top:0}
.product-panel.product-reviews #comments>h2{display:none}
.product-price del,.card-bottom del,.hero-price del{font-size:.65em;color:var(--muted);font-weight:400}
.product-price ins,.card-bottom ins,.hero-price ins{text-decoration:none}
.product-price .woocommerce-Price-amount{white-space:nowrap}
@media(min-width:761px) and (min-height:840px){.product-gallery{position:sticky;top:22px}}
@media(max-width:760px){
 .product-summary h1{margin-bottom:20px}
 .product-summary .product-price{font-size:29px}
 .product-summary .price-detail{margin-bottom:22px}
 .product-summary .product-promises{gap:16px;margin:22px 0}
 .product-promises>a{font-size:11px;gap:6px}
 .card-gallery .photo-controls button{width:30px;height:44px}
 .product-information>details>summary{padding:17px 0}
 .product-panel{padding-bottom:22px}
}

/* Revision 9: quieter controls, discoverable on hover/focus and usable on touch. */
.photo-controls button{width:34px;height:44px;background:rgba(255,255,255,.58)}
.photo-controls button>img{width:20px;height:20px}
.photo-controls button:hover{background:rgba(255,255,255,.78)}
.card-gallery .photo-controls button{width:26px;height:36px;background:rgba(255,255,255,.5)}
.card-gallery .photo-controls button>img{width:17px;height:17px}
@media(min-width:761px){
 .card-gallery .photo-controls{opacity:0;transition:opacity .15s}
 .card-gallery .photo-controls button{pointer-events:none}
 .card-gallery:hover .photo-controls,.card-gallery:focus-within .photo-controls{opacity:1}
 .card-gallery:hover .photo-controls button,.card-gallery:focus-within .photo-controls button{pointer-events:auto}
}
@media(pointer:coarse){.card-gallery .photo-controls{opacity:1}.card-gallery .photo-controls button{pointer-events:auto;min-height:44px;min-width:30px}}
.product-summary>.delivery-check{border:0;padding:0;margin:18px 0 20px}
.product-summary>.delivery-check>p{font-size:13px;margin:0 0 10px}
.product-summary>.delivery-check .delivery-result:empty{display:none}
.product-summary .purchase-benefits{margin:24px 0}
.product-review-section{border-top:1px solid var(--line);margin-top:44px;padding-top:28px}
.product-review-section #comments>h2{display:none}
.product-review-section .product-reviews{margin:0;border:0;padding:0}
.product-review-section h2{font-size:24px}
.product-description-copy{font-size:13px;line-height:1.75}

.product-summary .purchase-benefits{border-bottom:0;margin-bottom:0}

.feature-measurements{margin:0 0 20px}.feature-measurements>div{display:grid;grid-template-columns:1fr 1.3fr;gap:15px;padding:5px 0}.feature-measurements dt{color:var(--muted)}.feature-measurements dd{margin:0}.recently-viewed[hidden]{display:none}.recently-viewed{padding-top:28px;padding-bottom:36px;border-top:1px solid var(--line)}

/* Similar products: generous photography on a full-width pale background. */
.similar-section{background:#f7f7f5;padding:26px 0 30px;margin-top:36px}
.similar-section .product-grid{gap:24px;grid-template-columns:repeat(4,minmax(0,1fr))}
.similar-section .product-card{display:block;border:0;padding:0}
.similar-section .card-gallery,.similar-section .product-photo{width:100%;height:auto;aspect-ratio:1}
.similar-section .product-card h3{font-size:14px;margin:14px 0 10px}
.similar-section .card-bottom{display:block}
.similar-section .card-bottom strong{font-size:24px}
.similar-section .card-bottom>span{display:block;font-size:12px;margin-top:4px}
.similar-section .card-fact,.similar-section .card-material{display:none}
.measurement-list{padding-left:20px;margin:0 0 20px}
@media(max-width:760px){.similar-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.similar-section .product-card h3{font-size:13px}.similar-section .card-bottom strong{font-size:21px}}

/* Full-bleed background without widening the content or introducing horizontal scroll. */
.similar-section{box-shadow:0 0 0 100vmax #f7f7f5;clip-path:inset(0 -100vmax)}
.measurement-estimate{font-size:12px;color:var(--muted);margin:0 0 6px}

/* Review divider spans the viewport; review content stays contained. */
.product-review-section{position:relative;border-top:0}
.product-review-section::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line);box-shadow:0 0 0 100vmax var(--line);clip-path:inset(0 -100vmax);pointer-events:none}

/* Recently viewed is a smaller six-item reminder row. */
.recently-viewed .product-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.recently-viewed .product-card h3{font-size:12px;line-height:1.45}
.recently-viewed .card-bottom strong{font-size:20px}
.recently-viewed .card-bottom>span{font-size:11px}
.recently-viewed .card-fact,.recently-viewed .card-material{display:none}
@media(max-width:1000px){.recently-viewed .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.recently-viewed .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}}

/* Match divider positions and row starts to each grid's actual gap/column count. */
.similar-section .product-grid.home-products>.product-card::before{left:-12px;display:block!important}
.similar-section .product-grid.home-products>.product-card:nth-child(4n+1)::before{display:none!important}
.recently-viewed .product-grid.home-products>.product-card::before{left:-10px;display:block!important}
.recently-viewed .product-grid.home-products>.product-card:nth-child(6n+1)::before{display:none!important}
@media(max-width:1000px) and (min-width:551px){
 .recently-viewed .product-grid.home-products>.product-card:nth-child(n)::before{display:block!important}
 .recently-viewed .product-grid.home-products>.product-card:nth-child(3n+1)::before{display:none!important}
}
@media(max-width:760px){
 .similar-section .product-grid.home-products>.product-card:nth-child(n)::before{left:-8px;display:block!important}
 .similar-section .product-grid.home-products>.product-card:nth-child(2n+1)::before{display:none!important}
}
@media(max-width:550px){
 .recently-viewed .product-grid.home-products>.product-card:nth-child(n)::before{left:-7px;display:block!important}
 .recently-viewed .product-grid.home-products>.product-card:nth-child(2n+1)::before{display:none!important}
}

/* Catalogue row rules complement the existing vertical dividers. */
.catalogue-results>.product-grid{--catalogue-gap:40px}
.catalogue-results>.product-grid>.product-card:nth-child(3n+4)::after{content:"";position:absolute;left:0;top:-16px;width:calc(300% + var(--catalogue-gap) * 2);height:1px;background:var(--line);pointer-events:none}
@media(max-width:1100px) and (min-width:761px){.catalogue-results>.product-grid{--catalogue-gap:26px}}
@media(max-width:760px){
 .catalogue-results>.product-grid>.product-card:nth-child(n)::after{content:none}
 .catalogue-results>.product-grid>.product-card:nth-child(2n+3)::after{content:"";position:absolute;left:0;top:-14px;width:calc(200% + 24px);height:1px;background:var(--line);pointer-events:none}
}
/* Quiet, usable thumbnail scrollbar in place of the heavy native control. */
.product-gallery .gallery-thumbnails{padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#b8b8b8 transparent;}
@supports selector(::-webkit-scrollbar){
 .product-gallery .gallery-thumbnails{scrollbar-width:auto;}
 .product-gallery .gallery-thumbnails::-webkit-scrollbar{height:4px;}
 .product-gallery .gallery-thumbnails::-webkit-scrollbar-track{background:#eeeeec;border-radius:4px;}
 .product-gallery .gallery-thumbnails::-webkit-scrollbar-thumb{background:#b8b8b8;border-radius:4px;}
 .product-gallery .gallery-thumbnails::-webkit-scrollbar-thumb:hover{background:#858585;}
 .product-gallery .gallery-thumbnails::-webkit-scrollbar-button{display:none;width:0;height:0;}
}
/* Hide platform scrollbar chrome; keep native touch/trackpad and keyboard scrolling. */
.product-gallery .gallery-thumbnails{scrollbar-width:none!important;-ms-overflow-style:none;padding-bottom:4px;}
.product-gallery .gallery-thumbnails::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
/* Explicit thumbnail navigation keeps every image reachable without native chrome. */
.product-gallery .thumbnail-navigation{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;gap:6px;align-items:center;}
.product-gallery .thumbnail-navigation .gallery-thumbnails{min-width:0;}
.product-gallery .thumbnail-scroll{display:grid;place-items:center;width:22px;height:44px;padding:0;border:0;background:transparent;color:#333;font-size:25px;line-height:1;cursor:pointer;}
.product-gallery .thumbnail-scroll:disabled{opacity:.2;cursor:default;}
.product-gallery .thumbnail-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
