/* ==========================================================================
   Switching LED — WooCommerce design layer.
   Harmonises WooCommerce core markup with the theme design system (tokens in
   main.css). RTL, mobile-first, logical properties. Loaded only on shop routes.
   ========================================================================== */

/* ---------- Shared shells ---------- */
.woo{padding-block:clamp(2rem,4vw,3.25rem)}
.wc-archive__hero .crumbs,.wc-single__hero .crumbs,.search-hero .crumbs{margin-bottom:.75rem}

/* kill WooCommerce's default page title / demo-store banner we don't use */
.woocommerce-products-header__title,.woocommerce-breadcrumb{display:none}
.woo .woocommerce-result-count{margin:0}

/* WooCommerce buttons → theme pill buttons -------------------------------- */
.woo .button,.woo .button.alt,.wc-single .button,
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce #respond input#submit,.woocommerce input.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.7rem 1.4rem;font-weight:700;font-size:var(--fs-200);line-height:1;
  background:var(--accent);color:#fff!important;border:2px solid transparent;border-radius:var(--radius-pill);
  cursor:pointer;white-space:nowrap;box-shadow:var(--glow);
  transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woo .button:hover{background:var(--accent-600);transform:translateY(-2px);box-shadow:0 20px 48px rgba(23,137,201,.42);color:#fff!important}
/* .alt is WooCommerce's purple primary — force it to our accent (WC's
   `a.button.alt` selector carries an element, so it out-specifies us). */
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woo--single .single_add_to_cart_button,.woocommerce #place_order{background:var(--accent) !important;color:#fff !important;box-shadow:var(--glow)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woo--single .single_add_to_cart_button:hover,.woocommerce #place_order:hover{background:var(--accent-600) !important}
/* secondary / ghost variant WC uses for "view cart", pagination etc. */
.woocommerce a.added_to_cart{background:var(--ink);box-shadow:var(--shadow-sm);margin-inline-start:.5rem}
.woocommerce a.added_to_cart:hover{background:var(--ink-2)}

/* ==========================================================================
   Product archive — shop / category / tag
   ========================================================================== */
.wc-archive__eyebrow{margin-bottom:.9rem}
.wc-archive__title{margin:0;max-width:24ch}
.wc-archive__desc{margin-top:.9rem;color:var(--muted);font-size:var(--fs-400);max-width:70ch}
.wc-archive__desc p{margin:0 0 .6rem}
.wc-archive__desc p:last-child{margin-bottom:0}

/* toolbar: result count + tools (search + ordering) */
.wc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-bottom:clamp(1.4rem,3vw,2rem);padding-bottom:1.1rem;border-block-end:1px solid var(--line)}
.wc-toolbar__count{color:var(--muted);font-size:var(--fs-200)}
.wc-toolbar__count .woocommerce-result-count{color:var(--muted);font-size:var(--fs-200)}
.wc-toolbar__tools{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}

/* WooCommerce ordering select */
.woocommerce-ordering{margin:0}
.woocommerce-ordering select,select.orderby{
  min-height:46px;padding:.5rem 2.2rem .5rem .9rem;border:1px solid var(--line);border-radius:var(--radius-pill);
  background:#fff;color:var(--ink);font-weight:600;font-size:var(--fs-200);cursor:pointer;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2351606E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left .9rem center}
.woocommerce-ordering select:focus,select.orderby:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}

/* search pill (shop toolbar + site search) */
.wc-search{position:relative;display:flex;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-pill);min-height:46px;padding-inline-start:.9rem;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.wc-search:focus-within{border-color:var(--accent);box-shadow:var(--ring)}
.wc-search__ico{display:inline-flex;color:var(--muted-2);flex:none}
.wc-search__input{flex:1;min-width:0;border:0;background:none;padding:.5rem .7rem;font-size:var(--fs-200);color:var(--ink)}
.wc-search__input:focus{outline:none}
.wc-search__input::placeholder{color:var(--muted-2)}
.wc-search__btn{flex:none;min-height:46px;padding:.5rem 1.2rem;border:0;background:var(--accent);color:#fff;font-weight:700;font-size:var(--fs-200);cursor:pointer;transition:background .2s}
.wc-search__btn:hover{background:var(--accent-600)}
.wc-search--site{min-height:54px;max-width:560px}
.wc-search--site .wc-search__btn{min-height:54px;padding-inline:1.6rem}

/* product grid */
/* Grid overrides WC core (which forces float + width:30.75% on li.product via
   .columns-N selectors) — !important is required to beat that specificity. */
.woo ul.products,
.woo--single .related ul.products,
.woo--single .upsells ul.products{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.2vw,1.6rem);margin:0;padding:0}
.woo ul.products::before,.woo ul.products::after{content:none !important;display:none !important}
.woo ul.products li.product,
.woo--single .related ul.products li.product,
.woo--single .upsells ul.products li.product{width:auto !important;max-width:none !important;min-width:0;margin:0 !important;float:none !important;clear:none !important;padding:0}
@media(max-width:900px){.woo ul.products,.woo--single .related ul.products,.woo--single .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:520px){.woo ul.products,.woo--single .related ul.products,.woo--single .upsells ul.products{grid-template-columns:1fr !important}}

