/*
Theme Name: Trailbound
Theme URI: https://www.trailbound.com
Author: Jabu Designs
Author URI: https://www.jabudesigns.co.uk
Description: Black & green WooCommerce theme for the Trailbound single-product store. Designed to sit behind a static marketing front-end at the site root, with the shop served from /shop. Matches the Trailbound brand (black canvas, Trailbound green #44B649).
Version: 8.4
Requires at least: 6.0
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 9.0
Text Domain: trailbound
*/

:root{
  --bg:#080a08; --bg2:#0d100d;
  --green:#44B649; --green-bright:#7CFF4A; --green-deep:#2e8a33;
  --text:#f3f6f3; --muted:#9aa39a; --line:rgba(68,182,73,.18);
  --maxw:1240px;
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Hanken Grotesk',system-ui,sans-serif; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.disp{font-family:'Saira Condensed',sans-serif;text-transform:uppercase;line-height:1}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-bright)}
img{max-width:100%;height:auto}
::selection{background:var(--green);color:#000}

.tb-wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}

/* ---------- header (matches static marketing site) ---------- */
header#hdr{position:sticky;top:0;z-index:50;transition:.35s;padding:14px 0;
  background:rgba(8,10,8,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{max-width:var(--maxw);margin:0 auto;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:40px;width:auto;filter:drop-shadow(0 0 14px rgba(68,182,73,.5))}
.brand img.logo-h{height:auto;width:245px}
.brand img.logo-v{height:auto;width:135px}
.navlinks{display:flex;gap:30px;align-items:center}
.navlinks a{font-size:.82rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);transition:.2s;position:relative}
.navlinks a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--green);transition:.25s}
.navlinks a:not(.btn):hover{color:#fff}.navlinks a:not(.btn):hover::after{width:100%}
.btn{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  border:none;cursor:pointer;border-radius:4px;transition:.25s;display:inline-flex;align-items:center;gap:10px}
.btn-green{background:var(--green);color:#000!important;padding:13px 26px;font-size:.95rem;box-shadow:0 0 0 rgba(68,182,73,.6)}
.btn-green:hover{background:var(--green-bright);color:#000!important;transform:translateY(-2px);box-shadow:0 10px 30px rgba(68,182,73,.45)}
.btn-ghost{background:transparent;color:#fff!important;border:1.5px solid rgba(255,255,255,.25);padding:13px 26px;font-size:.95rem}
.btn-ghost:hover{border-color:var(--green);color:var(--green)!important}
.btn-ghost .cartcount{color:var(--green)}
.btn .cartparen{letter-spacing:normal}
.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:#000;border:none;font-size:1.35rem;cursor:pointer;position:relative;z-index:130;line-height:1;box-shadow:0 4px 16px rgba(68,182,73,.4)}
.nav-social{display:flex;align-items:center;gap:10px}
.nav-social .social{width:40px;height:40px}
.nav-social .social svg{width:20px;height:20px}
.social{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);color:var(--muted);transition:.2s;background:rgba(255,255,255,.02)}
.social svg{width:22px;height:22px}
.social:hover{color:#000;background:var(--green);border-color:var(--green);transform:translateY(-2px);box-shadow:0 10px 26px rgba(68,182,73,.4)}

/* ---------- footer (matches static marketing site) ---------- */
.tb-footer{border-top:1px solid var(--line);padding:50px 0 36px;margin-top:90px}
.fgrid2{max-width:var(--maxw);margin:0 auto;padding:0 26px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.social-row{max-width:var(--maxw);margin:30px auto 0;padding:0 26px;display:flex;justify-content:center;gap:16px}
.fnote{max-width:var(--maxw);margin:30px auto 0;padding:0 26px;font-size:.8rem;color:var(--muted);text-align:center;letter-spacing:.5px}
.legal-row{max-width:var(--maxw);margin:26px auto 0;padding:0 26px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px}
.legal-row a{font-size:.78rem;color:var(--muted);letter-spacing:.4px;transition:.2s}
.legal-row a:hover{color:var(--green)}

/* ---------- cookie notice (1-day) ---------- */
.tb-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:2000;max-width:540px;margin:0 auto;
  background:rgba(8,10,8,.97);border:1px solid var(--line);border-radius:14px;padding:16px 18px;
  box-shadow:0 18px 50px rgba(0,0,0,.55);display:none;align-items:center;flex-wrap:wrap;gap:12px 16px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.tb-cookie.show{display:flex}
.tb-cookie p{margin:0;flex:1 1 230px;font-size:.85rem;line-height:1.5;color:var(--muted)}
.tb-cookie a{color:var(--green);text-decoration:none}
.tb-cookie button{flex:0 0 auto;cursor:pointer;border:none;border-radius:6px;background:var(--green);
  color:#06210a;font-weight:700;font-size:.9rem;padding:11px 26px;font-family:inherit;transition:.2s}
.tb-cookie button:hover{background:#7CFF4A}
.tb-cookie-btns{flex:0 0 auto;display:flex;gap:10px;align-items:center}
.tb-cookie .tb-decline{background:transparent;color:var(--muted);border:1px solid var(--line);font-weight:600}
.tb-cookie .tb-decline:hover{background:rgba(255,255,255,.06)}
@media(max-width:480px){.tb-cookie{flex-direction:column;align-items:stretch;text-align:center}
.tb-cookie p{flex:0 0 auto}
.tb-cookie-btns{width:100%}
.tb-cookie-btns button{flex:1 1 0}}

/* ---------- page shell ---------- */
.tb-main{min-height:60vh;padding:50px 0 20px}
.tb-page-head{max-width:var(--maxw);margin:0 auto 30px;padding:0 26px}
.tb-page-head h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;color:#fff;letter-spacing:-.5px}
.woocommerce-breadcrumb{max-width:var(--maxw);margin:0 auto 26px;padding:0 26px;font-size:.78rem;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.woocommerce-breadcrumb a{color:var(--green)}

/* ---------- buttons (WooCommerce) ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.wc-block-components-button{
  background:var(--green)!important;color:#000!important;
  font-family:'Saira Condensed',sans-serif!important;font-weight:700!important;
  text-transform:uppercase!important;letter-spacing:1.5px!important;
  border:none!important;border-radius:5px!important;padding:14px 28px!important;
  font-size:1rem!important;cursor:pointer;transition:.25s!important;box-shadow:none!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--green-bright)!important;color:#000!important;transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(68,182,73,.4)!important;
}
.woocommerce .button.ghost,.woocommerce a.added_to_cart{
  background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.25)!important;
}

/* ---------- shop archive grid ---------- */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0;margin:0}
.woocommerce ul.products li.product{
  background:linear-gradient(160deg,rgba(20,24,20,.9),rgba(11,14,11,.9));
  border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center;transition:.3s;margin:0!important;width:auto!important;float:none!important}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);border-color:rgba(68,182,73,.5)}
.woocommerce ul.products li.product img{border-radius:10px;margin-bottom:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Saira Condensed';font-weight:700;color:#fff;font-size:1.25rem;text-transform:uppercase;padding:6px 0}
.woocommerce ul.products li.product .price{color:var(--green)!important;font-weight:700;font-size:1.15rem}

/* ---------- single product ---------- */
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:50px;
  max-width:100%;margin:0;align-items:start}
/* stop WooCommerce's default 48% float widths from breaking the grid */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{width:100%!important;float:none!important;margin:0!important}
/* container itself is transparent so thumbnails can sit on the black page below */
.single-product div.product .woocommerce-product-gallery{border:none;background:none;border-radius:0;overflow:visible}
/* ---------- custom product gallery (flexslider-free) ---------- */
.single-product .tb-gallery{max-width:100%}
.single-product .tb-gallery-main{border-radius:16px;overflow:hidden;aspect-ratio:1/1;background:#fff;cursor:zoom-in}
.single-product .tb-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.single-product .tb-gallery-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.single-product .tb-thumb{padding:0;width:74px;height:74px;border-radius:10px;overflow:hidden;cursor:pointer;
  border:1px solid var(--line);background:#fff;opacity:.6;transition:.2s}
.single-product .tb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.single-product .tb-thumb.active,.single-product .tb-thumb:hover{opacity:1;border-color:var(--green)}
/* lightbox */
.tb-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(5,7,5,.92);display:none;
  align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.tb-lightbox.open{display:flex}
.tb-lightbox img{max-width:100%;max-height:100%;border-radius:10px}
.single-product div.product .summary{padding-top:6px}
.single-product .product_title{font-family:'Saira Condensed';font-weight:800;color:#fff;
  font-size:clamp(1.6rem,2.6vw,2.2rem);text-transform:uppercase;letter-spacing:-.5px;line-height:1.05;margin:0 0 4px}
.single-product .product_meta{display:none}
.single-product .woocommerce-product-details__short-description{color:var(--muted);font-size:1.05rem;margin-bottom:18px}
.single-product .woocommerce-product-details__short-description ul{columns:2;column-gap:38px;margin:0;padding-left:1.1em}
.single-product .woocommerce-product-details__short-description li{break-inside:avoid;margin-bottom:4px;line-height:1.3}
@media(max-width:1100px){.single-product .woocommerce-product-details__short-description ul{columns:1}}
.single-product .price{color:var(--green)!important;font-family:'Saira Condensed';font-weight:900!important;font-size:2.4rem!important;margin:6px 0 10px!important}
.single-product .woocommerce-product-details__short-description{color:var(--muted);font-size:1.05rem;margin:0 0 14px}
.single-product .price del{color:var(--muted)!important;font-size:1.3rem!important;opacity:.7}
.single-product .price ins{text-decoration:none}
.single-product .stock{color:var(--green-bright)!important;font-size:.85rem;letter-spacing:1px;text-transform:uppercase}

/* variations (size) */
.single-product .variations{margin:0 0 13px;border:none}
.single-product .variations th{color:#fff;font-family:'Saira Condensed';text-transform:uppercase;letter-spacing:1.5px;padding:10px 14px 10px 0}
.single-product .variations select{background:#11141f;background:#0d100d;color:#fff;border:1.5px solid rgba(255,255,255,.18);
  border-radius:8px;padding:12px 14px;font-family:'Hanken Grotesk';min-width:200px}
.single-product .quantity input.qty{background:#0d100d;color:#fff;border:1.5px solid rgba(255,255,255,.18);
  border-radius:8px;padding:12px;width:74px;text-align:center}
.single-product form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:11px 0 0}
.single-product .single_variation_wrap,.single-product .woocommerce-variation-add-to-cart{margin-top:0!important}
/* Basket page: keep fields at 16px so iOS doesn't zoom in and blow out the layout */
.woocommerce-cart input.qty,
.woocommerce-cart .quantity input,
.woocommerce-cart input[type="number"],
.woocommerce-cart .coupon input[type="text"],
.woocommerce-cart input[type="text"],
.woocommerce-cart input[type="email"]{font-size:16px}
.single-product .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center}
.single-product .single_add_to_cart_button{flex:1;min-width:0;justify-content:center}

/* trust row under product */
.tb-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.tb-trust div{font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:8px}
.tb-trust .dot{width:7px;height:7px;border-radius:50%;background:var(--green)}

/* product tabs */
.woocommerce-tabs{grid-column:1/-1;margin-top:40px}
.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line);padding:0;margin:0;list-style:none;display:flex;gap:8px}
.woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;border-radius:0!important;margin:0!important;list-style:none!important}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs::after,
.woocommerce .woocommerce-tabs ul.tabs li::before,.woocommerce .woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important;border:0!important;content:none!important}
.woocommerce-tabs ul.tabs li a{color:var(--muted)!important;font-family:'Saira Condensed';text-transform:uppercase;
  letter-spacing:1.5px;padding:12px 18px!important;display:block}
.woocommerce-tabs ul.tabs li.active a{color:var(--green)!important;border-bottom:2px solid var(--green)}
.woocommerce-tabs .panel{color:var(--muted);padding-top:22px}
.woocommerce-tabs .panel h2{color:#fff}

/* ---------- cart & checkout ---------- */
.woocommerce table.shop_table{background:rgba(13,16,13,.55);border:1px solid var(--line);border-radius:12px;border-collapse:separate}
.woocommerce table.shop_table th{color:#fff;font-family:'Saira Condensed';text-transform:uppercase;letter-spacing:1px}
.woocommerce table.shop_table td{color:var(--muted);border-top:1px solid var(--line)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{
  background:rgba(13,16,13,.55);border:1px solid var(--line);border-radius:12px;padding:8px 18px}
.woocommerce form .form-row label{color:#cdd4cd;font-size:.85rem;letter-spacing:.5px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .select2-selection,
.woocommerce-checkout input,.woocommerce-checkout select{
  background:#0d100d!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.16)!important;border-radius:8px!important;padding:12px!important}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{color:#fff;font-family:'Saira Condensed';text-transform:uppercase}

/* Block-based checkout: give floating labels room so text doesn't overlap them */
.wc-block-components-text-input input,
.wc-block-components-text-input.is-active input{padding:1.6em 1em .45em!important;line-height:1.2!important}
.wc-block-components-text-input label{padding-top:.15em}
.wc-block-components-address-form input,
.wc-block-components-address-form .components-base-control input{padding:1.6em 1em .45em!important}

/* Country/Region <select> — match the text-input fields EXACTLY. Box (fill,
   border, radius, padding) goes on the <select> itself, just like the inputs;
   no fixed height so it's the same height; WC's dark #2b2d2f text -> white. */
.wc-blocks-components-select{background:transparent!important;border:0!important;border-radius:0!important}
.wc-blocks-components-select .wc-blocks-components-select__select{
  -webkit-appearance:none;appearance:none;
  background:#0d100d!important;color:#fff!important;
  border:1.5px solid rgba(255,255,255,.16)!important;border-radius:8px!important;
  font-size:16px!important;line-height:1.2!important;
  padding:1.6em 2.4em .45em 1em!important;   /* matches inputs; extra right room for the chevron */
  width:100%!important;box-sizing:border-box!important}
.wc-blocks-components-select .wc-blocks-components-select__label{color:var(--muted)!important}
/* Same brand-green focus on EVERY block checkout field (kills the native blue ring) */
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus{
  outline:none!important;border-color:var(--green)!important;box-shadow:0 0 0 1px var(--green)!important}
/* older combobox variant, just in case */
.wc-block-components-combobox{background:#0d100d!important;border:1.5px solid rgba(255,255,255,.16)!important;border-radius:8px!important}
.wc-block-components-combobox input{padding:1.6em 1em .45em!important;background:transparent!important;border:0!important}

/* Coupon field (classic cart) */
.woocommerce .coupon input.input-text,.woocommerce #coupon_code{
  background:#0d100d!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.16)!important;
  border-radius:8px!important;padding:12px 14px!important;min-width:170px;height:auto}
.woocommerce .coupon input.input-text::placeholder,.woocommerce #coupon_code::placeholder{color:var(--muted)}
.woocommerce-cart-form .coupon{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* Checkboxes — visible, brand-green when ticked (block + classic) */
.woocommerce input[type=checkbox],
.woocommerce-checkout input[type=checkbox],
.wc-block-components-checkbox__input[type=checkbox]{
  -webkit-appearance:none!important;appearance:none!important;
  width:22px!important;height:22px!important;min-width:22px;flex:none;margin:0 8px 0 0!important;padding:0!important;
  background:#0d100d!important;border:1.5px solid rgba(255,255,255,.4)!important;border-radius:5px!important;
  cursor:pointer;position:relative;display:inline-block;vertical-align:middle;transition:.15s}
.woocommerce input[type=checkbox]:checked,
.woocommerce-checkout input[type=checkbox]:checked,
.wc-block-components-checkbox__input[type=checkbox]:checked{
  background:var(--green)!important;border-color:var(--green)!important}
.woocommerce input[type=checkbox]:checked::after,
.woocommerce-checkout input[type=checkbox]:checked::after,
.wc-block-components-checkbox__input[type=checkbox]:checked::after{
  content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;
  border:solid #000;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
/* hide the block's own SVG tick so we don't double up */
.wc-block-components-checkbox__mark{display:none!important}

/* Radio buttons — shipping & payment options.
   Layout/position is left ENTIRELY to WooCommerce (that's what finally placed
   them correctly). We only paint the control: a dark ring when unselected and
   a bold green dot when selected. No size/position/display/flex overrides. */
.wc-block-components-radio-control__input[type=radio]{
  -webkit-appearance:none!important;appearance:none!important;
  background:#0d100d!important;border:2px solid rgba(255,255,255,.5)!important;border-radius:50%!important;
  box-shadow:none!important;cursor:pointer;
  top:8px!important;transform:none!important}   /* inspector-verified: WC's own top/transform left the dot too high */
.wc-block-components-radio-control__input[type=radio]:checked{
  border-color:var(--green)!important;
  background:radial-gradient(var(--green) 0 58%,#0d100d 62%)!important}
/* boxed, highlightable rows (no padding-left override, so WC's own spacing that
   clears the radio is left intact) */
.wc-block-components-radio-control__option{
  border:1px solid var(--line);border-radius:8px;margin-bottom:8px;
  padding-top:14px!important;padding-bottom:14px!important;padding-right:16px!important}
.wc-block-components-radio-control__option:has(input:checked){border-color:var(--green);background:rgba(68,182,73,.08)}
/* classic (non-block) radios, if any page uses them */
.woocommerce:not(.woocommerce-checkout) input[type=radio]{accent-color:var(--green)}

/* ---------- notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:rgba(68,182,73,.1)!important;border-top:3px solid var(--green)!important;color:#fff!important;border-radius:8px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--green)!important}

/* ---------- sale / launch-price flash ---------- */
.woocommerce span.onsale{
  background:var(--green)!important;color:#000!important;
  font-family:'Saira Condensed',sans-serif!important;font-weight:800!important;
  text-transform:uppercase;letter-spacing:1px;line-height:1;
  min-height:0;min-width:0;width:auto;height:auto;border-radius:7px;
  padding:12px 18px!important;font-size:1.05rem;top:16px;left:16px;margin:0;
  box-shadow:0 8px 22px rgba(68,182,73,.4)}

/* ---------- empty basket ---------- */
.tb-empty-cart{text-align:center;max-width:520px;margin:0 auto;padding:30px 20px 70px}
.tb-empty-cart .tb-empty-icon{width:92px;height:auto;margin:0 auto 22px;display:block;filter:drop-shadow(0 0 18px rgba(68,182,73,.5))}
.tb-empty-cart h2{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;color:#fff;font-size:2rem;margin-bottom:10px}
.tb-empty-cart p{color:var(--muted);margin-bottom:24px}
.tb-empty-cart .button{display:inline-block}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .single-product div.product,.woocommerce ul.products{grid-template-columns:1fr}
  .woocommerce ul.products{grid-template-columns:1fr 1fr}
  /* mobile nav: slide-down panel + hamburger (matches static site) */
  .navlinks{position:fixed;inset:0 0 auto 0;top:0;z-index:120;background:rgba(8,10,8,.97);flex-direction:column;
    padding:90px 26px 30px;transform:translateY(-120%);transition:.4s;gap:22px;align-items:flex-start}
  .navlinks.open{transform:none}
  .menu-toggle{display:flex}
}
@media(max-width:768px){
  html,body{overflow-x:hidden;max-width:100%}
  *{max-width:100%}
  /* header */
  .nav{padding:0 16px;gap:10px}
  .brand img.logo-h{width:210px}
  .brand img.logo-v{width:125px}
  /* footer centred on mobile */
  .fgrid2{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px}
  .fgrid2 .navlinks{justify-content:center;flex-wrap:wrap;gap:18px}
  /* page padding */
  .tb-wrap,.woocommerce-breadcrumb,.tb-page-head,
  .tb-empty-cart{padding-left:16px!important;padding-right:16px!important}
  .single-product div.product{gap:26px}
  /* product summary sizing */
  .single-product .product_title{font-size:1.5rem}
  .single-product .price{font-size:2rem!important}
  .single-product .woocommerce-product-details__short-description ul{columns:1}
  .single-product .woocommerce-variation-add-to-cart{flex-wrap:nowrap;gap:10px}
  .single-product .single_add_to_cart_button{width:auto;flex:1;min-width:0}
  .single-product .variations select{min-width:0;width:100%}
  /* tabs stay on one line */
  .woocommerce-tabs ul.tabs{flex-wrap:nowrap;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .woocommerce-tabs ul.tabs li a{padding:12px 12px!important;letter-spacing:.6px;font-size:.82rem;white-space:nowrap}
  /* let WooCommerce handle its own responsive cart/checkout tables; just size text */
  .woocommerce table.shop_table{font-size:.92rem}
  .woocommerce-cart .cart-collaterals .cart_totals{width:100%!important;float:none}
}
@media(max-width:560px){
  .woocommerce ul.products{grid-template-columns:1fr}
  .single-product .tb-thumb{width:64px!important;height:64px!important}
}
