/* ODDWRIST — product detail */
.ow-pdp__crumbs{padding-top:20px}
.ow-pdp__crumbs .ow-crumbs{margin-bottom:16px}
.ow-pdp__grid{display:grid;gap:clamp(24px,4vw,72px);align-items:start;padding-bottom:clamp(40px,6vw,96px)}
@media (min-width:1024px){.ow-pdp__grid{grid-template-columns:minmax(0,7fr) minmax(360px,5fr)}}

/* Gallery */
.ow-gallery{display:grid;gap:12px;min-width:0}
@media (min-width:1024px){.ow-gallery{grid-template-columns:76px 1fr;align-items:start}}
.ow-gallery__thumbs{display:none}
@media (min-width:1024px){.ow-gallery__thumbs{display:grid;gap:10px;position:sticky;top:calc(var(--header-h) + 20px)}}
.ow-gallery__thumb{padding:0;border:1px solid transparent;background:var(--ow-bone);aspect-ratio:4/5;overflow:hidden;opacity:.6;transition:opacity var(--t-fast),border-color var(--t-fast)}
.ow-gallery__thumb img{width:100%;height:100%;object-fit:cover}
.ow-gallery__thumb:hover,.ow-gallery__thumb[aria-selected=true]{opacity:1;border-color:var(--ow-ink)}
.ow-gallery__stage{position:relative;min-width:0}
.ow-gallery__track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--ow-bone)}
.ow-gallery__track::-webkit-scrollbar{display:none}
.ow-gallery__slide{margin:0;scroll-snap-align:start;aspect-ratio:4/5;position:relative;overflow:hidden;cursor:zoom-in}
.ow-gallery__slide img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease-out}
@media (hover:hover) and (min-width:1024px){.ow-gallery__slide.is-zooming img{transform:scale(2);transition:none}}
.ow-gallery__stage .ow-badges{top:16px;left:16px}
.ow-gallery__tools{position:absolute;right:16px;bottom:16px;display:flex;gap:8px;z-index:2}
.ow-gallery__dots{position:absolute;left:0;right:0;bottom:24px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.ow-gallery__dots span{width:6px;height:6px;border-radius:50%;background:rgba(10,10,10,.25);transition:width var(--t-fast),background var(--t-fast)}
.ow-gallery__dots span.is-active{width:18px;border-radius:3px;background:var(--ow-ink)}
@media (min-width:1024px){.ow-gallery__dots{display:none}}
.ow-gallery__video,.ow-gallery__360{position:absolute;inset:0;z-index:3;background:var(--ow-ink);display:grid;place-items:center}
.ow-gallery__video video{width:100%;height:100%;object-fit:contain}
.ow-gallery__360 img{width:100%;height:100%;object-fit:contain;background:var(--ow-bone);cursor:ew-resize;user-select:none;-webkit-user-drag:none}
.ow-gallery__360 .ow-mono{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:var(--ow-paper);padding:6px 10px}
.ow-gallery__overlay-close{position:absolute;top:12px;right:12px;z-index:4;background:var(--ow-paper)}

/* Info panel */
@media (min-width:1024px){.ow-pdp__sticky{position:sticky;top:calc(var(--header-h) + 20px)}}
.ow-pdp__brand{display:inline-block;font:500 expanded var(--fs-xs)/1 var(--ow-mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;margin-bottom:14px}
.ow-pdp__brand:hover{color:var(--ow-signal)}
.ow-pdp__title{font:500 expanded clamp(1.75rem,1.15rem + 1.7vw,2.75rem)/1.02 var(--ow-display);letter-spacing:-.03em;margin-bottom:12px;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto;max-width:100%}
/* Grid children default to min-width:auto; let long product names wrap inside the column instead of widening it. */
.ow-pdp__title,.ow-pdp > *,.ow-pdp__summary,.ow-pdp__sticky{min-width:0}
.ow-pdp__ref{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--ow-muted);margin-bottom:12px}
.ow-pdp__rating{display:inline-flex;gap:10px;align-items:center;font-size:var(--fs-sm);text-decoration:none;color:var(--ow-muted)}
.ow-pdp__price-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0;margin:16px 0;border-block:1px solid var(--ow-mist)}
.ow-pdp__price-row .price{margin:0}
.ow-pdp__price-row .ow-stock{font-size:12px;display:inline-flex;align-items:center;gap:8px}
.ow-pdp__price-row .ow-stock::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.ow-pdp__price-row .ow-stock--in{display:inline-flex;color:var(--ow-good)}
.ow-pdp__short{color:var(--ow-muted);margin-bottom:16px}
.ow-pdp__short p:last-child{margin:0}
.ow-facts{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.ow-facts li{padding:6px 10px;border:1px solid var(--ow-line);font:500 expanded 12px/1 var(--ow-mono)}

/* Add to cart form (WooCommerce markup) */
.ow-pdp__buy form.cart{display:grid;gap:14px}
.ow-pdp__buy form.cart:not(.variations_form),.ow-pdp__buy .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:auto 1fr;gap:10px}
.ow-pdp__buy .single_add_to_cart_button,.ow-buy-now{min-height:52px}
.ow-pdp__buy .single_add_to_cart_button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;border:1px solid var(--ow-ink);background:var(--ow-ink);color:var(--ow-paper);font:500 var(--fs-xs)/1 var(--ow-sans);letter-spacing:.16em;text-transform:uppercase;overflow:hidden;isolation:isolate;cursor:pointer}
.ow-pdp__buy .single_add_to_cart_button::before{content:"";position:absolute;inset:0;background:var(--ow-signal);transform:scaleX(0);transform-origin:right;transition:transform var(--t-med) var(--ease-out);z-index:-1}
.ow-pdp__buy .single_add_to_cart_button:hover::before{transform:scaleX(1);transform-origin:left}
.ow-pdp__buy .single_add_to_cart_button.disabled,.ow-pdp__buy .single_add_to_cart_button:disabled{opacity:.35;cursor:not-allowed}
.ow-pdp__buy .ow-buy-now{grid-column:1/-1}
.ow-pdp__buy .quantity{height:52px}
.ow-pdp__buy table.variations{width:100%;border-collapse:collapse;margin:0}
.ow-pdp__buy table.variations tr{display:grid;gap:10px;margin-bottom:16px}
.ow-pdp__buy table.variations th,.ow-pdp__buy table.variations td{padding:0;text-align:left}
.ow-pdp__buy table.variations label{font:500 expanded 11px/1 var(--ow-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ow-muted)}
.ow-pdp__buy table.variations select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--ow-line);background-color:var(--ow-paper)}
.ow-pdp__buy .reset_variations{display:inline-block;margin-top:8px;font-size:var(--fs-xs);color:var(--ow-muted)}
.ow-swatches{display:flex;flex-wrap:wrap;gap:8px}
.ow-swatch-btn{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--ow-line);background:var(--ow-paper);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--t-fast)}
.ow-swatch-btn:hover{border-color:var(--ow-ink)}
.ow-swatch-btn[aria-checked=true]{border-color:var(--ow-ink);box-shadow:inset 0 0 0 1px var(--ow-ink)}
.ow-swatch-btn[aria-checked=true]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--ow-signal)}
.ow-swatch-btn.is-unavailable{color:var(--ow-muted);background:repeating-linear-gradient(135deg,transparent 0 6px,var(--ow-mist) 6px 7px)}
.ow-swatch-btn.is-colour{padding:0 14px 0 8px}
.ow-pdp__buy .woocommerce-variation-price .price{font-size:var(--fs-lg);font-weight:500}
.ow-pdp__buy .woocommerce-variation-availability p{font:500 expanded 12px var(--ow-mono);margin:0}
.ow-pdp__buy .stock.out-of-stock{color:var(--ow-signal)}
.ow-pdp__buy .woocommerce-variation-description p{font-size:var(--fs-sm);color:var(--ow-muted)}
.ow-pdp__buy p.stock{display:none}