/* product card */
.wc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.wc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.wc-card__media{position:relative;aspect-ratio:4/3;background:var(--surface-2);overflow:hidden}
.wc-card__imglink{display:block;height:100%}
.wc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.wc-card:hover .wc-card__media img{transform:scale(1.06)}
.wc-card__oos{position:absolute;inset-block-end:10px;inset-inline-start:10px;z-index:2;background:rgba(7,19,31,.82);color:#fff;
  font-size:var(--fs-100);font-weight:700;padding:.3rem .7rem;border-radius:var(--radius-pill)}
.wc-card__body{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.15rem 1.2rem;flex:1}
.wc-card__cat{font-size:var(--fs-100);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-600)}
.wc-card__title{font-size:var(--fs-400);line-height:1.3;margin:0}
.wc-card__title a{color:var(--ink);transition:color .15s}
.wc-card__title a:hover{color:var(--accent-600)}
.wc-card__excerpt{font-size:var(--fs-200);color:var(--muted);line-height:1.55;margin:0}
.wc-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:.7rem}
.wc-card__price{font-weight:800;font-size:var(--fs-400);color:var(--ink)}
.wc-card__price del{color:var(--muted-2);font-weight:600;font-size:var(--fs-200);margin-inline-end:.35rem;opacity:.8}
.wc-card__price ins{text-decoration:none;color:var(--ink)}
.wc-card__foot .btn,.wc-card__foot .button,.wc-card__foot .added_to_cart{margin:0;flex:none}
.wc-card__foot .button{min-height:44px;padding:.55rem 1.1rem;box-shadow:none}

/* star rating (shared) */
.woo .star-rating,.wc-card__rating .star-rating,.search-card .star-rating{font-size:.9em;color:var(--amber);margin:0}
.woocommerce .star-rating::before{color:var(--line)}
.woocommerce .star-rating span::before{color:var(--amber)}

/* sale flash badge */
.woocommerce span.onsale,.wc-card .onsale,.woo .onsale{position:absolute;inset-block-start:10px;inset-inline-end:10px;z-index:3;
  min-height:0;min-width:0;margin:0;padding:.35rem .7rem;background:var(--amber);color:#20160a;font-weight:800;font-size:var(--fs-100);
  line-height:1;border-radius:var(--radius-pill);box-shadow:0 6px 16px -6px rgba(245,165,36,.7)}
/* On the single product the flash is a child of div.product — pin it to the
   gallery (inline-start = right in RTL) so it never lands on the title. */
.woo--single div.product>.onsale{inset-block-start:16px;inset-inline-start:16px;inset-inline-end:auto;z-index:6;padding:.45rem .85rem;font-size:var(--fs-200)}

/* pagination */
.woocommerce-pagination{margin-top:clamp(2rem,4vw,3rem);text-align:center}
.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul{display:inline-flex;gap:.4rem;border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 .5rem;
  border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:700;transition:all .15s}
.woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--accent);color:var(--accent-600)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--accent);border-color:var(--accent);color:#fff}

/* empty archive / search state */
.wc-empty{text-align:center;max-width:560px;margin-inline:auto;padding:clamp(2.5rem,6vw,4rem) 1rem}
.wc-empty__ico{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;
  background:var(--surface-alt);border:1px solid var(--line);color:var(--accent);margin-bottom:1.25rem}
.wc-empty h2{font-size:var(--fs-600);margin-bottom:.6rem}
.wc-empty p{color:var(--muted);margin-bottom:1.5rem}

/* ==========================================================================
   Single product
   ========================================================================== */
