/*
Theme Name: THAI BIO LABS Storefront
Description: Bilingual TBL editorial and native WooCommerce staging storefront. Incomplete staging migration: do not activate in production.
Version: 0.4.8
Requires PHP: 8.3
Text Domain: tbl-storefront
License: GPL-2.0-or-later
*/
/* One owner-approved premium TBL palette for the protected WP rebuild. */
html:root{
 --tbl-brand-gold:#D5A33D;
 --tbl-brand-gold-hover:#E4B95B;
 --tbl-brand-gold-focus:#F1C878;
 --tbl-brand-navy:#071426;
 --tbl-brand-paper:#F4F1E9;
 --tbl-gold:var(--tbl-brand-gold);
 --tbl-navy:var(--tbl-brand-navy);
 --tbl-paper:var(--tbl-brand-paper);
 --p14-gold:var(--tbl-brand-gold);
 --p14-gold-soft:var(--tbl-brand-gold-hover);
 --tbl-line-gold:var(--tbl-brand-gold);
 --tbl-checkout-gold:var(--tbl-brand-gold);
 --color-brand:var(--tbl-brand-gold);
 --color-link:var(--tbl-brand-gold);
 --color-link-hover:var(--tbl-brand-gold-hover);
 --color-focus:var(--tbl-brand-gold-focus);
 --flag-metabolic:var(--tbl-brand-gold);
}
body.tbl-storefront{
 --p14-gold:var(--tbl-brand-gold);
 --p14-gold-soft:var(--tbl-brand-gold-hover);
 --tbl-checkout-gold:var(--tbl-brand-gold);
 --tbl-line-gold:var(--tbl-brand-gold);
 --color-link:var(--tbl-brand-gold);
 --color-link-hover:var(--tbl-brand-gold-hover);
 --color-focus:var(--tbl-brand-gold-focus);
 --color-brand:var(--tbl-brand-gold);
 --flag-metabolic:var(--tbl-brand-gold);
}
body.tbl-storefront{background:var(--tbl-brand-navy);color:var(--tbl-brand-paper)}
.tbl-wp-main{min-height:45vh}
.tbl-wp-main:focus{outline:none}
.tbl-storefront .tbl-header__brand img{display:block;height:auto;max-width:100%;width:225px}
.tbl-storefront .tbl-header__cart{text-decoration:none}
.tbl-storefront .tbl-header__cart strong{min-width:1.25em}
.tbl-storefront .tbl-wp-page{padding-block:clamp(2rem,5vw,5rem)}
.tbl-storefront .tbl-wp-page h1{font-size:clamp(2.1rem,4.15vw,3.75rem);line-height:1.08}
.tbl-storefront .tbl-wp-page__copy{max-width:76ch;line-height:1.8}
.tbl-storefront .tbl-wp-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.tbl-storefront .tbl-wp-family-card{display:grid;grid-template-rows:auto 1fr;background:#f7f4ed;border:1px solid #d8cebc;min-width:0}
.tbl-storefront .tbl-wp-family-card__visual{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 45% 35%,#24384b,#09182a);min-height:250px;padding:1.75rem}
.tbl-storefront .tbl-wp-family-card__visual img{width:100%;max-width:235px;height:260px;object-fit:contain}
.tbl-storefront .tbl-wp-family-card__body{padding:1.5rem;color:var(--tbl-navy)}
.tbl-storefront .tbl-wp-family-card h3{font-size:1.5rem;margin:.45rem 0}
.tbl-storefront .tbl-wp-family-card__meta{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#526677}
.tbl-storefront .tbl-wp-family-card__prices{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.1rem 0}
.tbl-storefront .tbl-wp-family-card__prices span{padding:.4rem .65rem;background:#fff;border:1px solid #d8cebc;font-size:.9rem}
.tbl-storefront .tbl-wp-family-card__pending{font-size:.9rem;color:#5b6570;margin:1rem 0}
.tbl-storefront .tbl-wp-family-card__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.25rem}
.tbl-storefront .tbl-wp-family-card__actions a{color:var(--tbl-brand-navy)}
.tbl-storefront .tbl-wp-family-card__actions a:focus-visible{outline:2px solid var(--tbl-brand-gold);outline-offset:3px}
.tbl-storefront .tbl-wp-family-card__actions a:first-child{background:var(--tbl-brand-gold);padding:.65rem .85rem;text-decoration:none;font-weight:700}
.tbl-storefront .tbl-wp-copy-after{margin-top:2rem}
.tbl-storefront .tbl-wp-prelaunch{background:#0c2033;color:var(--tbl-paper);padding:clamp(2rem,5vw,4rem);margin-block:2rem}
.tbl-storefront .tbl-wp-prelaunch h2{color:var(--tbl-brand-paper);margin-top:.3rem}
.tbl-storefront .tbl-wp-prelaunch a{color:var(--tbl-brand-gold)}
.tbl-storefront .tbl-wp-home-image{object-fit:contain;width:100%;height:auto}
.tbl-storefront .tbl-wp-home-visual{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:0;min-width:0}
.tbl-storefront .tbl-wp-home-visual img:nth-child(1){transform:translateX(18%) scale(.88)}
.tbl-storefront .tbl-wp-home-visual img:nth-child(2){z-index:1;transform:scale(1.06)}
.tbl-storefront .tbl-wp-home-visual img:nth-child(3){transform:translateX(-18%) scale(.88)}
.tbl-storefront .tbl-wp-home-promo{padding:clamp(2rem,5vw,4rem) 0;background:#0b1b2b;color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-wp-home-promo h2{color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-wp-home-promo a{color:var(--tbl-brand-gold)}
.tbl-storefront .tbl-wp-announcement{font-size:.875rem}
.tbl-storefront .tbl-wp-announcement a{color:inherit}
.tbl-storefront .tbl-wp-floating{position:fixed;bottom:1rem;right:1rem;z-index:25;display:grid;gap:.45rem}
.tbl-storefront .tbl-wp-floating a{display:block;padding:.7rem .9rem;text-decoration:none;font-size:.83rem;font-weight:700;border:1px solid var(--tbl-brand-gold);color:var(--tbl-brand-navy);background:var(--tbl-brand-gold);box-shadow:0 5px 20px #0002}
.tbl-storefront .tbl-wp-floating a:last-child{background:#146f47;color:#fff;border-color:#146f47}
.tbl-storefront .tbl-wp-floating a:focus-visible{outline:2px solid var(--tbl-brand-navy);outline-offset:3px}
@media(max-width:850px){.tbl-storefront .tbl-wp-family-grid{grid-template-columns:1fr}.tbl-storefront .tbl-wp-family-card__visual{min-height:220px}.tbl-storefront .tbl-wp-home-visual img{height:auto}.tbl-storefront .tbl-wp-floating{bottom:.5rem;right:.5rem}}


/* ===============================================================
   TBL ASTRO PARITY — 0.2.0
   Original visual design remains in packaged global/specialist.css.
   These rules cover Wordpress-only markup and source-scoped Astro CSS.
   =============================================================== */
body.tbl-storefront{min-width:320px;background:radial-gradient(circle at 88% 2%,rgba(213,163,61,.07),transparent 27rem),var(--tbl-brand-navy);color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-wp-main{background:var(--tbl-brand-navy);color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-wp-main a:focus-visible,
.tbl-storefront .tbl-menu summary:focus-visible,
.tbl-storefront .tbl-strength-picker input:focus-visible+span{
  outline:2px solid var(--tbl-brand-gold);outline-offset:3px
}
.tbl-storefront .tb-hero__copy>.tb-hero__lede{color:#c7d0da;line-height:1.7}
.tbl-storefront .tb-hero__copy>.tb-hero__launch-note{color:var(--tbl-brand-gold);line-height:1.6}
.tbl-storefront .tb-hero__stage{isolation:isolate}
.tbl-storefront .tb-hero__stage .tb-vial{object-fit:contain}
.tbl-storefront .tb-featured{background:#06111f;padding-block:clamp(3rem,5vw,5rem)}
.tbl-storefront .tb-featured .tbl-product-grid{margin-top:1.65rem}
.tbl-storefront .home-order-benefits{margin-top:2rem}
.tbl-storefront .tbl-metabolic-home-placement{margin-block:clamp(1.5rem,3vw,3rem);min-width:0}
.tbl-storefront .tbl-metabolic-home-placement .tbl-metabolic-set{min-width:0}
.tbl-storefront .tbl-product-choice__image img{max-width:100%;height:250px}
.tbl-storefront .tbl-product-choice__status{color:var(--tbl-brand-gold)}
.tbl-storefront .tbl-product-choice__body{min-width:0}
.tbl-storefront .tbl-product-choice__price strong{font-variant-numeric:tabular-nums}
.tbl-storefront .tbl-product-choice__receptor-rank{min-width:0}
.tbl-storefront .tbl-product-choice__receptor-class{white-space:nowrap}
.tbl-storefront .tbl-strength-picker label{min-width:0}
.tbl-storefront .tbl-strength-picker input:focus-visible+span{outline-offset:3px}
.tbl-storefront .tbl-product-choice__primary{margin-top:auto}
.tbl-storefront .tbl-product-choice .tbl-buy-action[disabled]{opacity:1;cursor:not-allowed}
.tbl-storefront .tbl-wp-enquiry-link{background:var(--tbl-brand-gold);color:var(--tbl-brand-navy)}
.tbl-storefront .tbl-wp-detail{padding-bottom:4rem}
.tbl-storefront .tbl-wp-detail .tbl-product-choice--detail{max-width:none}
.tbl-storefront .tbl-wp-detail .tbl-product-choice--detail .tbl-product-choice__image{align-content:center;min-width:0}
.tbl-storefront .tbl-wp-detail .tbl-product-choice--detail .tbl-product-choice__image img{height:540px;max-height:70vh;padding:35px}
.tbl-storefront .tbl-wp-detail-research{margin-top:1.75rem;padding:1.5rem;border:1px solid rgba(213,163,61,.35);background:#0c2033;display:grid;gap:1rem}
.tbl-storefront .tbl-wp-detail-research p{color:#bcc7d2;line-height:1.65}
.tbl-storefront .tbl-wp-detail-research .tbl-outline-action{color:var(--tbl-brand-gold);min-height:44px;text-decoration:underline}
.tbl-storefront .tbl-wp-detail-copy{margin-top:2rem;max-width:76ch;line-height:1.7}
.tbl-storefront .tbl-wp-product-intro{padding-block:clamp(2rem,4vw,3.25rem);display:grid;gap:.85rem}
.tbl-storefront .tbl-wp-product-intro h1{font-size:clamp(2.5rem,5vw,4.25rem);line-height:1.1;color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-wp-product-intro>p:not(.eyebrow){color:#bbc7d3;font-size:1.07rem}
.tbl-storefront .tbl-wp-breadcrumb{width:fit-content;display:inline-flex;gap:.8rem;color:var(--tbl-brand-gold);font-size:.83rem;text-decoration:none}
.tbl-storefront .tbl-wp-breadcrumb span{order:-1}
.tbl-storefront .tbl-wp-catalogue-intro{padding-block:clamp(2.5rem,5vw,4rem);display:grid;gap:.9rem}
.tbl-storefront .tbl-wp-catalogue-intro h1{color:var(--tbl-brand-paper);font-size:clamp(2.6rem,5vw,4.1rem);line-height:1.1}
.tbl-storefront .tbl-wp-catalogue-intro>p:not(.eyebrow){max-width:75ch;color:#bac8d4;line-height:1.7}
.tbl-storefront .tbl-wp-catalogue-intro>.tbl-wp-catalogue-note{color:var(--tbl-brand-gold)!important}
.tbl-storefront .tbl-wp-catalogue-items{padding-bottom:clamp(2.5rem,5vw,5rem)}
.tbl-storefront .tbl-wp-essentials{margin:clamp(2rem,4vw,3rem) 0 1.25rem;color:var(--tbl-brand-paper);font-size:clamp(1.55rem,3vw,2.2rem)}
.tbl-storefront .tbl-wp-catalogue-items>.tbl-outline-action{display:inline-flex;align-items:center;gap:.5rem;color:var(--tbl-brand-gold);padding:.75rem 0;min-height:44px}
.tbl-storefront .tbl-choice-release{color:#bfcbd5;font-size:.84rem;line-height:1.65}
.tbl-storefront .tbl-choice-delivery{color:#abbccb;font-size:.83rem;line-height:1.6}
/* Restore original Astro gold release band and its dark-ink typography.
   Dark navy backgrounds must not be paired with the source's navy text. */
.tbl-storefront .tb-analytical-signals__note{line-height:1.6}
.tbl-storefront .tbl-footer{background:#06111f;color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-wp-floating a{border-radius:0}
.tbl-storefront .tbl-wp-floating a:last-child{background:#146f47;color:#fff}

/* In Astro these announcement declarations are scoped to its component.
   WordPress needs the same rules in the shared theme stylesheet. */
#site-announce{background:var(--tbl-brand-gold);color:#000;border-bottom:1px solid rgba(0,0,0,.24)}
#site-announce .tbl-banner-inner{width:calc(100% - 2.5rem);max-width:1600px;display:flex;align-items:center;gap:.6rem;min-height:48px;padding-block:.5rem}
#site-announce .tbl-banner-viewport{flex:1;min-width:0}
#site-announce .tbl-banner-messages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:0;color:var(--tbl-brand-navy);row-gap:.4rem}
#site-announce .tbl-banner-message{position:relative;margin:0;padding:0 .75rem;text-align:center;letter-spacing:.015em;font-size:.9rem;font-weight:600;line-height:1.5}
#site-announce .tbl-banner-message+.tbl-banner-message::before{content:"";position:absolute;left:0;top:50%;width:.25em;height:.25em;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}
#site-announce .tbl-banner-message a{color:inherit;text-decoration:none}
#site-announce .tbl-banner-message a:hover{text-decoration:underline;text-underline-offset:3px}
#site-announce .tbl-banner-message a:focus-visible{outline:2px solid var(--tbl-brand-navy);outline-offset:3px}
#site-announce .tbl-banner-copy{display:none}
@media(min-width:621px) and (max-width:1350px){
  #site-announce .tbl-banner-messages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #site-announce .tbl-banner-message:nth-child(3)::before{display:none}
}
@media(max-width:620px){
  #site-announce .tbl-banner-inner{min-height:48px;gap:.4rem;width:calc(100% - 1.25rem)}
  #site-announce .tbl-banner-viewport{overflow:hidden}
  #site-announce .tbl-banner-track{display:flex;width:max-content;animation:tbl-wp-banner-scroll var(--banner-duration,42s) linear infinite}
  #site-announce .tbl-banner-messages{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-start}
  #site-announce .tbl-banner-copy{display:flex}
  #site-announce .tbl-banner-message{white-space:nowrap;font-size:.82rem;padding-inline:1.25rem}
  #site-announce .tbl-banner-message:last-child::after{content:"";position:absolute;right:0;top:50%;width:.25em;height:.25em;border-radius:50%;background:currentColor;transform:translate(50%,-50%)}
  #site-announce[data-paused="true"] .tbl-banner-track,
  #site-announce .tbl-banner-track:focus-within{animation-play-state:paused}
}
@keyframes tbl-wp-banner-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:620px) and (prefers-reduced-motion:reduce){
  #site-announce .tbl-banner-track{width:auto;animation:none}
  #site-announce .tbl-banner-messages{flex:1;flex-wrap:wrap;justify-content:center}
  #site-announce .tbl-banner-message{white-space:normal;padding:.2rem .55rem}
  #site-announce .tbl-banner-message:last-child::after,#site-announce .tbl-banner-copy{display:none}
}

/* Header, mobile cart and dropdown share the live Astro structure. */
.tbl-storefront .tbl-header__brand img{display:block;height:auto;max-width:100%;width:184px}
.tbl-storefront .tbl-language{display:flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap}
.tbl-storefront .tbl-language a{text-decoration:none;color:#e9edf0}
.tbl-storefront .tbl-language a[aria-current="page"]{color:var(--tbl-brand-gold);font-weight:700}
.tbl-storefront .tbl-language span{color:#8495a7}
.tbl-storefront .tbl-header__cart small{display:block}
.tbl-storefront .tbl-header__cart strong{display:block;font-variant-numeric:tabular-nums}
.tbl-storefront .tbl-header__cta{text-decoration:none}
.tbl-storefront .tbl-mobile-cart{display:none}
.tbl-storefront .tbl-menu{display:none}
.tbl-storefront .tbl-menu__close{display:none}
@media(min-width:1101px){
  .tbl-storefront .tbl-header__row{grid-template-columns:minmax(160px,215px) minmax(0,1fr) 350px;gap:0}
  .tbl-storefront .tbl-header__brand{padding-right:1rem}
  .tbl-storefront .tbl-header__nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  .tbl-storefront .tbl-header__nav a{min-width:0;font-size:clamp(.59rem,.74vw,.76rem);padding-inline:clamp(.3rem,.7vw,.75rem)}
  .tbl-storefront .tbl-header__actions{display:grid;grid-template-columns:90px 90px 170px;min-width:350px}
  .tbl-storefront .tbl-header__cta{display:flex;flex-direction:column;justify-content:center}
}
@media(max-width:1100px){
  .tbl-storefront .tbl-header__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(.45rem,2vw,1.2rem);min-height:70px;align-items:center}
  .tbl-storefront .tbl-header__brand{border:0;min-width:0}
  .tbl-storefront .tbl-header__nav,.tbl-storefront .tbl-header__actions{display:none!important}
  .tbl-storefront .tbl-mobile-cart{position:relative;display:inline-flex;width:2.8rem;height:2.8rem;align-items:center;justify-content:center;color:var(--tbl-brand-paper);text-decoration:none;border:1px solid rgba(213,163,61,.58)}
  .tbl-storefront .tbl-mobile-cart__icon{display:grid;place-items:center;width:1.28rem;height:1.28rem}
  .tbl-storefront .tbl-mobile-cart__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
  .tbl-storefront .tbl-mobile-cart__badge{position:absolute;top:-.3rem;right:-.3rem;border-radius:99px;background:var(--tbl-brand-gold);color:var(--tbl-brand-navy);padding:.15rem .4rem;font-size:.68rem}
  .tbl-storefront .tbl-menu{display:block;position:relative;align-self:center}
  .tbl-storefront .tbl-menu summary{display:inline-flex;align-items:center;min-height:44px;gap:.55rem;list-style:none;color:var(--tbl-brand-paper);cursor:pointer;font-size:.9rem}
  .tbl-storefront .tbl-menu summary::-webkit-details-marker{display:none}
  .tbl-storefront .tbl-menu summary::marker{content:""}
  .tbl-storefront .tbl-menu__icon{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:19px}
  .tbl-storefront .tbl-menu__icon span{display:block;background:var(--tbl-brand-gold);height:2px;width:100%}
  .tbl-storefront .tbl-menu[open] .tbl-menu__open{display:none}
  .tbl-storefront .tbl-menu[open] .tbl-menu__close{display:inline}
  .tbl-storefront .tbl-menu>div{position:absolute;right:0;top:calc(100% + 12px);width:min(85vw,22rem);min-width:min(85vw,20rem);max-height:calc(100dvh - 115px);overflow-y:auto;display:flex;flex-direction:column;z-index:60;padding:1rem 1.15rem 1.25rem;border:1px solid rgba(213,163,61,.42);background:var(--tbl-brand-navy);box-shadow:0 24px 56px rgba(0,0,0,.45)}
  .tbl-storefront .tbl-menu>div>a{display:flex;align-items:center;justify-content:space-between;min-height:45px;padding:.7rem .35rem;border-bottom:1px solid rgba(244,241,233,.12);color:var(--tbl-brand-paper);text-decoration:none}
  .tbl-storefront .tbl-menu>div>a.tbl-menu__batch{border:1px solid rgba(213,163,61,.65);background:rgba(213,163,61,.08);padding:.7rem}
  .tbl-storefront .tbl-menu .tbl-language{padding-top:1rem;justify-content:flex-start}
}
@media(max-width:700px){
  .tbl-storefront .tb-hero__stage{min-width:0}
  .tbl-storefront .tb-hero__copy>.tb-hero__lede{font-size:.94rem}
  .tbl-storefront .tb-hero__copy>.tb-hero__launch-note{font-size:.85rem}
  .tbl-storefront .tbl-product-grid{grid-template-columns:1fr;gap:1.1rem}
  .tbl-storefront .tbl-product-choice__image img{height:240px}
  .tbl-storefront .tbl-product-choice__body{padding:1.2rem}
  .tbl-storefront .tbl-product-choice__descriptor{min-height:0}
  .tbl-storefront .tbl-metabolic-home-placement{width:min(100% - 1rem,100%)}
  .tbl-storefront .tbl-wp-detail .tbl-product-choice--detail{display:block}
  .tbl-storefront .tbl-wp-detail .tbl-product-choice--detail .tbl-product-choice__image img{height:310px;max-height:none;padding:20px}
  .tbl-storefront .tbl-wp-floating{bottom:.65rem;right:.65rem}
  .tbl-storefront .tbl-wp-floating a{padding:.65rem .75rem}
  .tbl-storefront .tbl-wp-product-intro h1,
  .tbl-storefront .tbl-wp-catalogue-intro h1{font-size:clamp(2rem,9vw,3rem);overflow-wrap:anywhere}
}
@media(max-width:380px){
  .tbl-storefront .tbl-header__brand img{width:min(44vw,150px)}
  .tbl-storefront .tbl-menu>div{width:min(88vw,19rem);min-width:0}
  .tbl-storefront .tbl-strength-picker{gap:.5rem}
  .tbl-storefront .tbl-spend-tiers{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.85rem}
}


/* ===========================================================
   TBL NATIVE WOOCOMMERCE SHOPPING JOURNEY — VERSION 0.3.0
   Classic Woo cart/checkout remains native, not an Astro iframe.
   These selectors preserve original navy/gold editorial language.
   =========================================================== */
.tbl-storefront .tbl-native-product,
.tbl-storefront .tbl-native-basket,
.tbl-storefront .tbl-native-checkout{padding-block:clamp(2.25rem,5vw,5.5rem);color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-native-product__breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;color:#a3b1c0;font-size:.76rem;letter-spacing:.05em;margin-bottom:clamp(1.75rem,3vw,3rem)}
.tbl-storefront .tbl-native-product__breadcrumbs a{color:var(--tbl-brand-gold);text-decoration:none}
.tbl-storefront .tbl-native-product__breadcrumbs a:hover{text-decoration:underline}
.tbl-storefront .tbl-native-product__breadcrumbs strong{font-weight:500;color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-native-product__layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(1.4rem,3vw,3.6rem);align-items:start}
.tbl-storefront .tbl-native-product__visual{display:grid;justify-items:center;background:radial-gradient(circle at 50% 40%,#20374f,#101e30 65%,var(--tbl-brand-navy));padding:clamp(1rem,2.6vw,2.5rem);border:1px solid rgba(213,163,61,.32);min-width:0}
.tbl-storefront .tbl-native-product__visual .tbl-native-product__image{display:block;object-fit:contain;width:100%;max-width:520px;height:clamp(300px,46vw,620px)}
.tbl-storefront .tbl-native-product__eyebrow{justify-self:stretch;letter-spacing:.12em;color:var(--tbl-brand-gold);font-size:.7rem;line-height:1.6}
.tbl-storefront .tbl-native-product__visual>small{justify-self:start;color:#a4b3c3;line-height:1.6;font-size:.72rem}
.tbl-storefront .tbl-native-product__details{min-width:0;display:grid;gap:1rem}
.tbl-storefront .tbl-native-product__receptors{color:var(--tbl-brand-gold);letter-spacing:.12em;font-size:.72rem;font-weight:600}
.tbl-storefront .tbl-native-product__details h1{font-size:clamp(2.3rem,4.5vw,4.4rem);letter-spacing:-.04em;line-height:1.04;font-weight:500;color:var(--tbl-brand-paper);overflow-wrap:anywhere}
.tbl-storefront .tbl-native-product__descriptor{color:#c0ceda;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.6}
.tbl-storefront .tbl-native-product__sku-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.8rem 0;border-block:1px solid rgba(244,241,233,.16);font-size:.78rem;color:#bac8d5}
.tbl-storefront .tbl-native-product__sku-line strong{color:var(--tbl-brand-paper);font-weight:550;font-variant-numeric:tabular-nums}
.tbl-storefront .tbl-native-product__pricing{display:grid;gap:.2rem;padding:.8rem 0}
.tbl-storefront .tbl-native-product__pricing>span{font-size:.78rem;color:#b2bfcd;letter-spacing:.08em;text-transform:uppercase}
.tbl-storefront .tbl-native-product__pricing>strong{font:500 clamp(2.35rem,4vw,3.5rem)/1.1 var(--font-display,inherit);color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-native-product__pricing>strong .amount{color:inherit}
.tbl-storefront .tbl-native-product__pricing>small{color:#b9c8d7}
.tbl-storefront .tbl-native-product__availability{border:1px solid rgba(213,163,61,.45);background:#0b2136;padding:1.2rem;color:var(--tbl-brand-paper);display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.35rem .65rem}
.tbl-storefront .tbl-native-product__availability>span{font-size:.7rem;color:var(--tbl-brand-gold);margin-top:.25rem}
.tbl-storefront .tbl-native-product__availability>strong{color:var(--tbl-brand-gold);font-size:1rem;font-weight:600}
.tbl-storefront .tbl-native-product__availability>p{grid-column:2;color:#b8c5d2;font-size:.86rem;line-height:1.65}
.tbl-storefront .tbl-native-product__actions{display:grid;grid-template-columns:1fr;gap:.8rem}
.tbl-storefront .tbl-native-product__disabled,
.tbl-storefront .tbl-native-basket__disabled{min-height:50px;border:1px solid #435568;color:#b8c5d2;background:#14283d;padding:1rem;font:600 .88rem/1.4 var(--font-sans,inherit);cursor:not-allowed}
.tbl-storefront .tbl-native-product__actions>a{display:inline-flex;align-items:center;gap:.8rem;min-height:45px;width:fit-content;font-weight:600;font-size:.88rem;color:var(--tbl-brand-gold);text-decoration:none}
.tbl-storefront .tbl-native-product__release{padding:1.4rem;background:#0a1d31;border-left:2px solid var(--tbl-brand-gold);display:grid;gap:.8rem}
.tbl-storefront .tbl-native-product__release h2{font-size:1.22rem;color:var(--tbl-brand-paper);font-weight:500}
.tbl-storefront .tbl-native-product__release p{color:#b9c8d7;font-size:.85rem;line-height:1.7}
.tbl-storefront .tbl-native-product__links{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem}
.tbl-storefront .tbl-native-product__links>a{color:var(--tbl-brand-gold);font-size:.84rem}
.tbl-storefront .tbl-native-product__offer{font-size:.84rem;line-height:1.6;color:#acb9c7}
.tbl-storefront .tbl-native-basket__heading{max-width:59rem;margin-bottom:clamp(2rem,4vw,3rem)}
.tbl-storefront .tbl-native-basket__heading h1,
.tbl-storefront .tbl-native-checkout__intro h1{font-size:clamp(2.5rem,5.3vw,4.8rem);font-weight:500;line-height:1.03;color:var(--tbl-brand-paper);letter-spacing:-.04em;margin:.5rem 0 1rem}
.tbl-storefront .tbl-native-basket__heading>p:not(.eyebrow),
.tbl-storefront .tbl-native-checkout__intro>p:not(.eyebrow){font-size:1rem;max-width:70ch;line-height:1.7;color:#bac8d6}
.tbl-storefront .tbl-native-basket__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.9fr);gap:clamp(1rem,2.5vw,2rem);align-items:start}
.tbl-storefront .tbl-native-basket__cart{min-width:0;border:1px solid rgba(213,163,61,.3);background:#0b1b2e;padding:clamp(1.1rem,2.8vw,2rem)}
.tbl-storefront .tbl-native-basket__empty{padding-block:2.2rem 2.6rem;display:grid;justify-items:start;gap:1rem}
.tbl-storefront .tbl-native-basket__empty h2{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--tbl-brand-paper);font-weight:500}
.tbl-storefront .tbl-native-basket__empty p{max-width:47ch;font-size:.95rem;color:#b8c8d6;line-height:1.7}
.tbl-storefront .tbl-native-basket__primary{display:inline-flex;align-items:center;gap:.75rem;min-height:48px;margin-top:.35rem;background:var(--tbl-brand-gold);color:var(--tbl-brand-navy);text-decoration:none;padding:.75rem 1.3rem;font-weight:700;font-size:.9rem}
.tbl-storefront .tbl-native-basket__gift{display:flex;gap:1rem;justify-content:space-between;align-items:center;background:#10263d;border-top:1px solid rgba(213,163,61,.36);padding:1.3rem 1.1rem}
.tbl-storefront .tbl-native-basket__gift h2{font-size:1.1rem;color:var(--tbl-brand-paper);margin:.4rem 0}
.tbl-storefront .tbl-native-basket__gift p{color:#acbbca;font-size:.8rem;line-height:1.55}
.tbl-storefront .tbl-native-basket__gift>strong{color:var(--tbl-brand-gold);font-size:1.5rem;font-weight:500;white-space:nowrap}
.tbl-storefront .tbl-native-basket__gift>strong small{display:block;font-size:.67rem;color:#aebbc8}
.tbl-storefront .tbl-native-basket__aside{display:grid;gap:1rem}
.tbl-storefront .tbl-native-basket__summary{border:1px solid rgba(213,163,61,.5);background:#11273c;padding:clamp(1.2rem,2vw,1.7rem)}
.tbl-storefront .tbl-native-basket__summary dl{margin:1.25rem 0;display:grid;gap:.7rem}
.tbl-storefront .tbl-native-basket__summary dl>div{display:flex;justify-content:space-between;gap:.9rem;border-bottom:1px solid rgba(244,241,233,.12);padding:.6rem 0;font-size:.82rem}
.tbl-storefront .tbl-native-basket__summary dt{color:#b8c5d4}
.tbl-storefront .tbl-native-basket__summary dd{margin:0;text-align:right;color:var(--tbl-brand-paper);font-variant-numeric:tabular-nums}
.tbl-storefront .tbl-native-basket__summary dl>.tbl-native-basket__total{font-size:1.15rem;font-weight:600;border-bottom:0}
.tbl-storefront .tbl-native-basket__summary dl>.tbl-native-basket__total dd{color:var(--tbl-brand-gold)}
.tbl-storefront .tbl-native-basket__summary .tbl-native-basket__disabled{width:100%}
.tbl-storefront .tbl-native-basket__summary>p:not(.eyebrow){margin-top:1rem;color:#aebcca;line-height:1.6;font-size:.78rem}
.tbl-storefront .tbl-native-basket__help{padding:1.2rem;border:1px solid rgba(244,241,233,.14);display:grid;gap:.7rem;color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-native-basket__help a{color:var(--tbl-brand-gold);text-decoration:none}
.tbl-storefront .tbl-native-basket__benefits{margin-top:clamp(2rem,4vw,4rem);display:grid;gap:1.1rem}
.tbl-storefront .tbl-native-basket__benefits>p:last-child{font-size:.8rem;line-height:1.6;color:#aabacb}
.tbl-storefront .tbl-native-basket__steps{margin-block:3.5rem 0}
.tbl-storefront .tbl-native-basket__steps h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:.4rem 0 1.5rem;color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-native-basket__steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.tbl-storefront .tbl-native-basket__steps li{display:flex;gap:.9rem;border-top:1px solid rgba(213,163,61,.45);padding:1rem 0}
.tbl-storefront .tbl-native-basket__steps li>strong{font-size:1.55rem;line-height:1;color:var(--tbl-brand-gold);font-weight:500}
.tbl-storefront .tbl-native-basket__steps h3{color:var(--tbl-brand-paper);font-size:.95rem;margin-bottom:.45rem}
.tbl-storefront .tbl-native-basket__steps li p{color:#aebccc;font-size:.78rem;line-height:1.6}
.tbl-storefront .tbl-native-basket__wc{min-width:0}
.tbl-storefront .tbl-native-basket__wc .woocommerce table.shop_table{background:#0b2134;color:var(--tbl-brand-paper);border:1px solid rgba(244,241,233,.25);border-radius:0}
.tbl-storefront .tbl-native-basket__wc .woocommerce table.shop_table td,
.tbl-storefront .tbl-native-basket__wc .woocommerce table.shop_table th{border-bottom:1px solid rgba(244,241,233,.13);color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-native-basket__wc .woocommerce a{color:var(--tbl-brand-gold)}
.tbl-storefront .tbl-native-basket__wc .woocommerce button,
.tbl-storefront .tbl-native-basket__wc .woocommerce .button{border-radius:0}
.tbl-storefront .tbl-native-checkout__intro{max-width:67rem}
.tbl-storefront .tbl-native-checkout__journey{margin:2rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.tbl-storefront .tbl-native-checkout__journey>span{display:flex;align-items:center;gap:.7rem;background:#10263b;padding:1rem;color:#bac8d7;font-size:.76rem;border:1px solid rgba(244,241,233,.12)}
.tbl-storefront .tbl-native-checkout__journey>span strong{color:var(--tbl-brand-gold);font-size:1.4rem;font-weight:500}
.tbl-storefront .tbl-native-checkout__layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.85fr);gap:clamp(1rem,2.3vw,2rem);align-items:start}
.tbl-storefront .tbl-native-checkout__form{min-width:0;background:#0a1c2e;border:1px solid rgba(213,163,61,.3);padding:clamp(1.1rem,3vw,2rem)}
.tbl-storefront .tbl-native-checkout__sidebar{border:1px solid rgba(213,163,61,.45);padding:1.5rem;background:#10263b;display:grid;gap:1rem}
.tbl-storefront .tbl-native-checkout__sidebar h2{color:var(--tbl-brand-paper);font-size:1.55rem;line-height:1.25}
.tbl-storefront .tbl-native-checkout__sidebar p,
.tbl-storefront .tbl-native-checkout__sidebar li{color:#b8c7d5;font-size:.84rem;line-height:1.65}
.tbl-storefront .tbl-native-checkout__sidebar ul{margin:0;padding-left:1.1rem;display:grid;gap:.5rem}
.tbl-storefront .tbl-native-checkout__sidebar>a{color:var(--tbl-brand-gold);text-decoration:none;font-size:.86rem}
.tbl-storefront .woocommerce form .form-row input.input-text,
.tbl-storefront .woocommerce form .form-row textarea,
.tbl-storefront .woocommerce form .form-row select{background:#fff;color:var(--tbl-brand-navy);min-height:44px;border:1px solid #8294a5;padding:.7rem .85rem;border-radius:0}
.tbl-storefront .woocommerce form .form-row label{color:#eef2f5;font-size:.86rem}
.tbl-storefront .woocommerce .woocommerce-info,
.tbl-storefront .woocommerce .woocommerce-message{background:#0f253c;color:var(--tbl-brand-paper);border-top-color:var(--tbl-brand-gold)}
.tbl-storefront .woocommerce .woocommerce-error{background:#2b1820;color:var(--tbl-brand-paper);border-top-color:#e07979}
.tbl-storefront .woocommerce .woocommerce-info a,
.tbl-storefront .woocommerce .woocommerce-message a{color:var(--tbl-brand-gold)}
.tbl-storefront .woocommerce .button,
.tbl-storefront .woocommerce button.button{background:var(--tbl-brand-gold);color:var(--tbl-brand-navy);border-radius:0;min-height:44px;font-weight:700}
.tbl-storefront .woocommerce .button:disabled,
.tbl-storefront .woocommerce button.button:disabled{opacity:1;background:#23394e;color:#aec0d0}
.tbl-storefront .woocommerce #payment{background:#10283f;color:var(--tbl-brand-paper);border-radius:0}
.tbl-storefront .woocommerce #payment div.form-row{border-top:1px solid rgba(244,241,233,.18)}
.tbl-storefront .woocommerce .woocommerce-checkout-review-order-table{background:#0b2035;color:var(--tbl-brand-paper)}
.tbl-storefront .woocommerce .woocommerce-checkout-review-order-table th,
.tbl-storefront .woocommerce .woocommerce-checkout-review-order-table td{color:var(--tbl-brand-paper)}
.tbl-storefront .woocommerce #place_order{background:#23394e;color:#d3dde6;cursor:not-allowed}
@media(max-width:1000px){
  .tbl-storefront .tbl-native-product__layout,
  .tbl-storefront .tbl-native-basket__grid,
  .tbl-storefront .tbl-native-checkout__layout{grid-template-columns:1fr}
  .tbl-storefront .tbl-native-basket__steps ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tbl-storefront .tbl-native-product__visual .tbl-native-product__image{height:min(65vw,520px)}
}
@media(max-width:700px){
  .tbl-storefront .tbl-native-product,
  .tbl-storefront .tbl-native-basket,
  .tbl-storefront .tbl-native-checkout{padding-block:2.2rem}
  .tbl-storefront .tbl-native-product__visual .tbl-native-product__image{height:330px}
  .tbl-storefront .tbl-native-product__availability{padding:1rem}
  .tbl-storefront .tbl-native-basket__gift{align-items:start;flex-direction:column}
  .tbl-storefront .tbl-native-basket__steps ol,
  .tbl-storefront .tbl-native-checkout__journey{grid-template-columns:1fr}
  .tbl-storefront .tbl-native-checkout__journey>span{padding:.7rem 1rem}
  .tbl-storefront .tbl-native-basket__cart,
  .tbl-storefront .tbl-native-basket__summary,
  .tbl-storefront .tbl-native-checkout__form{padding:1rem}
  .tbl-storefront .woocommerce table.shop_table_responsive tr td::before{color:#c2d0de}
}


/* Nontransactional classic WooCommerce checkout layout preview.
   Scoped to the actual staging-only template part. */
.tbl-storefront .tbl-native-checkout__preview{display:grid;gap:1.2rem;min-width:0}
.tbl-storefront .tbl-native-checkout__preview-alert{
  display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.1rem;
  border:1px solid rgba(213,163,61,.65);background:#122a41;
}
.tbl-storefront .tbl-native-checkout__preview-alert>span{font-size:.8rem;color:var(--tbl-brand-gold);line-height:1.6}
.tbl-storefront .tbl-native-checkout__preview-alert strong{font-size:.92rem;color:#efd09b}
.tbl-storefront .tbl-native-checkout__preview-alert p{font-size:.8rem;color:#b8c8d6;line-height:1.55;margin-top:.35rem}
.tbl-storefront .tbl-native-checkout__preview-section{
  display:grid;gap:.9rem;padding:1.3rem 0;border-top:1px solid rgba(244,241,233,.14)
}
.tbl-storefront .tbl-native-checkout__preview-heading{display:flex;align-items:center;gap:.75rem}
.tbl-storefront .tbl-native-checkout__preview-heading>span{color:var(--tbl-brand-gold);font-size:1.12rem}
.tbl-storefront .tbl-native-checkout__preview-heading h2{font-size:1.3rem;color:var(--tbl-brand-paper);font-weight:550}
.tbl-storefront .tbl-native-checkout__preview-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}
.tbl-storefront .tbl-native-checkout__preview-fields label{display:grid;gap:.45rem;min-width:0;color:#cbd6df;font-size:.83rem}
.tbl-storefront .tbl-native-checkout__preview-fields input{
  width:100%;min-width:0;min-height:46px;box-sizing:border-box;
  border:1px solid #61768c;border-radius:0;background:var(--tbl-brand-paper);
  padding:.7rem .8rem;color:#435466;font-size:.92rem;
}
.tbl-storefront .tbl-native-checkout__preview-fields input:disabled{opacity:.76;cursor:not-allowed}
.tbl-storefront .tbl-native-checkout__preview-help{line-height:1.65;font-size:.83rem;color:#b6c5d2}
.tbl-storefront .tbl-native-checkout__preview-checkbox{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem;border:1px solid rgba(213,163,61,.26);color:#d2dce5;line-height:1.6;font-size:.84rem}
.tbl-storefront .tbl-native-checkout__preview-checkbox input{width:18px;height:18px;flex:none;accent-color:var(--tbl-brand-gold);margin-top:.2rem}
.tbl-storefront .tbl-native-checkout__preview-payment{display:grid;gap:1rem}
.tbl-storefront .tbl-native-checkout__preview-payment p{color:#c1ceda;line-height:1.6;font-size:.86rem}
.tbl-storefront .tbl-native-checkout__preview-payment>div{display:flex;justify-content:space-between;align-items:baseline;border-block:1px solid rgba(244,241,233,.18);padding:1rem 0}
.tbl-storefront .tbl-native-checkout__preview-payment>div span{color:#cbd6df}
.tbl-storefront .tbl-native-checkout__preview-payment>div strong{font-size:1.65rem;color:var(--tbl-brand-gold);font-weight:500}
.tbl-storefront .tbl-native-checkout__preview-payment button{
  border:1px solid #405a71;background:#17314a;color:#b7c8d8;
  font-size:.9rem;min-height:50px;cursor:not-allowed;
}
.tbl-storefront .tbl-native-checkout__preview-return{width:fit-content;color:var(--tbl-brand-gold);text-decoration:none;font-size:.9rem;min-height:44px;display:inline-flex;align-items:center;gap:.7rem}
@media(max-width:700px){
  .tbl-storefront .tbl-native-checkout__preview-fields{grid-template-columns:1fr}
  .tbl-storefront .tbl-native-checkout__preview-section{padding:1rem 0}
  .tbl-storefront .tbl-native-checkout__preview-alert{padding:.9rem}
}


/* Imported original Astro editorial page bodies, pending pixel-level parity. */
.tbl-storefront .tbl-astro-editorial{min-height:45vh;background:var(--tbl-brand-navy);color:var(--tbl-brand-paper)}
.tbl-storefront .tbl-astro-editorial img{max-width:100%;height:auto}
.tbl-storefront .tbl-astro-editorial a{overflow-wrap:anywhere}
.tbl-storefront .tbl-astro-editorial a:focus-visible,
.tbl-storefront .tbl-astro-editorial summary:focus-visible{
  outline:2px solid var(--tbl-brand-gold);outline-offset:3px
}
.tbl-storefront .tbl-astro-editorial h1,
.tbl-storefront .tbl-astro-editorial h2,
.tbl-storefront .tbl-astro-editorial h3{overflow-wrap:break-word}
@media(max-width:700px){
  .tbl-storefront .tbl-astro-editorial table,
  .tbl-storefront .tbl-astro-editorial pre{display:block;max-width:100%;overflow-x:auto}
}


/* Native WordPress support migration + nontransactional lab calculation QA */
.tbl-storefront .tbl-wp-source-status {
  margin-block:1.5rem 1rem;padding:1rem 1.5rem;
  border:1px solid #91794b;border-left:4px solid var(--tbl-brand-gold);
  background:#13263a;color:var(--tbl-brand-paper);
  max-width:1160px
}
.tbl-wp-source-status strong {color:#f2c36b;letter-spacing:.08em;font-size:.8rem}
.tbl-wp-source-status p {margin:.4rem 0 0;line-height:1.65;max-width:90ch}
.tbl-astro-editorial--calculator #research-calculator,
.tbl-astro-editorial--calculator #research-planner {display:none!important}
.tbl-lab-preview{padding-block:2.5rem 3rem;scroll-margin-top:115px;color:var(--tbl-brand-paper)}
.tbl-lab-preview header{max-width:900px}
.tbl-lab-preview h2{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.22}
.tbl-lab-preview p{line-height:1.65;color:#cbd4dc}
.tbl-lab-preview__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.4rem;margin-block:1.5rem}
.tbl-lab-preview__form,.tbl-lab-preview__result{min-width:0;border:1px solid #38506a;background:#0b1b2f;padding:1.7rem;border-radius:10px}
.tbl-lab-preview__form>label,.tbl-lab-preview__fields label{display:block;margin:.85rem 0 .5rem;font-weight:650}
.tbl-lab-preview__form select,.tbl-lab-preview__form input{
  display:block;width:100%;font:inherit;background:var(--tbl-brand-navy);border:1px solid #728096;
  padding:.75rem;color:var(--tbl-brand-paper);border-radius:5px;min-height:47px
}
.tbl-lab-preview__help{font-size:.85rem;margin-top:.35rem}
.tbl-lab-preview__fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem}
.tbl-lab-preview__buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.tbl-lab-preview__buttons button{
  border:1px solid var(--tbl-brand-gold);background:var(--tbl-brand-gold);color:var(--tbl-brand-navy);font:inherit;
  font-weight:700;padding:.7rem 1.3rem;min-height:46px;border-radius:5px;cursor:pointer
}
.tbl-lab-preview__buttons button.tbl-lab-preview__reset{color:var(--tbl-brand-paper);background:transparent;border-color:#637386}
.tbl-lab-preview__number{display:block;color:var(--tbl-brand-gold);font-size:clamp(1.45rem,3vw,2.5rem);font-weight:700;overflow-wrap:anywhere}
.tbl-lab-preview__alert{border-left:3px solid #ffc581;padding:.8rem;color:#ffe0ad!important;background:#402719}
.tbl-lab-preview__result{border-top:3px solid var(--tbl-brand-gold)}
.tbl-lab-preview__result strong{color:var(--tbl-brand-paper)}
.tbl-lab-preview__disclaimer{margin-block:1.4rem;border-top:1px solid #36506a;padding-top:1rem;max-width:102ch;font-size:.86rem}
.tbl-wp-planner-pending{padding-block:1.5rem 3rem;scroll-margin-top:115px}
.tbl-wp-planner-pending h2{font-size:1.5rem}
.tbl-wp-planner-pending p{max-width:88ch;line-height:1.7}
.tbl-lab-preview button:focus-visible,.tbl-lab-preview input:focus-visible,
.tbl-lab-preview select:focus-visible{outline:3px solid var(--tbl-brand-gold-focus);outline-offset:3px}
@media(max-width:780px){
  .tbl-lab-preview__grid{grid-template-columns:1fr}
  .tbl-lab-preview__form,.tbl-lab-preview__result{padding:1.2rem}
}
@media(max-width:420px){
  .tbl-lab-preview__fields{grid-template-columns:1fr}
  .tbl-lab-preview__buttons button{flex:1}
  .tbl-storefront .tbl-wp-source-status{padding:1rem}
}


/* Read-only research lot reference console, never current lot verification */
.tbl-lot-reference{margin-block:1.5rem 2.8rem;padding:clamp(1.3rem,4vw,2.5rem);background:#0b1b2e;border:1px solid #536275;border-top:3px solid var(--tbl-brand-gold);color:var(--tbl-brand-paper)}
.tbl-lot-reference h2{font-size:clamp(1.4rem,2.7vw,2.2rem);line-height:1.25}
.tbl-lot-reference header p{max-width:90ch;line-height:1.65}
.tbl-lot-reference label{display:block;font-weight:650;margin-bottom:.65rem}
.tbl-lot-reference__form-row{display:flex;gap:.7rem;flex-wrap:wrap}
.tbl-lot-reference__form-row input{flex:1;min-width:190px;min-height:48px;border:1px solid #728096;background:var(--tbl-brand-navy);color:var(--tbl-brand-paper);font:inherit;padding:.7rem 1rem;border-radius:5px}
.tbl-lot-reference__form-row button{min-height:48px;font:inherit;font-weight:700;background:var(--tbl-brand-gold);color:var(--tbl-brand-navy);padding:.7rem 1.2rem;border:1px solid var(--tbl-brand-gold);border-radius:5px;cursor:pointer}
.tbl-lot-reference__help{font-size:.88rem;color:#cbd4dd;line-height:1.65}
.tbl-lot-reference [data-tbl-lot-miss]{border-left:3px solid #f4be67;padding:1rem;background:#271b14;color:#ffe1ab;max-width:85ch}
.tbl-lot-reference a{color:var(--tbl-brand-gold-focus);text-underline-offset:.25em}
.tbl-lot-reference input:focus-visible,.tbl-lot-reference button:focus-visible{outline:2px solid var(--tbl-brand-gold-focus);outline-offset:3px}
@media(max-width:530px){.tbl-lot-reference__form-row{display:grid;grid-template-columns:1fr}.tbl-lot-reference__form-row input{min-width:0}}


/* ==============================================================
   TBL SPECIALIST CATALOGUE — live Astro editorial parity (staging)
   Active merchandising: three GLP families + distinct Lab Essentials.
   Historic compound Pages remain archived, with no shopping controls.
   ============================================================== */
.tbl-storefront .tbl-wp-specialist-cover {
  margin-bottom:1.5rem;
  border-block:1px solid rgba(213,163,61,.24);
  background-color:var(--tbl-brand-navy);
  background-image:
    linear-gradient(90deg,rgba(4,13,25,.88) 0%,rgba(4,13,25,.64) 45%,rgba(4,13,25,.43) 72%,rgba(4,13,25,.57) 100%),
    linear-gradient(180deg,rgba(7,20,38,.05),rgba(7,20,38,.42)),
    url("assets/images/backgrounds/thai-bio-labs-metabolic-peptides-hero-20261008.webp");
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 70%;
}
.tbl-storefront .glp-catalogue-hero {
  padding:clamp(3rem,6vw,5.5rem) clamp(1rem,3vw,3rem);
}
.tbl-storefront .glp-catalogue-copy {max-width:760px}
.tbl-storefront .glp-catalogue-copy h1 {
  font-size:clamp(2.15rem,4.3vw,4rem);line-height:1.08;letter-spacing:-.025em;
  max-width:16ch;margin:.55rem 0 1.25rem;
}
.tbl-storefront .glp-catalogue-description {max-width:680px;color:#d4dce4;line-height:1.8}
.tbl-storefront .glp-catalogue-status {color:var(--tbl-brand-gold);line-height:1.7;max-width:700px;margin-block:1.2rem}
.tbl-storefront .glp-catalogue-status a{color:inherit;text-underline-offset:4px}
.tbl-storefront .glp-catalogue-meta {
  display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-block:1.2rem 1.5rem
}
.tbl-storefront .glp-catalogue-meta >*{
  display:inline-block;border:1px solid rgba(213,163,61,.5);padding:.48rem .7rem;
  background:rgba(7,20,38,.6);font-size:.8rem;line-height:1.5;color:var(--tbl-brand-paper);
  text-decoration:none;font-weight:650;
}
.tbl-storefront .glp-catalogue-meta a{color:var(--tbl-brand-gold)}
.tbl-storefront .glp-catalogue-resources{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.tbl-storefront .glp-catalogue-resources .tbl-resource-button{max-width:360px}
.tbl-storefront .tbl-metabolic-set-placement{padding-top:.25rem;padding-bottom:2rem}
.tbl-storefront .tbl-wp-gift-schedule{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;
  padding:1.1rem;margin-top:.7rem;background:#0b1d30;border:1px solid #37485b;
}
.tbl-storefront .tbl-wp-gift-schedule>div{
  display:flex;flex-direction:column;gap:.35rem;text-align:center;
  padding:1rem .35rem;background:#10263b;border:1px solid rgba(213,163,61,.25);
}
.tbl-storefront .tbl-wp-gift-schedule strong{color:var(--tbl-brand-paper);font-size:1.02rem}
.tbl-storefront .tbl-wp-gift-schedule span{color:#eac16b;font-size:.86rem}
.tbl-storefront .tbl-wp-catalogue-items {padding-block:1rem 2.5rem}
.tbl-storefront .tbl-wp-catalogue-items .tbl-wp-order-benefits{margin-bottom:1.9rem}
.tbl-storefront .tbl-wp-catalogue-purchase-note{
  margin-top:1.4rem;border-left:3px solid var(--tbl-brand-gold);background:#102338;
  padding:1rem 1.25rem;color:#e0e6ec;line-height:1.7;max-width:106ch
}
.tbl-storefront .tbl-wp-lab-essentials{
  padding-block:2rem 3rem;border-top:1px solid rgba(213,163,61,.26)
}
.tbl-storefront .tbl-wp-lab-essentials__header{
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;
  margin-bottom:1.4rem
}
.tbl-storefront .tbl-wp-lab-essentials__header h2,
.tbl-storefront .tbl-wp-buying-guide h2{
  font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.2;
}
.tbl-storefront .tbl-wp-lab-essentials__header a{color:var(--tbl-brand-gold);text-underline-offset:4px}
.tbl-storefront .tbl-wp-lab-card{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
  border:1px solid #3c5065;background:#0d2034;max-width:1050px;
}
.tbl-storefront .tbl-wp-lab-card__image{
  position:relative;display:grid;place-items:center;overflow:hidden;min-height:360px;
  background:radial-gradient(circle at 50% 38%,#274157,#08182a 75%);padding:2rem;
}
.tbl-storefront .tbl-wp-lab-card__image>span{
  position:absolute;top:1rem;left:1.1rem;color:var(--tbl-brand-gold);letter-spacing:.09em;
  font-size:.75rem;font-weight:700
}
.tbl-storefront .tbl-wp-lab-card__image img{
  display:block;width:auto;height:340px;max-width:90%;object-fit:contain
}
.tbl-storefront .tbl-wp-lab-card__details{padding:clamp(1.3rem,3vw,2.3rem)}
.tbl-storefront .tbl-wp-lab-card__details h3{font-size:clamp(1.5rem,2.5vw,2rem);margin:.5rem 0}
.tbl-storefront .tbl-wp-lab-card__details p{line-height:1.7}
.tbl-storefront .tbl-wp-lab-card__price{
  display:block;font-size:clamp(1.6rem,3vw,2.5rem);color:var(--tbl-brand-gold);margin-block:.85rem
}
.tbl-storefront .tbl-wp-lab-card__price small{font-size:.8rem;font-weight:500;color:#e5e8ea}
.tbl-storefront .tbl-wp-lab-card__release{font-size:.86rem;font-weight:700;color:#ecbf67}
.tbl-storefront .tbl-wp-lab-card__gift{
  padding:1.1rem 0;border-block:1px solid #3c5065;margin:1rem 0
}
.tbl-storefront .tbl-wp-lab-card__gift strong{color:var(--tbl-brand-gold)}
.tbl-storefront .tbl-wp-buying-guide{padding-block:2rem 4rem;border-top:1px solid rgba(213,163,61,.26)}
.tbl-storefront .tbl-wp-buying-guide__questions{max-width:900px;margin:1.3rem 0 1.75rem}
.tbl-storefront .tbl-wp-buying-guide__questions details{
  border-bottom:1px solid rgba(213,163,61,.25);padding-block:1rem
}
.tbl-storefront .tbl-wp-buying-guide__questions summary{
  cursor:pointer;font-weight:650;font-size:1rem;line-height:1.65;color:var(--tbl-brand-paper)
}
.tbl-storefront .tbl-wp-buying-guide__questions p{max-width:82ch;line-height:1.75;color:#d8e0e9}
.tbl-storefront .tbl-wp-buying-guide__questions a{color:var(--tbl-brand-gold);text-underline-offset:4px}
.tbl-storefront .tbl-wp-catalogue-editorial{margin-top:2rem}
.tbl-storefront .glp-catalogue-resources a:focus-visible,
.tbl-storefront .glp-catalogue-status a:focus-visible,
.tbl-storefront .glp-catalogue-meta a:focus-visible,
.tbl-storefront .tbl-wp-buying-guide a:focus-visible,
.tbl-storefront .tbl-wp-buying-guide summary:focus-visible,
.tbl-storefront .tbl-wp-lab-card a:focus-visible{
  outline:2px solid #eabf67;outline-offset:3px;
}
html[lang="th"] .tbl-storefront .glp-catalogue-copy h1{letter-spacing:0;line-height:1.38}
@media(min-width:621px) and (max-width:1180px) {
  .tbl-storefront .tbl-wp-specialist-cover {
    background-position:60% center;
    background-image:
      linear-gradient(90deg,rgba(4,13,25,.92),rgba(4,13,25,.7) 53%,rgba(4,13,25,.51)),
      url("assets/images/backgrounds/thai-bio-labs-metabolic-peptides-hero-20261008.webp");
  }
}
@media(max-width:700px){
  .tbl-storefront .tbl-wp-lab-card{grid-template-columns:1fr}
  .tbl-storefront .tbl-wp-lab-card__image{min-height:260px}
  .tbl-storefront .tbl-wp-lab-card__image img{height:265px}
  .tbl-storefront .tbl-wp-gift-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tbl-storefront .glp-catalogue-description{font-size:14px}
}
@media(max-width:620px){
  .tbl-storefront .tbl-wp-specialist-cover{
    width:min(calc(100% - 2.5rem),1180px);
    margin-inline:auto;border:1px solid rgba(213,163,61,.24);
    background-image:
      linear-gradient(90deg,rgba(4,13,25,.95),rgba(4,13,25,.8) 62%,rgba(4,13,25,.54)),
      url("assets/images/backgrounds/thai-bio-labs-metabolic-health-research-peptides-background.webp");
    background-size:auto 100%;background-position:right center;
  }
  .tbl-storefront .glp-catalogue-hero{padding:2.2rem 1.5rem}
  .tbl-storefront .glp-catalogue-copy h1{font-size:clamp(1.85rem,7vw,2.3rem)}
  .tbl-storefront .glp-catalogue-resources{flex-direction:column}
  .tbl-storefront .glp-catalogue-resources .tbl-resource-button{max-width:100%}
}


/* TBL CURRENT METABOLIC FAMILY RESEARCH CONTEXT — sourced from Astro specialist */
.tbl-storefront .tbl-wp-metabolic-context {
  padding-block:clamp(2rem,5vw,4.5rem);
  border-top:1px solid rgba(213,163,61,.25);
}
.tbl-storefront .tbl-wp-metabolic-context h2 {
  font-size:clamp(1.75rem,3.4vw,2.8rem);line-height:1.22;max-width:28ch;margin:.6rem 0 1.35rem
}
.tbl-storefront .tbl-wp-metabolic-context h3 {
  font-size:clamp(1.15rem,2.1vw,1.5rem);line-height:1.3;margin:2rem 0 .7rem
}
.tbl-storefront .tbl-wp-metabolic-context >p{
  max-width:80ch;line-height:1.8;color:#d9e0e7
}
.tbl-storefront .tbl-wp-metabolic-context a {
  color:var(--tbl-brand-gold);text-underline-offset:4px;line-height:1.65
}
.tbl-storefront .tbl-wp-metabolic-context__source {font-size:.92rem;margin-block:1.25rem}
.tbl-storefront .tbl-wp-metabolic-context__questions {
  max-width:980px;border-top:1px solid rgba(213,163,61,.24)
}
.tbl-storefront .tbl-wp-metabolic-context__questions details{
  border-bottom:1px solid rgba(213,163,61,.24);padding-block:1.2rem
}
.tbl-storefront .tbl-wp-metabolic-context__questions summary{
  cursor:pointer;color:var(--tbl-brand-paper);font-weight:650;line-height:1.65;font-size:1rem
}
.tbl-storefront .tbl-wp-metabolic-context__questions p{
  line-height:1.75;max-width:82ch;color:#d1d9e2
}
.tbl-storefront .tbl-wp-metabolic-context__contact{
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
  margin-block:1.9rem 2rem;color:var(--tbl-brand-paper)
}
.tbl-storefront .tbl-wp-metabolic-context__signals{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;padding-block:1.8rem;border-block:1px solid rgba(213,163,61,.25)
}
.tbl-storefront .tbl-wp-metabolic-context__signals article{
  min-width:0;padding:1.3rem;background:#0d2034;border:1px solid #38516a
}
.tbl-storefront .tbl-wp-metabolic-context__signals span{
  color:#e8ba5b;letter-spacing:.09em;font-size:.77rem;font-weight:700
}
.tbl-storefront .tbl-wp-metabolic-context__signals h3{
  margin:.8rem 0;font-size:1.22rem;line-height:1.3
}
.tbl-storefront .tbl-wp-metabolic-context__signals p{
  color:#d7dfe9;line-height:1.7;margin:0;font-size:.91rem
}
.tbl-storefront .tbl-wp-metabolic-context a:focus-visible,
.tbl-storefront .tbl-wp-metabolic-context summary:focus-visible{
  outline:2px solid var(--tbl-brand-gold-focus);outline-offset:4px
}
@media(max-width:760px){
  .tbl-storefront .tbl-wp-metabolic-context__signals {grid-template-columns:1fr}
  .tbl-storefront .tbl-wp-metabolic-context__contact{display:block}
  .tbl-storefront .tbl-wp-metabolic-context__contact .tbl-resource-button{margin-top:.9rem}
}


/* Exact approved Astro PendingCoaNotice and homepage research-resource styling.
   Source: src/components/PendingCoaNotice.astro and src/pages/index.astro. */
.tbl-storefront .pending-coa-notice {
  border:1px solid rgba(198,169,108,.35);
  padding:1.25rem;
  margin:1.25rem 0;
  border-radius:.5rem;
}
.tbl-storefront .pending-coa-notice strong { color:var(--p14-gold); }
.tbl-storefront .pending-coa-notice p { margin:.65rem 0 0; font-size:.95rem; line-height:1.7; }
.tbl-storefront .tb-infrastructure__resources {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  margin-top:1.35rem;
}


/* Source-fidelity: original ProductChooser / ProductDetail Astro disclosure
   and research CTA styling, added after staging-only WordPress adjustments. */
.tbl-storefront .tbl-choice-delivery{font-size:.85rem;line-height:1.65;color:#b9c4d2;margin:0}
.tbl-storefront .tbl-choice-offers{border-top:1px solid #304154;border-bottom:1px solid #304154;padding:.85rem 0}
.tbl-storefront .tbl-choice-offers>summary{cursor:pointer;color:var(--p14-gold);font-weight:600;line-height:1.6}
.tbl-storefront .tbl-choice-offers[open]>summary{margin-bottom:1rem}
.tbl-storefront .tbl-choice-offers>summary:focus-visible{outline:2px solid var(--p14-gold);outline-offset:4px}
.tbl-storefront .glp-product-resources details{border-block:1px solid rgba(213,163,61,.24);padding:1rem 0}
.tbl-storefront .glp-product-resources summary{cursor:pointer;color:var(--p14-gold);font-weight:600;line-height:1.7}
.tbl-storefront .glp-product-resources summary:focus-visible{outline:2px solid var(--p14-gold);outline-offset:4px}
.tbl-storefront .glp-product-reference{line-height:1.65}
.tbl-storefront .glp-product-reference a{color:var(--p14-gold);text-underline-offset:4px}
.tbl-storefront .glp-product-reference a:focus-visible{outline:2px solid var(--tbl-brand-gold-focus);outline-offset:3px}
.tbl-storefront .glp-product-resources .glp-actions{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}
.tbl-storefront .glp-product-resources .tbl-outline-action{display:inline-flex;min-height:44px;align-items:center;gap:.45rem;width:auto;flex:initial;border:0;padding:.45rem 0;background:transparent;color:var(--p14-gold);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.tbl-storefront .glp-product-resources .tbl-outline-action:hover{color:var(--tbl-brand-gold-hover)}
.tbl-storefront .glp-product-resources .tbl-outline-action:focus-visible{outline:2px solid var(--tbl-brand-gold-focus);outline-offset:4px}


/* The source visitor gate controls visibility for both floating quick-access
   buttons. Match its accepted/required state explicitly on the isolated WP
   theme, including when other WordPress/plugin CSS supplies a hidden value.
   Never show quick-access links above the mandatory visitor gate or COA modal. */
html[data-ruo-gate="accepted"]:not(.coa-modal-open) body.tbl-storefront .tbl-contact-float,
html[data-ruo-gate="accepted"]:not(.coa-modal-open) body.tbl-storefront .tbl-line-float{
  visibility:visible!important;
  pointer-events:auto!important;
}
html[data-ruo-gate="required"] body.tbl-storefront .tbl-contact-float,
html[data-ruo-gate="required"] body.tbl-storefront .tbl-line-float,
html.coa-modal-open body.tbl-storefront .tbl-contact-float,
html.coa-modal-open body.tbl-storefront .tbl-line-float{
  visibility:hidden!important;
  pointer-events:none!important;
}
/* The source Contact form remains a visual mockup on protected staging.
   Its original SEND control must never accept personal information. */
body.tbl-storefront .tbl-wp-contact-preview :disabled{cursor:not-allowed}
body.tbl-storefront .tbl-wp-contact-preview__notice{
  margin:1rem 0 0;
  padding:.85rem 1rem;
  border:1px solid rgba(213,163,61,.48);
  color:var(--tbl-brand-paper);
  font-size:.83rem;
  line-height:1.6;
}


/* Match published Astro 320–390px float interactions: touch-size LINE stays
   official green while hovered. Keep a distinct keyboard focus-visible state
   and the dark-green hover used by the original desktop control. */
@media(max-width:620px){
  html[data-ruo-gate="accepted"] body.tbl-storefront .tbl-line-float:hover:not(:focus-visible){
    background:#06C755!important;
    color:#fff!important;
  }
}


/* Astro source button parity: the original floating Contact mark sits above
   the LINE green bubble, never as two generic rectangular WordPress badges.
   Match published Astro dimensions/positioning from src/styles/global.css.
   These controls remain hidden during visitor acknowledgement and COA modal. */
html[data-ruo-gate="accepted"]:not(.coa-modal-open) body.tbl-storefront .tbl-contact-float,
html[data-ruo-gate="accepted"]:not(.coa-modal-open) body.tbl-storefront .tbl-line-float{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.tbl-storefront .tbl-contact-float{
  box-sizing:border-box!important;
  width:3.55rem!important;height:3.55rem!important;
  min-width:3.55rem!important;min-height:3.55rem!important;
  right:max(1.1rem,env(safe-area-inset-right))!important;
  bottom:calc(env(safe-area-inset-bottom) + 6.25rem)!important;
  padding:0!important;
  border:2px solid var(--tbl-brand-paper)!important;border-radius:50%!important;
  background:var(--tbl-brand-navy)!important;
}
body.tbl-storefront .tbl-contact-float img{
  display:block!important;width:82%!important;height:82%!important;
  object-fit:contain!important;transform:none!important;
}
body.tbl-storefront .tbl-line-float{
  box-sizing:border-box!important;
  width:3.55rem!important;height:3.55rem!important;
  min-width:3.55rem!important;min-height:3.55rem!important;
  right:max(1.1rem,env(safe-area-inset-right))!important;
  bottom:max(1.1rem,calc(env(safe-area-inset-bottom) + 1rem))!important;
  padding:.48rem!important;gap:0!important;justify-content:center!important;
  background:#06c755!important;border:0!important;border-radius:50%!important;
  color:#fff!important;
}
body.tbl-storefront .tbl-line-float:hover{background:#05b84e!important;color:#fff!important}
body.tbl-storefront .tbl-line-float__label{display:none!important}
body.tbl-storefront .tbl-contact-float:focus-visible,
body.tbl-storefront .tbl-line-float:focus-visible{
  outline:3px solid var(--tbl-brand-paper)!important;outline-offset:4px!important;
}
@media(min-width:1181px){
 body.tbl-storefront .tbl-contact-float,body.tbl-storefront .tbl-line-float{
   width:4rem!important;height:4rem!important;min-width:4rem!important;min-height:4rem!important;
 }
}
@media(max-width:720px){
 body.tbl-storefront .tbl-contact-float{
  right:max(.9rem,env(safe-area-inset-right))!important;
  bottom:calc(env(safe-area-inset-bottom) + 5.35rem)!important;
 }
 body.tbl-storefront .tbl-line-float{
  right:max(.9rem,env(safe-area-inset-right))!important;
  bottom:max(.9rem,calc(env(safe-area-inset-bottom) + .85rem))!important;
 }
}
@media(max-width:620px){
 body.tbl-storefront .tbl-line-float:hover:not(:focus-visible){
  background:#06c755!important;color:#fff!important;
 }
}

/* The Astro final narrow-phone safe-area refinement overrides its 720px
   tablet position. Preserve the exact .45rem inset on 320-390px phones. */
@media(max-width:620px){
 body.tbl-storefront .tbl-contact-float,
 body.tbl-storefront .tbl-line-float{
   right:max(.45rem,env(safe-area-inset-right))!important;
 }
}


/* Browser-measured live Astro phone floating-control geometry (320–390 px):
   50 px circles, 10.4 px right inset, 13.6 px LINE bottom, 69.6 px
   Contact bottom; 6 px between controls. Preserve iPhone safe areas.
   This overrides the earlier WP 56.8 px / elevated stack discrepancy. */
@media(max-width:620px){
 body.tbl-storefront .tbl-contact-float,
 body.tbl-storefront .tbl-line-float {
   box-sizing:border-box!important;
   width:3.125rem!important;height:3.125rem!important;
   min-width:3.125rem!important;min-height:3.125rem!important;
   right:max(.65rem,env(safe-area-inset-right))!important;
 }
 body.tbl-storefront .tbl-contact-float{
   bottom:calc(env(safe-area-inset-bottom) + 4.35rem)!important;
 }
 body.tbl-storefront .tbl-line-float{
   bottom:calc(env(safe-area-inset-bottom) + .85rem)!important;
 }
}

/* Owner visual correction: contrasting CTA on gold editorial evidence panels.
   Restricted to migrated WordPress knowledge/authority panels, not global
   Woo, catalogue, footer, disabled-commerce or original Astro components. */
body.tbl-storefront :is(.tbl-knowledge-pathway,.tbl-authority-pathway) :is(a,button).btn{
  background:var(--tbl-brand-navy)!important;
  color:var(--tbl-brand-paper)!important;
  border-color:var(--tbl-brand-navy)!important;
}
body.tbl-storefront :is(.tbl-knowledge-pathway,.tbl-authority-pathway) :is(a,button).btn:hover{
  background:#19334d!important;
  color:#fff!important;
  border-color:#19334d!important;
}
body.tbl-storefront :is(.tbl-knowledge-pathway,.tbl-authority-pathway) :is(a,button).btn:focus-visible{
  outline:3px solid var(--tbl-brand-navy)!important;
  outline-offset:3px!important;
}

/* Native Woo buttons match the five-token system; never light up a disabled
   checkout, unreleased product, or the deliberately inert place-order button. */
body.tbl-storefront .woocommerce :is(.button,button.button):not(:disabled):not([disabled]):not([aria-disabled="true"]):not(.disabled):not(#place_order):hover,
body.tbl-storefront .tbl-lab-preview__buttons button:not(:disabled):not(.tbl-lab-preview__reset):hover{
 background:var(--tbl-brand-gold-hover);
 border-color:var(--tbl-brand-gold-hover);
 color:var(--tbl-brand-navy);
}
body.tbl-storefront :is(.btn.btn-primary,.btn.btn-secondary,.tbl-resource-button,[data-resource-action]):focus-visible,
body.tbl-storefront .woocommerce :is(.button,button,input,select,textarea):focus-visible,
body.tbl-storefront :is(.tbl-lab-preview input,.tbl-lab-preview select,.tbl-lab-preview button):focus-visible{
 outline:3px solid var(--tbl-brand-gold-focus);
 outline-offset:3px;
}
body.tbl-storefront :is(input[type="checkbox"],input[type="radio"]):not(:disabled){accent-color:var(--tbl-brand-gold)}
/* Presentation attribute in original Astro SVG must follow WP palette too. */
body.tbl-storefront .rt [data-syringe-fill]{fill:var(--tbl-brand-gold)}

/* Gold quantitative syringe marker and label share the same signature token
   as the calculated fill; never imply physical syringe precision. */
body.tbl-storefront .rt [data-syringe-marker]{stroke:var(--tbl-brand-gold)}
body.tbl-storefront .rt [data-syringe-position-label]{fill:var(--tbl-brand-gold)}


/*
 * Owner-approved headline rhythm: 23 October 2026.
 * Scope: WordPress staging only, specifically four EN/TH page-template
 * headings. Other Astro typography, category pages and the approved taller
 * tablet announcement banner retain their original appearance.
 *
 * One-line desktop only when the available width supports it; all smaller
 * viewports wrap naturally and maintain visible keyboard controls.
 */
body.tbl-storefront .tb-featured .tb-section-intro h2{
  max-width:none;
  min-width:0;
  font-size:clamp(1.95rem,3.4vw,3.45rem);
  line-height:1.1;
  text-wrap:balance;
}
@media(min-width:1101px){
  body.tbl-storefront .tb-featured .tb-section-intro{
    grid-template-columns:minmax(0,1fr) max-content;
    gap:clamp(1.5rem,3vw,3rem);
    align-items:end;
  }
  body.tbl-storefront .tb-featured .tb-section-intro h2{
    font-size:clamp(2.15rem,3.1vw,3.2rem);
    white-space:nowrap;
  }
}
@media(max-width:700px){
  body.tbl-storefront .tb-featured .tb-section-intro h2{
    font-size:clamp(1.9rem,7.8vw,2.45rem);
    white-space:normal;
  }
}

/* Metabolic Range: keep the source headline and its photographic hero,
   allowing one desktop line instead of an arbitrary width-constrained break. */
body.tbl-storefront .glp-catalogue-cover .glp-catalogue-copy{
  max-width:min(100%,72rem);
}
body.tbl-storefront .glp-catalogue-cover #metabolic-title{
  max-width:none;
  line-height:1.08;
  text-wrap:balance;
}
@media(min-width:1101px){
  body.tbl-storefront .glp-catalogue-cover #metabolic-title{
    font-size:clamp(2.7rem,3.65vw,3.5rem);
    white-space:nowrap;
  }
}
@media(max-width:1100px){
  body.tbl-storefront .glp-catalogue-cover #metabolic-title{
    font-size:clamp(2rem,4.45vw,3.4rem);
    white-space:normal;
  }
}
@media(max-width:620px){
  body.tbl-storefront .glp-catalogue-cover #metabolic-title{
    font-size:clamp(1.9rem,8vw,2.65rem);
  }
}

/* Knowledge Center: the owner requested each English sentence on a distinct
   line, not the former automatic "Then" orphan at the end of line one.
   The Thai translation contains no period and continues to wrap naturally. */
body.tbl-storefront .p17b-knowledge-hero h1{
  max-width:none;
  font-size:clamp(2.65rem,4.1vw,4.3rem);
  line-height:1.09;
  letter-spacing:-.04em;
  text-wrap:balance;
}
body.tbl-storefront .p17b-knowledge-hero h1 .tbl-heading-sentence{
  display:block;
}
@media(min-width:1025px){
  body.tbl-storefront .p17b-knowledge-hero{
    grid-template-columns:minmax(0,1.45fr) minmax(16rem,.55fr);
    gap:clamp(1.25rem,2.25vw,2.5rem);
  }
  body.tbl-storefront .p17b-knowledge-hero h1 .tbl-heading-sentence{
    white-space:nowrap;
  }
}
@media(max-width:1024px){
  body.tbl-storefront .p17b-knowledge-hero h1{
    font-size:clamp(1.85rem,7vw,3.5rem);
  }
  body.tbl-storefront .p17b-knowledge-hero h1 .tbl-heading-sentence{
    white-space:normal;
    text-wrap:balance;
  }
}
html[lang="th"] body.tbl-storefront .p17b-knowledge-hero h1{
  letter-spacing:0;
  line-height:1.25;
  white-space:normal;
}

/* Calculator & planner: both terms belong to one desktop title; below desktop
   the two logical phrases are stacked rather than leaving "Planner" alone.
   Never alter the calculator's research arithmetic or UI behaviour. */
body.tbl-storefront .rt .rt-hero{
  max-width:none;
}
body.tbl-storefront .rt .rt-hero h1{
  max-width:none;
  line-height:1.1;
  text-wrap:balance;
  font-size:clamp(1.95rem,4vw,3.65rem);
}
body.tbl-storefront .rt .rt-hero h1 .tbl-heading-phrase{
  display:inline;
}
@media(min-width:1151px){
  html[lang="en"] body.tbl-storefront .rt .rt-hero h1{
    font-size:clamp(2.7rem,3.5vw,3.65rem);
    white-space:nowrap;
  }
}
@media(max-width:1150px){
  body.tbl-storefront .rt .rt-hero h1 .tbl-heading-phrase{
    display:block;
    white-space:normal;
    text-wrap:balance;
  }
}
@media(max-width:620px){
  body.tbl-storefront .rt .rt-hero h1{
    font-size:clamp(1.8rem,7.6vw,2.35rem);
  }
}
body.tbl-storefront .rt[data-locale="th"] .rt-hero h1{
  line-height:1.3;
  letter-spacing:0;
  white-space:normal;
}


/*
 * OWNER-APPROVED EVIDENCE LIBRARY ACTION
 * Open Batch Records: make this specific footer-of-library action a confident
 * signature-gold button. Keep the three outlined reading-path buttons above
 * it, all original science text, and the approved taller tablet banner intact.
 * Both source-verified Evidence Index and editable Astro editorial wrappers
 * are supported; the published Astro design is never changed.
 */
body.tbl-storefront :is(.tbl-astro-interactive-parity,.tbl-astro-editorial)
  .p17-evidence-architecture > a.btn.btn-secondary{
  display:inline-flex;
  box-sizing:border-box;
  align-items:center;
  justify-content:space-between;
  justify-self:center;
  align-self:center;
  gap:1rem;
  width:256px;
  max-width:100%;
  min-width:0;
  min-height:52px;
  margin:0;
  padding:.8rem 1.05rem;
  border:1px solid var(--tbl-brand-gold);
  border-radius:0;
  background:var(--tbl-brand-gold);
  color:var(--tbl-brand-navy);
  font-family:inherit;
  font-size:.91rem;
  font-weight:700;
  line-height:1.3;
  text-decoration:none;
  text-align:left;
  white-space:normal;
  transition:background-color .18s ease,border-color .18s ease;
}
body.tbl-storefront :is(.tbl-astro-interactive-parity,.tbl-astro-editorial)
  .p17-evidence-architecture > a.btn.btn-secondary::after{
  content:none;
  display:inline-block;
  flex:0 0 auto;
  font-size:1.1rem;
  font-weight:600;
  line-height:1;
}
body.tbl-storefront :is(.tbl-astro-interactive-parity,.tbl-astro-editorial)
  .p17-evidence-architecture > a.btn.btn-secondary:hover{
  background:var(--tbl-brand-gold-hover);
  border-color:var(--tbl-brand-gold-hover);
  color:var(--tbl-brand-navy);
}
body.tbl-storefront :is(.tbl-astro-interactive-parity,.tbl-astro-editorial)
  .p17-evidence-architecture > a.btn.btn-secondary:focus-visible{
  outline:3px solid var(--tbl-brand-gold-focus);
  outline-offset:4px;
}
@media(max-width:720px){
  body.tbl-storefront :is(.tbl-astro-interactive-parity,.tbl-astro-editorial)
    .p17-evidence-architecture > a.btn.btn-secondary{
    width:100%;
    max-width:100%;
    justify-self:stretch;
    margin-top:.25rem;
  }
}
@media(prefers-reduced-motion:reduce){
  body.tbl-storefront :is(.tbl-astro-interactive-parity,.tbl-astro-editorial)
    .p17-evidence-architecture > a.btn.btn-secondary{transition:none;}
}


/* Strictly scoped Thai tablet legibility: prevent the unspaced catalogue H1
   from forcing the entire page wider than 768px. Preserve approved banner
   and font scales; wrap only where required by the language/viewport. */
@media(min-width:621px) and (max-width:900px){
  html[lang="th"] body.tbl-storefront .glp-catalogue-cover .glp-catalogue-copy{
    min-width:0;
    max-width:100%;
  }
  html[lang="th"] body.tbl-storefront .glp-catalogue-cover #metabolic-title{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    max-width:100%;
  }
}


/* Owner-approved 3 Evidence Library question cards: matching, centered
   headings and 256px gold-outline links with left-aligned readable copy.
   Only the WordPress source-built Evidence Library uses these overrides. */
body.tbl-storefront .tbl-astro-interactive-parity[data-tbl-original-astro="evidence"] .evidence-reading-paths__grid > article{
  align-items:stretch;min-width:0;
}
body.tbl-storefront .tbl-astro-interactive-parity[data-tbl-original-astro="evidence"] .evidence-reading-paths__grid > article > h3{
  align-self:stretch;text-align:center;text-wrap:balance;
}
body.tbl-storefront .tbl-astro-interactive-parity[data-tbl-original-astro="evidence"] .evidence-reading-paths__grid > article > p{
  flex:1 1 auto;text-align:left;
}
body.tbl-storefront .tbl-astro-interactive-parity[data-tbl-original-astro="evidence"] .evidence-reading-paths__grid > article > a.tbl-resource-button{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  align-self:center;gap:.6rem;width:256px;max-width:100%;min-height:52px;
  margin:auto auto 0;padding:.75rem .9rem;text-align:center;white-space:normal;
}

/* Thai Buddhist Era planner dates: visible text DD/MM/BBBB and compact native
   ISO picker. Original English/date arithmetic/calendar file never changes. */
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-wrap{
 display:grid!important;grid-template-columns:minmax(0,1fr) 54px!important;gap:0!important;width:100%;min-width:0;
 align-items:stretch;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-wrap > input.rt-thai-be-date-text{
 width:100%;min-width:0;height:46px;min-height:46px;padding:.65rem .8rem;
 border:1px solid #536173;border-right:0;border-radius:6px 0 0 6px;
 background:var(--tbl-brand-navy);color:var(--tbl-brand-paper);
 font-variant-numeric:tabular-nums;font-size:.94rem;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-wrap > input.rt-thai-be-date-text::placeholder{
 color:#A5B3C3;opacity:1;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-wrap > input.rt-thai-be-date-picker{
 display:block;width:54px;min-width:0;max-width:54px;
 height:46px;min-height:46px;margin:0;padding:0 8px;
 border:1px solid #536173;border-radius:0 6px 6px 0;
 background:var(--tbl-brand-navy);color:transparent;font-size:0;
 text-align:right;cursor:pointer;color-scheme:dark;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-picker::-webkit-datetime-edit{
 display:none;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-picker::-webkit-calendar-picker-indicator{
 display:block;width:23px;height:23px;padding:0;margin:auto;opacity:1;cursor:pointer;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-wrap:focus-within{
 outline:2px solid var(--tbl-brand-gold-focus);outline-offset:3px;border-radius:6px;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-wrap input:disabled{
 opacity:.55;cursor:not-allowed;
}

/* Chrome Translate may change <html lang> while the WordPress research tool
   remains data-locale="th". Never show the ISO browser date as a second row.
   The native date input is only the 54px right-hand picker; Thai BE year is
   displayed and edited in the text input on the left. */
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-wrap{
  flex:none;
  min-height:46px;
  max-width:100%;
}
body.tbl-storefront .rt[data-locale="th"] .rt-thai-be-date-picker{
  width:54px!important;
  max-width:54px!important;
  min-width:54px!important;
}


/* Native checkout readiness: clear enabled action and readable mobile amounts. */
.tbl-storefront .woocommerce #place_order:not(:disabled){background:var(--tbl-brand-gold);color:var(--tbl-brand-navy);cursor:pointer}
.tbl-storefront .woocommerce #place_order:not(:disabled):hover{background:var(--tbl-brand-gold-hover)}
/* Native cart links need explicit ink as Woo's alt styles and editorial links compete. */
body.tbl-storefront .tbl-native-basket .woocommerce a.button:not(.disabled){background:var(--tbl-brand-gold);color:var(--tbl-brand-navy);border-color:var(--tbl-brand-gold)}
body.tbl-storefront .tbl-native-basket .woocommerce a.button:not(.disabled):hover{background:var(--tbl-brand-gold-hover);color:var(--tbl-brand-navy);border-color:var(--tbl-brand-gold-hover)}
.tbl-storefront .woocommerce .woocommerce-checkout-review-order-table .amount{white-space:nowrap}
.tbl-storefront .woocommerce .woocommerce-checkout-review-order-table td:last-child{min-width:7.5rem}
.tbl-storefront .tbl-research-attestation{margin-block:1.5rem;padding-top:1rem;border-top:1px solid #ffffff26}
.tbl-storefront .tbl-research-attestation h3{font-size:1.15rem;line-height:1.4;margin:.5rem 0}
.tbl-storefront .tbl-research-attestation p{line-height:1.65;margin:.65rem 0}
.tbl-storefront .tbl-research-attestation__field label{line-height:1.6}
@media(max-width:600px){
 body.woocommerce-checkout .tbl-contact-float,body.woocommerce-checkout .tbl-line-float,
 body.woocommerce-cart .tbl-contact-float,body.woocommerce-cart .tbl-line-float{display:none}
 .tbl-storefront .woocommerce ul.order_details{margin:1.25rem 0;padding:0}
 .tbl-storefront .woocommerce ul.order_details li{float:none;width:auto;margin:0 0 1rem;padding:0;border:0;line-height:1.5}
 .tbl-storefront .woocommerce form .form-row input.input-text,
 .tbl-storefront .woocommerce form .form-row select,
 .tbl-storefront .woocommerce form .form-row textarea{font-size:16px}
 .tbl-storefront .woocommerce .woocommerce-checkout-review-order-table{font-size:.9rem}
}


/* SEO usability review: closed drawers are not keyboard targets; readable labels. */
body.tbl-storefront .tbl-evidence-index-drawer[aria-hidden="true"]{visibility:hidden}
body.tbl-storefront .tbl-line-float__icon{color:#007a33!important}
body.tbl-storefront .tb-verification-band .eyebrow{opacity:1}