/* Stock alert */
.ow-alert-form{display:grid;gap:10px;padding:18px;margin-top:16px;background:var(--ow-bone);border-left:2px solid var(--ow-signal)}
.ow-alert-form__title{display:flex;align-items:center;gap:8px;margin:0}
.ow-alert-form__msg{margin:0;font-size:var(--fs-sm)}
.ow-alert-form .ow-note{margin:0;font-size:var(--fs-xs)}

/* Actions & assurance */
.ow-pdp__actions{display:flex;gap:4px;margin:16px 0 8px;border-bottom:1px solid var(--ow-mist);padding-bottom:12px}
.ow-action{display:inline-flex;align-items:center;gap:8px;padding:10px 12px 10px 0;margin-right:12px;background:none;border:0;font-size:var(--fs-sm)}
.ow-action:hover{color:var(--ow-signal)}
.ow-action__on{display:none}
.ow-action[aria-pressed=true] .ow-action__on{display:inline}
.ow-action[aria-pressed=true] .ow-action__off{display:none}
.ow-assure{list-style:none;display:grid;gap:12px;padding-top:12px}
.ow-assure li{display:grid;grid-template-columns:20px 1fr;gap:12px;font-size:var(--fs-sm);color:var(--ow-muted)}
.ow-assure .ow-icon{color:var(--ow-ink)}

