/* ==========================================================================
   TVB GLOBAL CORNER-RADIUS PASS (v4.14.0) — one scale, every surface.
   CSS-ONLY and additive: the ONLY property this file sets is border-radius
   (plus the tokens below). No transition/animation/transform/shadow/overflow
   is added or changed anywhere — every existing animation is untouched.

   HOW IT WORKS: the whole design system already routes corners through the
   legacy tokens --radius (buttons/inputs/chips) and --radius-lg (cards/
   panels/notices/tabs/tables). Rewiring those two tokens to the new scale
   rounds every tokenized element at once and keeps the site consistent.
   The handful of hardcoded corners (COA-module inline styles, Woo select2,
   bare tables) are overridden individually below.

   KILL SWITCH (two ways, both documented in AGENT-LOG):
     1) set --tvb-radius-scale: 0  → every scaled corner returns to square
     2) remove the 'tvb-radius' enqueue in functions.php → the site reverts
        to the legacy 2px/4px corners exactly as before this pass
   ========================================================================== */
:root{
  --tvb-radius-scale: 1;            /* master knob: 0 = square, 1 = default, 1.4 = rounder */
  --tvb-r-xs:  calc(6px  * var(--tvb-radius-scale));
  --tvb-r-sm:  calc(10px * var(--tvb-radius-scale));
  --tvb-r-md:  calc(14px * var(--tvb-radius-scale));
  --tvb-r-lg:  calc(20px * var(--tvb-radius-scale));
  --tvb-r-pill: 999px;

  /* rewire the legacy tokens — this is what rounds ~95% of the site:
     --radius    → sm: .btn + all Woo buttons, .input/select/textarea, .qty,
                   pagination, .variant pills, .onsale, icon buttons, chips-row
                   spans, .gate-google/.gate-ack/.gate-submit, coupon inputs
     --radius-lg → md: .card, product cards, .coalib-card, .gate-card, .acc,
                   .tabs, .empty, .cta-band, .pd-media, .vial-card,
                   .badge-float, Woo notices, cart/checkout boxes (#payment,
                   .cart_totals, payment_box), account panels, login/register
                   boxes, PDP gallery + thumbs, .f-compliance, .tvb-coa-sec,
                   select2 dropdown, .partner-banner, .tvb-ack (checkout) */
  --radius:    var(--tvb-r-sm);
  --radius-lg: var(--tvb-r-md);
}

/* ---------- chips & small status pills (xs / pill) ---------- */
/* full pills where cleaner: trust/hero chips + footer status (they are short,
   dot-led capsules). NOTE: .tvb-stock and .tvb-chip are already 999px. */
.chip,
.status-chip{border-radius:var(--tvb-r-pill)}
/* tiny rectangular tags read best at xs, not pill */
.tvb-card-badges span,
.coalib-badge,
body .coalib-chip,
.variant .oos,
.woocommerce ul.products li.product .onsale{border-radius:var(--tvb-r-xs)}

/* ---------- COA-module inline styles print in the page body (they win the
   cascade against this head stylesheet), so match them with +1 specificity — */
body .coalib-row{border-radius:var(--tvb-r-sm)}
body .coalib-pdf,
body .coalib-view{border-radius:var(--tvb-r-sm)}
body .coalib-toolbar input,
body .coalib-toolbar select{border-radius:var(--tvb-r-sm)}
body .coalib-dhead img{border-radius:var(--tvb-r-sm)}
body .coalib-empty{border-radius:var(--tvb-r-md)}

/* ---------- images/thumbnails that are not already clipped ---------- */
/* product-loop + COA-card images: their parent cards already carry
   overflow:hidden (pre-existing), but rounding the img itself keeps the
   corner clean during the (pre-existing) hover zoom as well */