/* Slim breadcrumb bar — just the crumbs, minimal height under the header. */
.wc-single__hero{padding-block:.5rem;background:none;border-block-end:1px solid var(--line)}
.wc-single__hero .crumbs{margin-bottom:0}
.woo--single{padding-block:clamp(1.5rem,3vw,2.5rem) clamp(2.5rem,5vw,4rem)}
.woo--single div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.25rem);margin:0;position:relative}
@media(max-width:900px){.woo--single div.product{grid-template-columns:1fr;gap:1.75rem}}

/* gallery */
.woo--single .woocommerce-product-gallery{position:relative;margin:0;float:none;width:auto!important;
  position:sticky;inset-block-start:calc(var(--header-h) + 1rem);align-self:start}
@media(max-width:900px){.woo--single .woocommerce-product-gallery{position:static}}
.woo--single .woocommerce-product-gallery__wrapper{margin:0}
.woo--single .woocommerce-product-gallery__image{position:relative;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.woo--single .woocommerce-product-gallery__image a{display:block;cursor:zoom-in}
.woo--single .woocommerce-product-gallery__image img{width:100%;height:auto;display:block}
/* expand / lightbox trigger — magnifier-plus, prominent */
.woo--single .woocommerce-product-gallery__trigger{position:absolute;inset-block-start:14px;inset-inline-start:14px;z-index:5;
  width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow);
  display:grid;place-items:center;text-indent:0;font-size:0;transition:transform .15s var(--ease),background .2s}
.woo--single .woocommerce-product-gallery__trigger:hover{transform:scale(1.08);background:#fff}
.woo--single .woocommerce-product-gallery__trigger::after{content:"";width:22px;height:22px;background:var(--accent);
  -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' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%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' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") center/contain no-repeat}
/* thumbnails — smaller, refined */
.woo--single .flex-control-thumbs{display:flex !important;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 0;padding:0;list-style:none}
.woo--single .flex-control-thumbs li{width:auto !important;flex:0 0 auto !important;margin:0 !important;float:none !important}
.woo--single .flex-control-thumbs img{width:60px !important;height:60px !important;object-fit:cover;border-radius:10px;border:2px solid var(--line);
  cursor:pointer;opacity:.6;transition:opacity .15s,border-color .15s,transform .15s}
.woo--single .flex-control-thumbs img:hover{transform:translateY(-2px)}
.woo--single .flex-control-thumbs img:hover,.woo--single .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--accent)}

/* summary */
.woo--single .summary{margin:0;float:none;width:auto!important}
.woo--single .product_title{font-size:var(--fs-700);line-height:1.1;margin:0 0 .6rem}
.woo--single .woocommerce-product-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.woo--single .woocommerce-product-rating .woocommerce-review-link{color:var(--muted);font-size:var(--fs-200)}
.woo--single .price,.woo--single .summary .price{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
  font-size:var(--fs-600);font-weight:800;color:var(--ink);margin:0 0 1.1rem}
.woo--single .price del{color:var(--muted-2);font-weight:600;font-size:var(--fs-400);opacity:.75}
.woo--single .price ins{text-decoration:none;color:var(--accent-600)}
.woo--single .price .woocommerce-Price-currencySymbol{font-weight:700}
.woo--single .woocommerce-product-details__short-description{color:var(--muted);font-size:var(--fs-300);line-height:1.7;
  margin-bottom:1.4rem;padding-bottom:1.4rem;border-block-end:1px solid var(--line)}
.woo--single .woocommerce-product-details__short-description ul{list-style:none;display:grid;gap:.5rem}
.woo--single .woocommerce-product-details__short-description li{position:relative;padding-inline-start:1.6rem}
.woo--single .woocommerce-product-details__short-description li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.55em;
  width:9px;height:9px;border-radius:50%;background:var(--accent)}

/* add-to-cart form */
.woo--single form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:.75rem;margin:0 0 1.25rem}
.woo--single form.cart .quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);background:#fff;overflow:hidden}
.woo--single form.cart .quantity .qty{width:70px;height:52px;border:0;text-align:center;font-weight:700;font-size:var(--fs-300);background:none;-moz-appearance:textfield}
.woo--single form.cart .quantity .qty::-webkit-outer-spin-button,
.woo--single form.cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woo--single form.cart .single_add_to_cart_button{flex:1;min-width:200px;min-height:56px;font-size:var(--fs-400)}
.woo--single form.cart .single_add_to_cart_button::after{content:"";display:inline-block;width:20px;height:20px;
  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='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 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='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat}