/* In-page nav & sections */
.ow-pdp__nav{position:sticky;top:var(--header-h);z-index:20;background:color-mix(in srgb,var(--ow-paper) 96%,transparent);border-block:1px solid var(--ow-mist);backdrop-filter:blur(8px)}
.ow-header.is-hidden ~ * .ow-pdp__nav,.ow-pdp__nav.is-top{top:0}
.ow-pdp__nav .ow-container{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}
.ow-pdp__nav a{flex:0 0 auto;padding:16px 0;font-size:var(--fs-sm);text-decoration:none;border-bottom:1.5px solid transparent;margin-bottom:-1px}
.ow-pdp__nav a[aria-current=true],.ow-pdp__nav a:hover{border-color:var(--ow-signal)}
.ow-pdp__section{display:grid;gap:24px;padding-block:clamp(40px,6vw,88px);border-bottom:1px solid var(--ow-mist)}
@media (min-width:1024px){.ow-pdp__section{grid-template-columns:minmax(200px,3fr) 9fr;gap:48px}}
.ow-pdp__h{font:500 expanded var(--fs-xl)/1 var(--ow-display);letter-spacing:-.03em}
.ow-pdp__section > :not(.ow-pdp__h){grid-column:2/-1;min-width:0}
@media (max-width:1023px){.ow-pdp__section > :not(.ow-pdp__h){grid-column:auto}}
.ow-spec-groups{display:grid;gap:32px 48px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.ow-spec-group .ow-eyebrow{border-bottom:1px solid var(--ow-ink);padding-bottom:10px;margin-bottom:0}
.ow-delivery{display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.ow-delivery .ow-h3{margin-bottom:10px}
.ow-delivery p{color:var(--ow-muted);font-size:var(--fs-sm)}

/* Reviews (WooCommerce markup) */
#reviews .woocommerce-Reviews-title{font:500 var(--fs-md) var(--ow-sans);margin-bottom:20px}
#reviews .commentlist{list-style:none;display:grid;gap:0}
#reviews .commentlist li{padding:24px 0;border-bottom:1px solid var(--ow-mist)}
#reviews .comment_container{display:grid;grid-template-columns:44px 1fr;gap:16px}
#reviews .avatar{border-radius:50%;width:44px;height:44px}
#reviews .star-rating{color:var(--ow-ink);font-size:13px;letter-spacing:.1em}
#reviews .meta{font-size:var(--fs-sm);color:var(--ow-muted);margin:4px 0 8px}
#reviews .meta strong{color:var(--ow-ink)}
#reviews .woocommerce-review__verified{color:var(--ow-good);font-style:normal}
.ow-review-actions{display:flex;gap:16px;margin:8px 0 0}
#review_form_wrapper{margin-top:32px;padding:28px;background:var(--ow-bone)}
#reply-title{font:500 expanded var(--fs-lg)/1.2 var(--ow-display);display:block;margin-bottom:16px;letter-spacing:-.03em}
#review_form .comment-form{display:grid;gap:14px}
#review_form label{display:block;font:500 expanded 11px/1.4 var(--ow-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ow-muted);margin-bottom:6px}
#review_form input[type=text],#review_form input[type=email],#review_form textarea,#review_form select{width:100%;padding:12px 14px;border:1px solid var(--ow-line);background:var(--ow-paper)}
#review_form .form-submit input{min-height:48px;padding:0 24px;background:var(--ow-ink);color:var(--ow-paper);border:0;font:500 12px var(--ow-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
#review_form .form-submit input:hover{background:var(--ow-signal)}
.woocommerce-noreviews{color:var(--ow-muted)}
.star-rating{overflow:hidden;position:relative;height:1.2em;line-height:1.2;width:5.6em;font-family:sans-serif}
.star-rating::before{content:"☆☆☆☆☆";position:absolute;top:0;left:0;letter-spacing:.12em}
.star-rating span{overflow:hidden;position:absolute;top:0;left:0;padding-top:1.5em}
.star-rating span::before{content:"★★★★★";position:absolute;top:0;left:0;letter-spacing:.12em}

/* Sticky buy bar (mobile) */
.ow-buybar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;align-items:center;gap:12px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--ow-paper);border-top:1px solid var(--ow-line);box-shadow:0 -10px 30px rgba(0,0,0,.08);animation:ow-tray-in var(--t-med) var(--ease-out)}
.ow-buybar__info{flex:1;min-width:0;display:grid}
.ow-buybar__name{font-weight:500;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ow-buybar .ow-price{font-size:var(--fs-sm)}
@media (min-width:1024px){.ow-buybar{display:none!important}}

/* Lightbox */
.ow-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;margin:0;background:var(--ow-paper);display:none}
.ow-lightbox[open]{display:grid;grid-template-columns:64px 1fr 64px;align-items:center}
.ow-lightbox::backdrop{background:var(--ow-paper)}
.ow-lightbox__stage{margin:0;height:100dvh;display:grid;place-items:center;overflow:hidden;touch-action:pan-y}
.ow-lightbox__stage img{max-height:94dvh;max-width:100%;object-fit:contain;cursor:zoom-in;transition:transform .25s var(--ease-out)}
.ow-lightbox__stage img.is-zoom{transform:scale(1.9);cursor:zoom-out}
.ow-lightbox__close{position:absolute;top:12px;right:12px;z-index:2}
.ow-lightbox__count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);margin:0}
@media (max-width:767px){.ow-lightbox[open]{grid-template-columns:1fr}.ow-lightbox__prev,.ow-lightbox__next{position:absolute;bottom:8px;z-index:2}.ow-lightbox__prev{left:8px}.ow-lightbox__next{right:8px}}
.ow-pdp__buy .quantity input.qty{width:52px;min-height:0;height:100%;padding:0;border:0;box-shadow:none}
.ow-pdp__buy .quantity{justify-self:start}