.woocommerce ul.products li.product a img{border-radius:var(--tvb-r-md) var(--tvb-r-md) 0 0}
.coalib-card img,
.coalib-noimg{border-radius:var(--tvb-r-md) var(--tvb-r-md) 0 0}
.woocommerce-cart table.cart img{border-radius:var(--tvb-r-sm)}

/* ---------- Woo leftovers with hardcoded corners ---------- */
.woocommerce table.shop_table{border-radius:var(--tvb-r-md)}
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{border-radius:var(--tvb-r-sm)}
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{border-radius:var(--tvb-r-sm)}

/* ---------- large surfaces (lg) ---------- */
.cta-band{border-radius:var(--tvb-r-lg)}

/* ---------- NOT ROUNDED, on purpose (professional, not bubbly) ----------
   - perfect circles: .cart-count, .tb-dot, .chip .dot, .status-chip .dot,
     .tvb-stock .ts-dot, .orb, .vial-halo, radio inputs — never selected here
   - full-bleed structural bars: .topbar, .footer-bottom, .site-footer,
     .mobile-menu, .divider, hr, .ambient canvas, .hero/section backgrounds,
     .gate-form-panel / .gate-brand-panel (the account-wall outer split)
   ------------------------------------------------------------------------ */


/* ═══ TVB PRODUCT PAGE POLISH — tiers table, select, tabs, attributes, stock ═══ */
.tvb-tiers{width:100%;max-width:480px;border-collapse:separate;border-spacing:0;margin:14px 0 24px;font-size:13.5px;border:1px solid rgba(62,230,240,.22);border-radius:12px;overflow:hidden;background:rgba(10,21,36,.55)}
.tvb-tiers caption{caption-side:bottom;text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8fa2b5;padding:9px 4px 0}
.tvb-tiers th{background:rgba(62,230,240,.10);color:#3ee6f0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:11px 18px;text-align:left;font-weight:700;border:0}
.tvb-tiers td{padding:11px 18px;color:#e6eef7;border:0;border-top:1px solid rgba(62,230,240,.10)}
.tvb-tiers tr td:last-child{color:#3ee6f0;font-weight:700;text-align:right}
.tvb-tiers th:last-child{text-align:right}
.tvb-tiers tbody tr:hover td{background:rgba(62,230,240,.05)}
.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart select{-webkit-appearance:none;appearance:none;background:#0a1524 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%233ee6f0' stroke-width='2' stroke-linecap='round' d='M1 1.5l5 5 5-5'/></svg>") no-repeat right 16px center;border:1px solid rgba(62,230,240,.28);border-radius:10px;color:#eef4fb;padding:13px 46px 13px 16px;font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1.3;cursor:pointer;min-width:220px;transition:border-color .15s,box-shadow .15s}
.woocommerce div.product form.cart .variations select:hover{border-color:rgba(62,230,240,.55)}
.woocommerce div.product form.cart .variations select:focus{outline:none;border-color:#3ee6f0;box-shadow:0 0 0 3px rgba(62,230,240,.16)}
.woocommerce div.product form.cart .variations select option{background:#0a1524;color:#eef4fb;padding:10px}
.woocommerce div.product form.cart .variations td.label label{color:#8fa2b5;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.woocommerce div.product form.cart .reset_variations{color:#8fa2b5;font-size:12px;letter-spacing:.04em}
.woocommerce div.product form.cart .reset_variations:hover{color:#3ee6f0}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 30px!important;border-bottom:1px solid rgba(62,230,240,.18);background:transparent;display:flex;gap:6px}
.woocommerce div.product .woocommerce-tabs ul.tabs:before,.woocommerce div.product .woocommerce-tabs ul.tabs:after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;border-radius:10px 10px 0 0!important;margin:0!important;padding:0!important;box-shadow:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#8fa2b5!important;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:14px 22px!important;display:inline-block}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:#eef4fb!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:rgba(62,230,240,.08)!important;box-shadow:inset 0 -2px 0 #3ee6f0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#3ee6f0!important}
.woocommerce div.product .woocommerce-Tabs-panel h2{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#8fa2b5;margin-bottom:18px}
.woocommerce table.woocommerce-product-attributes{border:1px solid rgba(62,230,240,.18);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;max-width:640px;background:rgba(10,21,36,.55)}
.woocommerce table.woocommerce-product-attributes th{background:rgba(62,230,240,.08);color:#3ee6f0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:13px 20px;width:170px;font-style:normal;font-weight:700;border:0}
.woocommerce table.woocommerce-product-attributes td{padding:13px 20px;color:#e6eef7;font-style:normal;border:0;border-left:1px solid rgba(62,230,240,.10)}
.woocommerce table.woocommerce-product-attributes tr + tr th,.woocommerce table.woocommerce-product-attributes tr + tr td{border-top:1px solid rgba(62,230,240,.10)}
.woocommerce table.woocommerce-product-attributes td p{margin:0;font-style:normal;font-size:14.5px}
.woocommerce div.product p.stock,.woocommerce div.product .woocommerce-variation-availability p.stock{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin:10px 0}
.woocommerce div.product p.stock.in-stock{color:#39e29a}
.woocommerce div.product p.stock.in-stock:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#39e29a;margin-right:9px;box-shadow:0 0 8px rgba(57,226,154,.7);vertical-align:1px}
.woocommerce div.product p.stock.out-of-stock{color:#ff8080}
.woocommerce div.product p.stock.out-of-stock:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff8080;margin-right:9px;vertical-align:1px}
.woocommerce div.product .woocommerce-variation-price{margin:8px 0 4px}


/* ═══ WOO BUTTON ANIMATION PARITY — same sheen/lift/press as theme .btn ═══ */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce button.single_add_to_cart_button,.woocommerce .checkout-button{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.woocommerce a.button::after,.woocommerce button.button::after,.woocommerce button.single_add_to_cart_button::after,.woocommerce .checkout-button::after{content:"";position:absolute;top:-4px;bottom:-4px;left:-60%;width:38%;z-index:1;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.85) 50%,transparent 100%);transform:skewX(-18deg)!important;transition:left .8s cubic-bezier(.16,1,.3,1);pointer-events:none}
.woocommerce a.button:hover::after,.woocommerce button.button:hover::after,.woocommerce button.single_add_to_cart_button:hover::after,.woocommerce .checkout-button:hover::after{left:130%}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.single_add_to_cart_button:hover,.woocommerce .checkout-button:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(62,230,240,.4),0 14px 48px -10px rgba(0,201,200,.5)}
.woocommerce a.button:active,.woocommerce button.button:active,.woocommerce button.single_add_to_cart_button:active,.woocommerce .checkout-button:active{transform:translateY(1px) scale(.98);box-shadow:0 0 0 5px rgba(0,201,200,.28)}
.woocommerce button.button[disabled]::after,.woocommerce button.button.disabled::after{display:none}
.woocommerce button.button[disabled]:hover,.woocommerce button.button.disabled:hover{transform:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){.woocommerce a.button::after,.woocommerce button.button::after,.woocommerce button.single_add_to_cart_button::after,.woocommerce .checkout-button::after{display:none}}


/* ═══ TIER INTERACTIONS + STOCK SLOT ═══ */
.tvb-tiers tbody tr.tvb-tier-click{cursor:pointer}
.tvb-tiers tbody tr.tvb-tier-click:active td{background:rgba(62,230,240,.14)}
.tvb-tiers tbody tr.tvb-tier-active td{background:rgba(62,230,240,.12)!important}
.tvb-tiers tbody tr.tvb-tier-active td:first-child{box-shadow:inset 2px 0 0 #3ee6f0}
#tvb-stock-slot{margin:2px 0 10px}
#tvb-stock-slot p.stock{margin:2px 0 6px}
.woocommerce div.product .woocommerce-variation-availability{display:none}