/* variations table */
.woo--single .variations{width:100%;margin:0 0 1rem;border-collapse:collapse}
.woo--single .variations th,.woo--single .variations td{padding:.4rem 0;text-align:start;vertical-align:middle}
.woo--single .variations label{font-weight:700;color:var(--ink)}
.woo--single .variations select{min-height:48px;padding:.5rem .9rem;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:600;width:100%}
.woo--single .reset_variations{font-size:var(--fs-100);color:var(--accent-600)}

/* stock + meta */
.woo--single .stock{font-weight:700;font-size:var(--fs-200);margin-bottom:1rem}
.woo--single .stock.in-stock{color:var(--success)}
.woo--single .stock.in-stock::before{content:"● "}
.woo--single .stock.out-of-stock{color:#b42318}
.woo--single .product_meta{margin-top:.5rem;padding-top:1.1rem;border-block-start:1px solid var(--line);
  font-size:var(--fs-200);color:var(--muted);display:flex;flex-direction:column;gap:.4rem}
.woo--single .product_meta>span{display:flex;gap:.4rem;flex-wrap:wrap}
.woo--single .product_meta a{color:var(--accent-600);font-weight:600}

/* catalog-mode order CTA (replaces the buy box when there's no checkout) */
.wc-order{margin:0 0 1.3rem;padding:1.5rem;border-radius:var(--radius);color:#fff;box-shadow:var(--shadow);
  background:radial-gradient(120% 130% at 100% 0,var(--ink-3),var(--ink-2) 55%,var(--ink))}
.wc-order__txt{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}
.wc-order__txt strong{font-size:var(--fs-500);color:#fff;font-weight:700}
.wc-order__txt span{color:var(--on-ink-muted);font-size:var(--fs-200);line-height:1.6}
.wc-order__acts{display:flex;flex-wrap:wrap;gap:.6rem}
.wc-order__acts .btn{flex:1 1 auto}
@media(max-width:420px){.wc-order__acts .btn{flex:1 1 100%}}

/* injected trust bar + help (from inc/woocommerce.php) */
.wc-trust{list-style:none;margin:0 0 1.1rem;padding:1.1rem 1.2rem;display:grid;gap:.7rem;
  background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius)}
.wc-trust li{display:flex;align-items:center;gap:.7rem;font-size:var(--fs-200);font-weight:600;color:var(--ink-3)}
.wc-trust li .sw-ic{color:var(--accent);flex:none}
.wc-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;
  padding:1rem 1.15rem;border:1px dashed var(--line);border-radius:var(--radius);margin-bottom:.5rem}
.wc-help__t{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:var(--fs-200);color:var(--ink)}
.wc-help__t .sw-ic{color:var(--accent)}
.wc-help__acts{display:flex;gap:.5rem;flex-wrap:wrap}
.wc-help__acts .btn{margin:0}

/* tabs + related span the full width under the two columns */
.woo--single .woocommerce-tabs,.woo--single .related,.woo--single .upsells{grid-column:1 / -1}
.woo--single .woocommerce-tabs{margin-top:clamp(2.5rem,5vw,3.75rem)}
/* segmented control (pill rail with a floating white active pill) + icons */
.woo--single .woocommerce-tabs ul.tabs{display:inline-flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:.4rem;list-style:none;
  background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-pill);max-width:100%}
.woo--single .woocommerce-tabs ul.tabs::before,.woo--single .woocommerce-tabs ul.tabs::after{content:none !important}
.woo--single .woocommerce-tabs ul.tabs li{margin:0;padding:0;background:none;border:0;border-radius:0}
.woo--single .woocommerce-tabs ul.tabs li::before,.woo--single .woocommerce-tabs ul.tabs li::after{content:none !important;border:0 !important}
.woo--single .woocommerce-tabs ul.tabs li a{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.3rem;border-radius:var(--radius-pill);
  font-weight:700;font-size:var(--fs-200);color:var(--muted);transition:color .15s,background .2s var(--ease),box-shadow .2s}
