/* ═══════════════════════════════════════════════════════
   Sacks theme · shop.css
   WooCommerce markup only: buttons, notices, product cards, archives,
   single product. WooCommerce's default stylesheets are not loaded.
   ═══════════════════════════════════════════════════════ */

/* ── Buttons & notices ─────────────────────────────────── */
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-head);font-weight:700;font-size:14.5px;line-height:1.2;padding:12px 22px;border:0;border-radius:var(--r-pill);background:var(--ink);color:#fff;cursor:pointer;text-decoration:none;transition:background .16s,transform .16s;}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:#0f172a;color:#fff;}
.woocommerce-form-login__submit,.woocommerce-ResetPassword .button,.woocommerce .woocommerce-form-login__submit,.button.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .single_add_to_cart_button,.woocommerce a.checkout-button,.woocommerce #place_order,.single_add_to_cart_button,.checkout-button,#place_order{background:var(--brand);color:#fff;}
.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce .single_add_to_cart_button:hover,.woocommerce a.checkout-button:hover,.woocommerce #place_order:hover{background:var(--brand-dark);color:#fff;}
.button:disabled,.button.disabled,.button[disabled]{opacity:.5;cursor:not-allowed;}
.button.loading{opacity:.7;}
.button.added::after{content:"✓";margin-left:4px;}
.added_to_cart{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:var(--brand);}

.woocommerce-notices-wrapper:empty{display:none;}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.wc-block-components-notice-banner{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 20px;padding:14px 18px;border-radius:var(--r);border-left:4px solid var(--go);background:var(--go-tint);color:var(--ink);font-size:14.5px;}
.woocommerce-info,.woocommerce-noreviews{border-left-color:var(--ink-2);background:var(--surface);}
.woocommerce-error{border-left-color:var(--brand);background:var(--brand-tint);display:block;}
.woocommerce-error li + li{margin-top:6px;}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto;padding:9px 16px;font-size:13.5px;}
.woocommerce-message a:not(.button),.woocommerce-info a:not(.button),.woocommerce-error a{color:var(--brand);font-weight:600;text-decoration:underline;}

/* Star rating (WooCommerce markup, no icon font) */
.star-rating{position:relative;display:inline-block;width:5.6em;height:1.1em;line-height:1.1;font-size:14px;overflow:hidden;font-family:Arial,sans-serif;}
.star-rating::before{content:"★★★★★";position:absolute;inset:0;color:var(--line-2);letter-spacing:.12em;}
.star-rating span{position:absolute;top:0;left:0;height:100%;overflow:hidden;text-indent:-9999px;}
.star-rating span::before{content:"★★★★★";position:absolute;top:0;left:0;text-indent:0;color:var(--amber);letter-spacing:.12em;}
p.stars{margin:6px 0 14px;}
p.stars span{display:inline-flex;gap:4px;}
p.stars a{position:relative;display:inline-block;width:1.4em;height:1.4em;overflow:hidden;text-indent:-9999px;font-size:20px;}
p.stars a::before{content:"★";position:absolute;inset:0;text-indent:0;color:var(--line-2);}
p.stars:hover a::before,p.stars.selected a::before{color:var(--amber);}
p.stars a:hover ~ a::before,p.stars.selected a.active ~ a::before{color:var(--line-2);}