/* ---------- Reviews (v2) ---------- */
#reviews .commentlist{list-style:none;margin:0;padding:0;display:block;border-top:1px solid var(--ow-ink)}
#reviews .commentlist > li{padding:0;border-bottom:1px solid var(--ow-mist)}
.ow-review__card{padding:28px 0;display:grid;gap:12px;max-width:68ch}
.ow-review__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.ow-review__stars{margin:0;color:var(--ow-ink);font-size:15px;letter-spacing:.14em;line-height:1}
.ow-review__stars-off{color:var(--ow-line)}
.ow-review__who{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:var(--fs-sm);color:var(--ow-muted)}
.ow-review__author{color:var(--ow-ink);font-weight:600}
.ow-review__verified{display:inline-flex;align-items:center;gap:4px;color:var(--ow-good);font-weight:500}
.ow-review__who time{white-space:nowrap}
.ow-review__body{font-size:var(--fs-md);line-height:1.65;color:var(--ow-ink)}
.ow-review__body p{margin:0 0 .8em}
.ow-review__body p:last-child{margin:0}
.ow-review__pending{margin:0;font-size:var(--fs-xs);color:var(--ow-muted);font-style:italic}
.ow-review-actions{display:flex;align-items:center;gap:6px 14px;margin:4px 0 0;font-size:var(--fs-xs);color:var(--ow-muted)}
.ow-review-actions__btn{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px;border:1px solid var(--ow-line);border-radius:999px;background:none;font-size:var(--fs-xs);cursor:pointer}
.ow-review-actions__btn:hover{border-color:var(--ow-ink)}
.ow-review-actions__btn:disabled{border-color:var(--ow-ink);color:var(--ow-ink);cursor:default}
.ow-review-actions__report{margin-left:auto;background:none;border:0;padding:0;font-size:var(--fs-xs);color:var(--ow-muted);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.ow-review-actions__report:hover{color:var(--ow-signal)}
.ow-rating-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;align-items:center;padding-bottom:28px}
@media (min-width:760px){.ow-rating-summary{grid-template-columns:auto auto minmax(220px,320px);gap:20px 36px;justify-content:start}}
.ow-rating-summary__score{margin:0;font:500 expanded 64px/.9 var(--ow-display);letter-spacing:-.03em}
.ow-rating-summary__count{margin:6px 0 0;font-size:var(--fs-sm);color:var(--ow-muted)}
.ow-rating-bars{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-column:1/-1}
@media (min-width:760px){.ow-rating-bars{grid-column:auto}}
.ow-rating-bars li{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:10px;font-size:var(--fs-xs);color:var(--ow-muted)}
.ow-rating-bars__track{height:4px;background:var(--ow-mist)}
.ow-rating-bars__track span{display:block;height:100%;background:var(--ow-ink)}
.ow-rating-bars__n{text-align:right;font-variant-numeric:tabular-nums}
.ow-review-sort{display:flex;gap:20px;margin:0 0 4px;font-size:var(--fs-sm)}
.ow-review-sort a{text-decoration:none;color:var(--ow-muted);padding:10px 0;border-bottom:1.5px solid transparent}
.ow-review-sort a[aria-current=true],.ow-review-sort a:hover{color:var(--ow-ink);border-color:var(--ow-signal)}
#reviews #review_form_wrapper{max-width:68ch}
#reviews > [data-ow-review-notice],#reviews .ow-callout{max-width:68ch}
.ow-star-input{display:flex;align-items:center;gap:2px;margin-top:4px}
.ow-star-input__star{width:40px;height:40px;padding:0;border:0;background:none;font-size:28px;line-height:1;color:var(--ow-line);cursor:pointer;transition:color var(--t-fast),transform var(--t-fast)}
.ow-star-input__star.is-on{color:var(--ow-ink)}
.ow-star-input__star:hover{transform:scale(1.08)}
.ow-star-input__hint{margin-left:12px;font-size:var(--fs-sm);color:var(--ow-muted)}
.ow-star-input.is-invalid .ow-star-input__hint{color:var(--ow-signal)}
#review_form .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start}
#review_form .comment-form-cookies-consent label{font:400 var(--fs-sm)/1.4 var(--ow-sans);letter-spacing:0;text-transform:none;color:var(--ow-muted);margin:0}
#review_form .comment-form-cookies-consent input{margin-top:3px}
#review_form .comment-notes{font-size:var(--fs-sm);color:var(--ow-muted)}