.woo--single .woocommerce-tabs ul.tabs li a::before{content:"";width:17px;height:17px;flex:none;background:currentColor;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.woo--single .woocommerce-tabs ul.tabs li.description_tab a::before{-webkit-mask-image: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' stroke-linecap='round'%3E%3Cline x1='5' y1='7' x2='19' y2='7'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cline x1='5' y1='17' x2='13' y2='17'/%3E%3C/svg%3E");mask-image: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' stroke-linecap='round'%3E%3Cline x1='5' y1='7' x2='19' y2='7'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cline x1='5' y1='17' x2='13' y2='17'/%3E%3C/svg%3E")}
.woo--single .woocommerce-tabs ul.tabs li.additional_information_tab a::before{-webkit-mask-image: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' stroke-linecap='round'%3E%3Cline x1='4' y1='8' x2='20' y2='8'/%3E%3Cline x1='4' y1='16' x2='20' y2='16'/%3E%3Ccircle cx='9' cy='8' r='2.4' fill='black'/%3E%3Ccircle cx='15' cy='16' r='2.4' fill='black'/%3E%3C/svg%3E");mask-image: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' stroke-linecap='round'%3E%3Cline x1='4' y1='8' x2='20' y2='8'/%3E%3Cline x1='4' y1='16' x2='20' y2='16'/%3E%3Ccircle cx='9' cy='8' r='2.4' fill='black'/%3E%3Ccircle cx='15' cy='16' r='2.4' fill='black'/%3E%3C/svg%3E")}
.woo--single .woocommerce-tabs ul.tabs li.reviews_tab a::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpolygon points='12 2 14.9 8.6 22 9.2 16.5 13.9 18.2 21 12 17.1 5.8 21 7.5 13.9 2 9.2 9.1 8.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpolygon points='12 2 14.9 8.6 22 9.2 16.5 13.9 18.2 21 12 17.1 5.8 21 7.5 13.9 2 9.2 9.1 8.6'/%3E%3C/svg%3E")}
/* WC styles the tabs at .woocommerce div.product … (high specificity + !important),
   so we match that specificity and !important to make the segmented pill win.
   The active LI is the white pill; inactive LIs are transparent on the rail. */
.woo--single div.product .woocommerce-tabs ul.tabs li{background:none !important;border:0 !important;border-radius:var(--radius-pill) !important;overflow:hidden}
.woo--single div.product .woocommerce-tabs ul.tabs li a{color:var(--muted) !important}
.woo--single div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--ink) !important}
.woo--single div.product .woocommerce-tabs ul.tabs li.active{background:#fff !important;box-shadow:var(--shadow-sm)}
.woo--single div.product .woocommerce-tabs ul.tabs li.active a{color:var(--accent-600) !important}
/* panel card with an accent top rule */
.woo--single .woocommerce-Tabs-panel{position:relative;margin-top:1.5rem;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.4rem);box-shadow:var(--shadow-sm);overflow:hidden}
.woo--single .woocommerce-Tabs-panel::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;
  background:linear-gradient(90deg,var(--accent),var(--cyan))}
.woo--single .woocommerce-Tabs-panel>h2{font-size:var(--fs-600);margin-bottom:1rem}
.woo--single .woocommerce-Tabs-panel p{color:var(--muted);line-height:1.8;margin-bottom:1rem;max-width:75ch}
.woo--single .woocommerce-Tabs-panel>*:last-child{margin-bottom:0}
.woo--single .shop_attributes{width:100%;border-collapse:collapse;font-size:var(--fs-200)}
.woo--single .shop_attributes th,.woo--single .shop_attributes td{padding:.7rem .9rem;border:1px solid var(--line);text-align:start}
.woo--single .shop_attributes th{background:var(--surface-alt);font-weight:700;color:var(--ink);width:34%}
.woo--single .shop_attributes td{color:var(--muted)}
.woo--single .shop_attributes td p{margin:0}

/* related / upsells heading + grid */
.woo--single .related>h2,.woo--single .upsells>h2{font-size:var(--fs-600);margin:clamp(2rem,4vw,3rem) 0 1.5rem}
.woo--single .related ul.products,.woo--single .upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.woo--single .related ul.products,.woo--single .upsells ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.woo--single .related ul.products,.woo--single .upsells ul.products{grid-template-columns:1fr}}

/* ==========================================================================
   Notices (cart added / info / error)
   ========================================================================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  display:flex;align-items:center;gap:.6rem;list-style:none;margin:0 0 1.5rem;padding:1rem 1.2rem;
  border:1px solid var(--line);border-inline-start:4px solid var(--accent);border-radius:12px;background:var(--surface-alt);
  color:var(--ink);font-weight:600;font-size:var(--fs-200)}
.woocommerce-message{border-inline-start-color:var(--success);background:#eef8f1}
.woocommerce-error{border-inline-start-color:#b42318;background:#fdefed;flex-direction:column;align-items:flex-start}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{margin-inline-start:auto;min-height:40px;padding:.4rem 1rem}

/* ==========================================================================
   Cart / Checkout / My account — token polish over WC core layout
   ========================================================================== */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{background:var(--surface-alt);color:var(--ink);font-weight:700;padding:1rem;text-align:start}