/* Prices */
.price{font-family:var(--font-head);font-weight:700;color:var(--ink);}
.price del{color:var(--muted);font-weight:400;font-size:.8em;margin-right:4px;}
.price ins{text-decoration:none;color:var(--brand);}
.woocommerce-price-suffix{font-family:var(--font-body);font-weight:400;font-size:12px;color:var(--muted);margin-left:4px;}
.onsale{position:absolute;top:11px;left:11px;z-index:2;background:var(--brand);color:#fff;font-family:var(--font-head);font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:var(--r-pill);letter-spacing:.03em;}

/* ── Product cards ─────────────────────────────────────── */
ul.products{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.coll-main ul.products{grid-template-columns:repeat(3,1fr);}
ul.products li.product{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease);}
ul.products li.product:hover{border-color:var(--line-2);box-shadow:var(--shadow-lg);transform:translateY(-3px);}
ul.products li.product .media{position:relative;display:grid;place-items:center;aspect-ratio:1/1;background:var(--surface);padding:18px;}
ul.products li.product .media img{width:100%;height:100%;object-fit:contain;transition:transform .3s var(--ease);}
ul.products li.product:hover .media img{transform:scale(1.05);}
ul.products li.product .body{padding:15px 16px 17px;display:flex;flex-direction:column;flex:1;}
.cat-lbl{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.card-title{font-size:14.5px;line-height:1.35;margin-top:6px;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card-title a:hover{color:var(--brand);}
ul.products .star-rating{margin-top:6px;font-size:12px;}
ul.products .spec{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;}
ul.products .opts{display:block;font-size:12px;color:var(--brand);font-weight:600;margin-top:7px;}
ul.products .stock{font-size:12px;font-weight:600;margin-top:6px;}
.stock.out,.out-of-stock{color:var(--brand);}
.stock.low,.available-on-backorder{color:var(--warn);}
.stock.in-stock{color:var(--go);}
ul.products .foot{margin-top:auto;padding-top:13px;display:flex;align-items:center;gap:10px;}
ul.products .price{font-size:19px;line-height:1.1;white-space:nowrap;}
ul.products .price .from{display:block;font-family:var(--font-body);font-weight:400;font-size:12px;color:var(--muted);}
ul.products .woocommerce-price-suffix{display:block;margin:2px 0 0;}
ul.products .opts-btn{margin-left:auto;padding:10px 15px;font-size:13px;background:var(--brand);white-space:nowrap;flex-shrink:0;}
ul.products .opts-btn:hover{background:var(--brand-dark);transform:translateY(-1px);}
ul.products .opts-btn.product_type_variable::after,ul.products .opts-btn.product_type_grouped::after{content:"";width:14px;height:14px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;}
ul.products .added_to_cart{position:absolute;right:16px;bottom:-2px;}
@media(max-width:1000px){ul.products{grid-template-columns:repeat(3,1fr);}}
@media(max-width:1080px){.coll-main ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:860px){ul.products .foot{flex-wrap:wrap;gap:8px;}ul.products .opts-btn{margin-left:0;width:100%;}}
@media(max-width:760px){ul.products,.coll-main ul.products{grid-template-columns:1fr 1fr;gap:12px;}.card-title{font-size:13.5px;}ul.products .price{font-size:16px;}}

/* ── Archive ───────────────────────────────────────────── */
.shop-wrap{padding-bottom:20px;}
.woocommerce-products-header{margin-top:20px;padding:34px;background:linear-gradient(165deg,var(--surface),#e6eff8);border-radius:var(--r-lg);display:grid;grid-template-columns:1fr auto;column-gap:32px;align-items:center;}
.woocommerce-products-header > *:not(.arch-art){grid-column:1;}
.woocommerce-products-header__title{font-size:clamp(28px,3.6vw,42px);line-height:1.08;}
.term-description,.page-description{margin-top:12px;color:var(--ink-2);font-size:16px;line-height:1.6;max-width:62ch;}
.term-description > * + *{margin-top:.8em;}
.arch-badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.arch-badges li{display:inline-flex;align-items:center;gap:7px;background:#fff;border-radius:var(--r-pill);padding:7px 14px;font-size:13px;font-weight:600;color:var(--ink-2);box-shadow:var(--shadow);}
.arch-badges .icon{color:var(--go);}
.arch-art{grid-column:2;grid-row:1/span 4;}
.arch-art img{width:200px;height:200px;object-fit:contain;}
@media(max-width:820px){.woocommerce-products-header{padding:26px 20px;column-gap:18px;}.arch-art img{width:110px;height:110px;}}
@media(max-width:560px){.woocommerce-products-header{grid-template-columns:1fr;}.arch-art{grid-column:1;grid-row:auto;order:-1;}}

.coll-layout{display:grid;grid-template-columns:240px 1fr;gap:38px;align-items:start;padding-top:30px;}
.coll-main{min-width:0;}
.coll-filters{position:sticky;top:calc(var(--header-h) + 16px);max-height:calc(100vh - var(--header-h) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.fil-group{border-bottom:1px solid var(--line);padding:18px 0;}
.fil-group:first-child{padding-top:0;}
.fil-title{font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.fil-list{list-style:none;}
.fil-opt{display:flex;align-items:center;gap:10px;font-size:14px;padding:7px 0;color:var(--ink-2);}
.fil-opt:hover{color:var(--brand);}
.fil-opt.active{font-weight:700;color:var(--brand);}
.fil-opt .ct{margin-left:auto;font-size:11.5px;color:var(--muted);background:var(--surface);border-radius:var(--r-pill);padding:2px 8px;}
.grp-link{position:relative;padding:9px 10px 9px 13px;border-radius:var(--r-sm);line-height:1.35;}
.grp-link::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--brand);border-radius:2px;transition:height .2s var(--ease);}
.grp-link:hover{background:var(--surface);}
.grp-link.active{background:var(--brand-tint);color:var(--brand);font-weight:700;}
.grp-link.active::before{height:62%;}
.grp-link.active .ct{background:#fff;color:var(--brand-ink);}
.fil-back{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:12.5px;font-weight:600;color:var(--muted);}
.fil-back:hover{color:var(--brand);}
.fil-price{display:flex;align-items:center;gap:8px;}
.fil-price span{font-weight:600;color:var(--muted);}
.fil-price input{width:100%;min-width:0;padding:9px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:14px;outline:none;background:#fff;}
.fil-price input:focus{border-color:var(--brand);}
.fil-clear{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:3px;}
.fil-help p{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin-bottom:12px;}
.fil-toggle{display:none;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px var(--line-2);font-size:14px;font-weight:600;}
.coll-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.woocommerce-result-count{font-size:14px;color:var(--muted);font-weight:500;}
.sort-lbl{margin-left:auto;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.woocommerce-ordering{margin-left:0;}
.coll-bar:not(:has(.sort-lbl)) .woocommerce-ordering{margin-left:auto;}
.woocommerce-ordering select,.coll-main select.orderby{padding:10px 34px 10px 14px;border:1.5px solid var(--line);border-radius:var(--r-pill);font-size:14px;font-weight:600;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-width='2.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;}
.woocommerce-ordering select:focus{border-color:var(--brand);}
.coll-main > ul.products{padding-top:26px;}
@media(max-width:1080px){
  .coll-layout{grid-template-columns:1fr;gap:0;}
  .coll-filters{position:static;max-height:none;overflow:visible;display:none;margin:0 0 16px;padding:20px;border:1px solid var(--line);border-radius:var(--r);}
  .coll-filters.open{display:block;}
  .fil-toggle{display:inline-flex;}
}

/* Size groups */
.grp{scroll-margin-top:16px;padding-top:26px;}
.grp + .grp{margin-top:54px;padding-top:40px;border-top:1px solid var(--line);}
.grp > ul.products{padding-top:18px;}
.grp-head h2{font-size:25px;line-height:1.2;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.grp-ct{font-size:12px;font-weight:700;color:var(--brand-ink);background:var(--brand-tint);border:1px solid #f6dede;border-radius:var(--r-pill);padding:3px 10px;line-height:1.5;font-family:var(--font-body);letter-spacing:0;}
.grp-head p{margin-top:7px;color:var(--muted);font-size:14.5px;line-height:1.55;max-width:70ch;}
@media(max-width:760px){.grp + .grp{margin-top:38px;padding-top:28px;}.grp-head h2{font-size:20px;}.grp-head p{font-size:13.5px;}}
/* Sub-headings inside a band (one tonne bags by size…), as in the demo, with a
   little more air so each size reads as its own block (Martin, 6 Nov). */
.grp-sub{scroll-margin-top:16px;}
.grp-head + .grp-sub{margin-top:24px;}
.grp-sub + .grp-sub{margin-top:44px;}
.grp-sub > h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:18px;line-height:1.3;color:var(--ink-2);padding-bottom:12px;border-bottom:1px dashed var(--line-2);}
.grp-sub > ul.products{padding-top:20px;}
@media(max-width:760px){.grp-sub > h3{font-size:16px;}.grp-sub + .grp-sub{margin-top:32px;}}

.woocommerce-pagination ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:36px;list-style:none;}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:var(--r-pill);border:1.5px solid var(--line);font-weight:600;font-size:14px;}
.woocommerce-pagination a:hover{border-color:var(--brand);color:var(--brand);}
.woocommerce-pagination .current{background:var(--brand);border-color:var(--brand);color:#fff;}
.arch-after{margin-top:48px;}
.woocommerce-no-products-found{margin-top:24px;}

/* ── Single product ────────────────────────────────────── */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding-top:26px;align-items:start;}
.single-product div.product > .up-sells,.single-product div.product > .related,.single-product div.product > .woocommerce-tabs{grid-column:1/-1;}
.pdp-media{position:relative;min-width:0;}
.pdp-media .onsale{top:16px;left:16px;font-size:12px;padding:6px 13px;}
.woocommerce-product-gallery{position:relative;background:var(--surface);border-radius:var(--r-lg);padding:28px;}
.woocommerce-product-gallery__wrapper{margin:0;}
.woocommerce-product-gallery__image img{width:100%;aspect-ratio:1/1;object-fit:contain;}
.woocommerce-product-gallery .flex-viewport{border-radius:var(--r);}
.woocommerce-product-gallery__trigger{position:absolute;top:16px;right:16px;z-index:5;width:38px;height:38px;border-radius:var(--r-pill);background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;font-size:0;}
.woocommerce-product-gallery__trigger::before{content:"";width:14px;height:14px;border:2px solid var(--ink);border-radius:50%;}
.woocommerce-product-gallery__trigger span{display:none;}
.flex-control-thumbs{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;}
.flex-control-thumbs img{cursor:pointer;opacity:.6;border-radius:var(--r-sm);background:#fff;aspect-ratio:1/1;object-fit:contain;transition:opacity .15s;}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{opacity:1;}
.pdp-usp{list-style:none;display:grid;gap:10px;margin-top:16px;}
.pdp-usp li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:13px 16px;}
.pdp-usp .icon{color:var(--brand);}
.pdp-usp b{font-family:var(--font-head);font-size:14px;display:block;}
.pdp-usp small{color:var(--muted);font-size:12.5px;}

.summary{min-width:0;}
.pdp-cat{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);}
.pdp-cat:hover{text-decoration:underline;text-underline-offset:3px;}
.product_title{font-size:clamp(23px,2.4vw,28px);line-height:1.2;margin-top:10px;text-wrap:balance;}
.has-long-product-title .product_title{font-size:clamp(21px,2vw,24px);line-height:1.25;}
.woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;}
.woocommerce-review-link{color:var(--muted);text-decoration:underline;}
.summary > .price{font-size:24px;margin-top:12px;line-height:1.2;}/* one step under the 28px title */
.has-long-product-title .summary > .price{font-size:22px;}
.woocommerce-product-details__short-description{margin-top:14px;color:var(--ink-2);font-size:15px;}
.woocommerce-product-details__short-description > * + *{margin-top:.6em;}
.summary form.cart{margin-top:22px;}
.variations{width:100%;border-collapse:collapse;margin-bottom:6px;}
.variations tr{display:block;margin-bottom:12px;}
.variations th,.variations td{display:block;padding:0;text-align:left;}
.variations th label{display:block;font-family:var(--font-head);font-weight:700;font-size:14px;margin-bottom:8px;}
.variations td.value{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.variations select,.summary select{flex:1;min-width:0;max-width:100%;height:52px;padding:0 46px 0 20px;border:1.5px solid var(--line-2);border-radius:var(--r-pill);font-size:15px;font-weight:600;color:var(--ink);transition:border-color .15s,box-shadow .15s;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-width='2.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 20px center;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;}
.variations select:hover,.summary select:hover{border-color:#94a3b8;}
.variations select:focus-visible,.summary select:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);}
.variations tr{position:relative;}
.reset_variations{position:absolute;top:0;right:4px;font-size:13px;line-height:22px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;}
.reset_variations:hover{color:var(--brand);}
.single_variation_wrap .woocommerce-variation{margin:4px 0 14px;}
.woocommerce-variation-price .price{font-size:22px;}
.woocommerce-variation-availability .stock,.summary > .stock{font-size:13.5px;font-weight:600;margin-top:6px;}
.woocommerce-variation-add-to-cart,.summary form.cart:not(.variations_form){display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;}
.single_add_to_cart_button{flex:1;min-width:200px;min-height:52px;font-size:16px;padding:15px 24px;}
.summary form.cart button.single_add_to_cart_button{min-height:52px;padding:0 28px;font-size:16px;gap:10px;letter-spacing:.01em;
  box-shadow:0 10px 22px -14px rgba(176,28,28,.75);transition:background .16s,transform .16s,box-shadow .16s;}
.summary form.cart button.single_add_to_cart_button:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 14px 26px -14px rgba(176,28,28,.8);}
.summary form.cart button.single_add_to_cart_button:active:not(.disabled){transform:translateY(0);box-shadow:0 6px 14px -10px rgba(176,28,28,.7);}
.summary form.cart button.single_add_to_cart_button:focus-visible{outline:3px solid var(--brand-tint);outline-offset:2px;box-shadow:0 0 0 2px var(--brand);}

/* Quantity input + stepper (stepper added by main.js) */
.quantity{display:inline-flex;align-items:center;flex-shrink:0;border:1.5px solid var(--line-2);border-radius:var(--r-pill);overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s;}
.quantity:hover{border-color:#94a3b8;}
.quantity:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);}
.quantity input.qty{width:56px;height:50px;border:0;text-align:center;font-weight:700;font-size:16px;background:transparent;-moz-appearance:textfield;appearance:textfield;outline:none;}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.quantity input.qty:focus-visible{outline:0;}
.qty-step{width:46px;height:49px;display:grid;place-items:center;font-size:19px;color:var(--ink-2);transition:background .14s,color .14s;}
.qty-step:hover{background:var(--surface);color:var(--brand);}
.qty-step:active{background:var(--line);}
.quantity:has(input[type=hidden]){border:0;}

.pdp-pay{margin-top:14px;font-size:13.5px;color:var(--muted);line-height:1.55;}
.pdp-pay a{color:var(--brand);font-weight:700;}

/* Price: "€x to €y" + hint */
.summary > .price .to{font-family:var(--font-body);font-weight:400;font-size:15px;color:var(--muted);}
.summary > .price .price-hint{display:block;font-family:var(--font-body);font-weight:400;font-size:13px;color:var(--muted);margin-top:6px;}
.summary > .price .woocommerce-price-suffix{font-size:13px;}
.pdp-stock{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13.5px;font-weight:600;}
.pdp-stock .d{width:7px;height:7px;border-radius:50%;background:currentColor;}
/* The chosen tier's price and stock show in the main lines (cart.js), as in the design. */
.single_variation .woocommerce-variation-price,.single_variation .woocommerce-variation-availability{display:none;}
.pdp-stock.out-of-stock{color:var(--brand);}

/* Add to basket: cart icon, "Choose an option" until a tier is picked */
.single_add_to_cart_button::before{content:"";width:18px;height:18px;background:currentColor;flex-shrink:0;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat;}
.single_add_to_cart_button.disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;}

/* One details table: SKU, Delivery, Collection */
.pdp-meta{margin-top:22px;border-top:1px solid var(--line);}
.pdp-meta > div{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;}
.pdp-meta dt{width:118px;flex-shrink:0;color:var(--muted);font-weight:500;}
.pdp-meta dd{color:var(--ink-2);margin:0;}
.pdp-meta dd a{color:var(--brand);}

/* Tabs as accordions */
.pdp-tabs{margin-top:26px;}
.pdp-tab{border:1px solid var(--line);border-radius:var(--r);margin-bottom:9px;overflow:hidden;background:#fff;}
.pdp-tab[open]{border-color:var(--brand);}
.pdp-tab > summary{list-style:none;cursor:pointer;padding:15px 18px;font-family:var(--font-head);font-weight:700;font-size:15.5px;display:flex;align-items:center;gap:12px;}
.pdp-tab > summary::-webkit-details-marker{display:none;}
.pdp-tab > summary::after{content:"";margin-left:auto;width:10px;height:10px;border-right:2.4px solid var(--brand);border-bottom:2.4px solid var(--brand);transform:rotate(45deg);transition:transform .22s var(--ease);flex-shrink:0;}
.pdp-tab[open] > summary::after{transform:rotate(-135deg);}
.pdp-tab .tc{padding:0 18px 18px;font-size:14.5px;line-height:1.65;color:var(--ink-2);}
.pdp-tab .tc > * + *{margin-top:.9em;}
.pdp-tab .tc ul{padding-left:1.2em;}
.woocommerce-product-attributes{width:100%;border-collapse:collapse;}
.woocommerce-product-attributes th,.woocommerce-product-attributes td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top;}
.woocommerce-product-attributes th{width:34%;color:var(--ink);}
.woocommerce-product-attributes td p{margin:0;}
.qty-list{padding-left:19px;}
.qty-list li{margin:6px 0;}
.qty-list b{color:var(--ink);font-weight:700;}
.qty-list .qty-sku{color:var(--muted);}
.qty-list em{font-style:normal;font-size:12px;color:var(--brand);}

/* Reviews */
#reviews .commentlist{list-style:none;display:grid;gap:16px;margin:16px 0 24px;}
#reviews .comment_container{display:flex;gap:14px;}
#reviews .comment_container img.avatar{width:44px;height:44px;border-radius:50%;}
#reviews .comment-text{flex:1;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;}
#reviews .meta{font-size:13px;color:var(--muted);margin:4px 0 6px;}
#review_form .comment-reply-title{display:block;font-family:var(--font-head);font-weight:700;font-size:17px;margin-bottom:10px;}
#review_form .comment-form{display:grid;gap:12px;}
#review_form label{display:block;font-weight:600;font-size:13.5px;margin-bottom:5px;}
#review_form input[type=text],#review_form input[type=email],#review_form textarea{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);outline:none;}
#review_form textarea:focus,#review_form input:focus{border-color:var(--brand);}
#review_form #rating{display:none;}
#review_form .submit{background:var(--brand);color:#fff;border:0;padding:12px 22px;border-radius:var(--r-pill);font-family:var(--font-head);font-weight:700;cursor:pointer;}

.related,.up-sells,.cross-sells{padding:56px 0 24px;}
.related-wrap{grid-column:1/-1;padding-top:64px;}
.related-wrap > .kicker{margin-bottom:6px;}
.related-wrap > .related{padding-top:0;}
.related > h2,.up-sells > h2,.cross-sells > h2{font-size:clamp(22px,2.6vw,28px);margin-bottom:22px;}
@media(max-width:900px){.single-product div.product{grid-template-columns:1fr;gap:30px;}.woocommerce-product-gallery{padding:18px;}}
/* Phones and tablets: the selling points (Next day DPD, No minimum order…) leave the
   gallery column and sit after the buy box, just before "You might also need", so the
   title, price and Add to basket come straight after the photo. */
@media(max-width:900px){
  .single-product div.product{position:relative;}
  .single-product .pdp-media{display:contents;}
  .single-product .pdp-media .onsale{top:42px;}/* was relative to .pdp-media: 26px product padding + 16px */
  .single-product .pdp-usp{order:1;margin-top:0;}
  .single-product div.product > .related-wrap,.single-product div.product > .up-sells,.single-product div.product > .related{order:2;}
}
@media(pointer:coarse),(max-width:760px){.qty-step{width:46px;}}

/* ── Product text from the old themes (see inc/woocommerce/content-cleanup.php) ── */
.pdp-spec{margin-top:10px;font-size:15px;color:var(--ink-2);}
.pdp-about{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);}
.pdp-about .woocommerce-product-details__short-description{margin-top:0;}
.woocommerce-product-details__short-description,.pdp-tab.woocommerce-Tabs-panel--description .tc{text-align:left;line-height:1.6;}
.woocommerce-product-details__short-description strong,.woocommerce-product-details__short-description b,
.pdp-tab.woocommerce-Tabs-panel--description .tc strong{font-weight:600;color:var(--ink);}
/* Old product copy marks ordinary sentences up as <h4>s: show them as the same plain text as the
   other tabs (Delivery & collection, Bulk & trade pricing), not as headings. */
.woocommerce-product-details__short-description :is(h1,h2,h3,h4,h5,h6),.pdp-tab.woocommerce-Tabs-panel--description .tc :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-body);font-size:inherit;line-height:inherit;font-weight:400;letter-spacing:0;color:inherit;margin:0;text-wrap:wrap;}
.pdp-tab.woocommerce-Tabs-panel--description .tc{font-size:14.5px;line-height:1.65;color:var(--ink-2);}
.woocommerce-product-details__short-description img,.pdp-tab.woocommerce-Tabs-panel--description .tc img{max-width:100%;height:auto;}
.pdp-note{margin:12px 0 0;padding:11px 14px;border-radius:var(--r-sm);font-size:14px;font-weight:600;line-height:1.45;border-left:3px solid var(--brand);background:var(--brand-tint);color:var(--brand-ink);}
.pdp-note-info{border-left-color:var(--ink-2);background:var(--surface);color:var(--ink);}
/* Old copy is bold from top to bottom: keep the first line as a heading, the rest regular. */
.pdp-about .woocommerce-product-details__short-description strong,.pdp-about .woocommerce-product-details__short-description b{font-weight:500;}
.pdp-about .woocommerce-product-details__short-description > p:first-child strong,.pdp-about .woocommerce-product-details__short-description > p:first-child b{font-weight:700;font-family:var(--font-head);font-size:16px;}
.pdp-about .woocommerce-product-details__short-description > * + *{margin-top:.35em;}
.pdp-tab.woocommerce-Tabs-panel--description .tc strong,.pdp-tab.woocommerce-Tabs-panel--description .tc b{font-weight:500;}
.pdp-tab.woocommerce-Tabs-panel--description .tc :is(h2,h3,h4) strong{font-weight:inherit;}