.woocommerce table.shop_table td{padding:1rem;border-block-start:1px solid var(--line);color:var(--muted)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce .woocommerce-order-details{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}
.woocommerce form .form-row{margin-bottom:1rem}
.woocommerce form .form-row label{font-weight:700;font-size:var(--fs-200);color:var(--muted);margin-bottom:.3rem;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection,.woocommerce form .form-row select{
  width:100%;min-height:50px;padding:.6rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt);
  font-size:var(--fs-300);color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{
  outline:none;border-color:var(--accent);background:#fff;box-shadow:var(--ring)}
.woocommerce .coupon .input-text{min-height:50px}
.woocommerce #payment,.woocommerce-checkout #payment{background:var(--surface-alt);border-radius:var(--radius)}
.woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--line);border-radius:var(--radius);padding:.6rem;background:#fff}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:.7rem .9rem;border-radius:10px;font-weight:700;color:var(--ink)}
.woocommerce-MyAccount-navigation ul li.is-active a,.woocommerce-MyAccount-navigation ul li a:hover{background:var(--surface-alt);color:var(--accent-600)}
@media(min-width:800px){.woocommerce-account .woocommerce{display:grid;grid-template-columns:250px 1fr;gap:2rem;align-items:start}}

/* ==========================================================================
   Search results page
   ========================================================================== */
.search-hero__eyebrow{margin-bottom:.9rem}
.search-hero__title{margin:0;max-width:26ch}
.search-hero__count{margin-top:.7rem;color:var(--muted);font-size:var(--fs-300)}
.search-hero__form{margin-top:1.4rem}
.search-body{padding-block:clamp(2rem,4vw,3.25rem)}
.search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.2vw,1.6rem)}
@media(max-width:900px){.search-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.search-grid{grid-template-columns:1fr}}
.search-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.search-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.search-card__media{position:relative;display:block;aspect-ratio:16/10;background:var(--surface-2);overflow:hidden}
.search-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.search-card:hover .search-card__media img{transform:scale(1.05)}
.search-card__ph{display:grid;place-items:center;height:100%;color:var(--accent)}
.search-card__type{position:absolute;inset-block-start:10px;inset-inline-end:10px;background:rgba(7,19,31,.78);color:#fff;
  font-size:var(--fs-100);font-weight:700;padding:.3rem .7rem;border-radius:var(--radius-pill);backdrop-filter:blur(6px)}
.search-card__body{display:flex;flex-direction:column;gap:.55rem;padding:1.1rem 1.15rem 1.2rem;flex:1}
.search-card__title{font-size:var(--fs-400);line-height:1.3;margin:0}
.search-card__title a{color:var(--ink);transition:color .15s}
.search-card__title a:hover{color:var(--accent-600)}
.search-card__excerpt{font-size:var(--fs-200);color:var(--muted);line-height:1.55;margin:0}
.search-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:.7rem}
.search-card__price{font-weight:800;font-size:var(--fs-400);color:var(--ink)}
.search-card__link{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:var(--fs-200);color:var(--accent-600)}
.search-card:hover .search-card__link .sw-ic{transform:translateX(-4px);transition:transform .2s var(--ease)}

/* empty search: popular links reuse the aside-links look */
.search-empty__links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;max-width:720px;
  margin:0 auto 1.75rem;text-align:start}
.search-empty__links a{display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;border:1px solid var(--line);
  border-radius:12px;background:#fff;font-weight:700;font-size:var(--fs-200);color:var(--ink);transition:background .15s,border-color .15s,color .15s}
.search-empty__links a>span{flex:1}
.search-empty__links a .sw-ic{color:var(--accent);flex:none}
.search-empty__links a:hover{background:var(--surface-alt);border-color:var(--accent);color:var(--accent-600)}
.search-empty__form{max-width:560px;margin-inline:auto}

/* ==========================================================================
   Cart icon in header count (optional future), high-contrast a11y guard
   ========================================================================== */
html.a11y-contrast .wc-card,html.a11y-contrast .search-card{border-color:#000}
