:root {
  --tns-accent: #ff6b00;
  --tns-accent-dark: #e65f00;
  --tns-ink: #111318;
  --tns-muted: #6f737b;
  --tns-line: #e8e9ec;
  --tns-soft: #f6f7f8;
  --tns-soft-2: #f0f2f4;
  --tns-white: #fff;
  --tns-radius: 14px;
  --tns-container: 1440px;
  --tns-shadow: 0 10px 35px rgba(17, 19, 24, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.tns-menu-open { overflow: hidden; }
body.tns-storefront {
  margin: 0;
  color: var(--tns-ink);
  background: var(--tns-white);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
body.tns-storefront a { color: inherit; text-decoration: none; }
body.tns-storefront button,
body.tns-storefront input,
body.tns-storefront select,
body.tns-storefront textarea { font: inherit; }
body.tns-storefront img { max-width: 100%; height: auto; }
body.tns-storefront svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.screen-reader-text {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  padding: 0!important;
  margin: -1px!important;
  overflow: hidden!important;
  clip: rect(0,0,0,0)!important;
  white-space: nowrap!important;
  border: 0!important;
}
.tns-container { width: min(calc(100% - 40px), var(--tns-container)); margin-inline: auto; }
.tns-site { min-height: 100vh; display: flex; flex-direction: column; }
.tns-main { flex: 1; min-height: 420px; }

/* Topbar */
.tns-topbar { background: #111318; color: rgba(255,255,255,.82); font-size: 12px; }
.tns-topbar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tns-topbar__claim { font-weight: 600; letter-spacing: .015em; }
.tns-topbar__nav { display: flex; align-items: center; gap: 26px; }
.tns-topbar__nav a { transition: color .18s ease; }
.tns-topbar__nav a:hover { color: #fff; }

/* Header */
.tns-header { background: #fff; position: relative; z-index: 50; }
.tns-header__main { min-height: 88px; display: grid; grid-template-columns: 220px minmax(340px, 1fr) auto; align-items: center; gap: 30px; }
.tns-brand { display: inline-flex; align-items: baseline; white-space: nowrap; font-size: 30px; line-height: 1; font-weight: 800; letter-spacing: -.045em; }
.tns-brand__main { color: var(--tns-ink); }
.tns-brand__accent { color: var(--tns-ink); font-weight: 500; }
.tns-brand__dot { color: var(--tns-accent); font-size: 38px; line-height: .6; }
.tns-search { height: 48px; border: 1px solid #dfe1e5; border-radius: 9px; display: flex; align-items: stretch; background: #fff; overflow: hidden; transition: border-color .18s, box-shadow .18s; }
.tns-search:focus-within { border-color: #b9bdc4; box-shadow: 0 0 0 3px rgba(17,19,24,.04); }
.tns-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 18px; color: var(--tns-ink); background: transparent; }
.tns-search input::placeholder { color: #9a9ea5; }
.tns-search button { width: 54px; border: 0; background: var(--tns-accent); color: #fff; cursor: pointer; display: grid; place-items: center; transition: background .18s; }
.tns-search button:hover { background: var(--tns-accent-dark); }
.tns-header__actions { display: flex; align-items: center; gap: 18px; }
.tns-header-action { display: flex; align-items: center; gap: 9px; min-width: max-content; }
.tns-header-action__icon { width: 37px; height: 37px; border-radius: 50%; background: var(--tns-soft); display: grid; place-items: center; position: relative; }
.tns-header-action__icon svg { width: 19px; height: 19px; }
.tns-header-action__text { display: flex; flex-direction: column; line-height: 1.2; max-width: 110px; }
.tns-header-action__text small { color: var(--tns-muted); font-size: 11px; margin-bottom: 3px; }
.tns-header-action__text strong { font-size: 13px; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tns-cart-count { position: absolute; right: -5px; top: -7px; min-width: 18px; height: 18px; border-radius: 9px; padding: 0 4px; display: grid; place-items: center; background: var(--tns-accent); color: #fff; font-size: 10px; line-height: 1; font-weight: 700; }
.tns-mobile-menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--tns-line); border-radius: 9px; background: #fff; place-items: center; cursor: pointer; }

/* Nav */
.tns-nav-wrap { border-top: 1px solid var(--tns-line); border-bottom: 1px solid var(--tns-line); position: relative; }
.tns-nav { min-height: 52px; display: flex; align-items: stretch; }
.tns-all-categories { width: 220px; flex: 0 0 220px; border: 0; border-right: 1px solid var(--tns-line); border-left: 1px solid var(--tns-line); background: #fff; display: flex; align-items: center; gap: 10px; padding: 0 17px; font-weight: 700; cursor: pointer; color: var(--tns-ink); }
.tns-all-categories svg:first-child { width: 18px; }
.tns-all-categories svg:last-child { width: 15px; margin-left: auto; }
.tns-all-categories[aria-expanded="true"] svg:last-child { transform: rotate(180deg); }
.tns-primary-nav { display: flex; align-items: stretch; gap: 4px; padding-left: 14px; overflow: hidden; }
.tns-primary-nav a { display: flex; align-items: center; padding: 0 15px; font-size: 13px; font-weight: 600; white-space: nowrap; transition: color .18s; }
.tns-primary-nav a:hover { color: var(--tns-accent); }
.tns-primary-nav__highlight { color: var(--tns-accent)!important; }
.tns-category-panel { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--tns-line); box-shadow: 0 18px 35px rgba(17,19,24,.09); }
.tns-category-panel__grid { padding: 24px 20px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.tns-category-panel__grid a { min-height: 70px; border-radius: 10px; padding: 14px 16px; background: var(--tns-soft); display: flex; flex-direction: column; justify-content: center; transition: transform .18s, background .18s; }
.tns-category-panel__grid a:hover { transform: translateY(-2px); background: #f0f1f3; }
.tns-category-panel__grid strong { font-size: 14px; }
.tns-category-panel__grid small { color: var(--tns-muted); margin-top: 4px; font-size: 12px; }

/* Hero */
.tns-hero { padding: 28px 0 22px; background: #fff; }
.tns-hero__grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(310px, .85fr); gap: 18px; }
.tns-hero__main { min-height: 470px; border-radius: 18px; background: linear-gradient(128deg, #f3f5f6 0%, #edf0f1 58%, #e6e9eb 100%); padding: clamp(42px, 5vw, 78px); display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.tns-hero__main::after { content:""; position:absolute; width:420px; height:420px; border:90px solid rgba(255,255,255,.55); border-radius:50%; right:-130px; top:-90px; }
.tns-hero__main::before { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(17,19,24,.08); border-radius:50%; right:120px; bottom:-80px; }
.tns-hero__main > * { position: relative; z-index: 1; }
.tns-eyebrow { color: var(--tns-accent); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 15px; }
.tns-hero h1 { max-width: 760px; margin: 0; font-size: clamp(38px, 4.4vw, 68px); line-height: .98; letter-spacing: -.055em; font-weight: 750; }
.tns-hero h1 em { font-style: normal; font-weight: 350; }
.tns-hero__main > p { max-width: 610px; color: #565b62; font-size: 17px; margin: 22px 0 0; }
.tns-hero__buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.tns-btn { min-height: 46px; padding: 0 20px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 700; font-size: 13px; transition: transform .18s, background .18s, border-color .18s; }
.tns-btn:hover { transform: translateY(-1px); }
.tns-btn svg { width: 17px; height: 17px; }
.tns-btn--primary { background: var(--tns-ink); color: #fff!important; }
.tns-btn--primary:hover { background: #292c32; }
.tns-btn--ghost { border: 1px solid #cfd2d6; background: rgba(255,255,255,.55); }
.tns-btn--light { background:#fff; color:var(--tns-ink)!important; }
.tns-hero__facts { display: flex; gap: 30px; margin-top: 42px; }
.tns-hero__facts span { display: flex; flex-direction: column; }
.tns-hero__facts strong { font-size: 13px; }
.tns-hero__facts small { color: var(--tns-muted); font-size: 11px; margin-top: 3px; }
.tns-hero__side { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }
.tns-promo-card { min-height: 226px; border-radius: 18px; padding: 30px; display: flex; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden; }
.tns-promo-card > * { position: relative; z-index: 1; }
.tns-promo-card span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; opacity: .75; }
.tns-promo-card strong { margin-top: 9px; font-size: clamp(23px,2vw,31px); line-height: 1.07; letter-spacing: -.035em; }
.tns-promo-card a { margin-top: auto; font-weight: 700; font-size: 12px; display: inline-flex; align-items: center; gap: 7px; }
.tns-promo-card a svg { width: 15px; }
.tns-promo-card--dark { background: #16191e; color: #fff; }
.tns-promo-card--light { background: #fff5ec; color: #2a1a0d; }
.tns-promo-card__shape { position:absolute; z-index:0!important; width:220px; height:220px; border:55px solid rgba(255,107,0,.55); border-radius:50%; right:-75px; top:-65px; }

/* Sections */
.tns-section { padding: 44px 0; }
.tns-section--categories { background:#fff; }
.tns-section--products { background:var(--tns-soft); }
.tns-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.tns-section-heading span { color:var(--tns-accent); text-transform:uppercase; letter-spacing:.11em; font-size:10px; font-weight:800; }
.tns-section-heading h2 { margin:5px 0 0; font-size:30px; letter-spacing:-.035em; line-height:1.05; }
.tns-section-heading > a { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:700; }
.tns-section-heading > a svg { width:15px; }
.tns-category-cards { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.tns-category-card { min-width:0; border:1px solid var(--tns-line); border-radius:14px; padding:17px; text-align:center; display:flex; flex-direction:column; align-items:center; transition:transform .18s, border-color .18s, box-shadow .18s; }
.tns-category-card:hover { transform:translateY(-3px); border-color:#d5d7db; box-shadow:0 10px 25px rgba(17,19,24,.06); }
.tns-category-card__visual { width:78px; height:78px; border-radius:50%; background:var(--tns-soft); display:grid; place-items:center; margin-bottom:14px; overflow:hidden; }
.tns-category-card__visual svg { width:31px; height:31px; stroke-width:1.45; }
.tns-category-card__visual.has-image { background:#fff; }
.tns-category-card__visual img { width:100%; height:100%; object-fit:cover; }
.tns-category-card strong { font-size:13px; }
.tns-category-card small { color:var(--tns-muted); font-size:10px; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; width:100%; }

/* Products */
.tns-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.tns-product-card { background:#fff; border-radius:13px; overflow:hidden; border:1px solid #eceef0; transition:transform .18s, box-shadow .18s; }
.tns-product-card:hover { transform:translateY(-3px); box-shadow:var(--tns-shadow); }
.tns-product-card__image { aspect-ratio:1/1; background:#fff; display:grid; place-items:center; padding:22px; position:relative; overflow:hidden; }
.tns-product-card__image img { width:100%; height:100%; object-fit:contain; transition:transform .25s; }
.tns-product-card:hover .tns-product-card__image img { transform:scale(1.035); }
.tns-stock-badge { position:absolute; left:12px; top:12px; background:#eef8f0; color:#25783a; border-radius:20px; padding:5px 8px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.tns-product-card__body { padding:15px 16px 17px; border-top:1px solid #f0f1f3; }
.tns-product-card__name { font-size:13px; font-weight:650; line-height:1.35; min-height:35px; display:block; }
.tns-product-card__sku { display:block; color:#92969d; font-size:9px; margin-top:5px; }
.tns-product-card__bottom { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:17px; }
.tns-product-card__price { font-weight:800; font-size:17px; letter-spacing:-.02em; }
.tns-product-card__price del { color:#a3a6ac; font-size:11px; font-weight:500; margin-right:5px; }
.tns-product-card__price ins { text-decoration:none; }
.tns-product-card__add { width:38px; height:38px; border-radius:9px; background:var(--tns-ink); color:#fff!important; display:grid; place-items:center; transition:background .18s; }
.tns-product-card__add:hover { background:var(--tns-accent); }
.tns-product-card__add svg { width:17px; height:17px; }
.tns-products-empty { min-height:170px; border:1px dashed #d4d7dc; border-radius:14px; background:#fff; display:flex; align-items:center; justify-content:center; gap:18px; padding:28px; text-align:left; }
.tns-products-empty__icon { width:60px; height:60px; border-radius:50%; background:var(--tns-soft); display:grid; place-items:center; color:var(--tns-accent); }
.tns-products-empty strong { font-size:17px; }
.tns-products-empty p { color:var(--tns-muted); margin:4px 0 0; }

/* B2B */
.tns-b2b-banner { background:#fff; padding:48px 0; }
.tns-b2b-banner__inner { min-height:210px; border-radius:18px; padding:42px 48px; background:linear-gradient(100deg,#ff6b00,#f1842e); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:40px; overflow:hidden; position:relative; }
.tns-b2b-banner__inner::after { content:""; position:absolute; width:360px; height:360px; border:70px solid rgba(255,255,255,.13); border-radius:50%; right:-90px; top:-170px; }
.tns-b2b-banner__inner > * { position:relative; z-index:1; }
.tns-b2b-banner span { font-size:10px; letter-spacing:.12em; font-weight:800; opacity:.8; }
.tns-b2b-banner h2 { font-size:36px; letter-spacing:-.04em; margin:5px 0 6px; line-height:1; }
.tns-b2b-banner p { margin:0; opacity:.88; }

/* Trust + Footer */
.tns-trust-strip { border-top:1px solid var(--tns-line); border-bottom:1px solid var(--tns-line); background:#fff; }
.tns-trust-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.tns-trust-strip__grid > div { min-height:94px; display:flex; align-items:center; justify-content:center; gap:14px; border-right:1px solid var(--tns-line); padding:15px; }
.tns-trust-strip__grid > div:last-child { border-right:0; }
.tns-trust-strip svg { width:27px; height:27px; color:var(--tns-accent); }
.tns-trust-strip span { display:flex; flex-direction:column; }
.tns-trust-strip strong { font-size:12px; }
.tns-trust-strip small { color:var(--tns-muted); font-size:10px; margin-top:3px; }
.tns-footer { background:#111318; color:#fff; padding:54px 0 0; }
.tns-footer__grid { display:grid; grid-template-columns:1.8fr repeat(3,1fr); gap:50px; padding-bottom:45px; }
.tns-brand--footer .tns-brand__main,
.tns-brand--footer .tns-brand__accent { color:#fff; }
.tns-footer__brand p { max-width:360px; color:#9da1a9; font-size:13px; margin:20px 0 0; }
.tns-footer h4 { font-size:12px; margin:5px 0 18px; }
.tns-footer__grid > div:not(.tns-footer__brand) { display:flex; flex-direction:column; align-items:flex-start; }
.tns-footer__grid > div:not(.tns-footer__brand) a { color:#9da1a9; font-size:12px; margin:0 0 10px; transition:color .18s; }
.tns-footer__grid > div:not(.tns-footer__brand) a:hover { color:#fff; }
.tns-footer__bottom { border-top:1px solid rgba(255,255,255,.1); min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#777c85; font-size:10px; }

/* Generic pages */
.tns-page { padding-top:36px; padding-bottom:60px; }
.tns-page-header { margin:0 0 26px; }
.tns-page-header h1 { margin:0; font-size:34px; letter-spacing:-.04em; }
.tns-content { min-height:120px; }
.tns-content a:not(.button):not(.tns-btn) { color:var(--tns-accent); }
.tns-empty { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.tns-empty h1 { margin:0; font-size:34px; }
.tns-empty p { color:var(--tns-muted); }
.tns-empty--404 > span { font-size:80px; line-height:1; font-weight:900; color:#eceef0; letter-spacing:-.08em; }
.tns-empty--404 .tns-btn { margin-top:15px; }

/* WooCommerce general integration */
.tns-storefront .woocommerce { width:100%; }
.tns-storefront .woocommerce-notices-wrapper { margin-bottom:18px; }
.tns-storefront .woocommerce-message,
.tns-storefront .woocommerce-info,
.tns-storefront .woocommerce-error { border:1px solid var(--tns-line); border-top:3px solid var(--tns-accent); border-radius:10px; padding:15px 18px 15px 45px!important; background:#fff; color:var(--tns-ink); box-shadow:none; }
.tns-storefront .woocommerce form .form-row input.input-text,
.tns-storefront .woocommerce form .form-row textarea,
.tns-storefront .woocommerce input[type="text"],
.tns-storefront .woocommerce input[type="email"],
.tns-storefront .woocommerce input[type="password"],
.tns-storefront .woocommerce input[type="tel"],
.tns-storefront .woocommerce select {
  min-height:46px; border:1px solid #dfe1e5; border-radius:8px; padding:10px 12px; background:#fff; color:var(--tns-ink); outline:0;
}
.tns-storefront .woocommerce button.button,
.tns-storefront .woocommerce a.button,
.tns-storefront .woocommerce input.button {
  min-height:42px; border-radius:8px!important; background:var(--tns-ink)!important; color:#fff!important; font-weight:700!important; padding:11px 18px!important;
}
.tns-storefront .woocommerce button.button:hover,
.tns-storefront .woocommerce a.button:hover,
.tns-storefront .woocommerce input.button:hover { background:var(--tns-accent)!important; }

/* My Account - temporary branded shell; dedicated account UI comes in a later version */
.tns-storefront .woocommerce-account .woocommerce { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; }
.tns-storefront .woocommerce-MyAccount-navigation { float:none!important; width:auto!important; }
.tns-storefront .woocommerce-MyAccount-navigation ul { list-style:none; padding:8px; margin:0; background:var(--tns-soft); border-radius:12px; }
.tns-storefront .woocommerce-MyAccount-navigation li { margin:0; }
.tns-storefront .woocommerce-MyAccount-navigation a { display:block; padding:11px 12px; border-radius:8px; font-size:13px; color:var(--tns-ink)!important; }
.tns-storefront .woocommerce-MyAccount-navigation .is-active a,
.tns-storefront .woocommerce-MyAccount-navigation a:hover { background:#fff; font-weight:700; }
.tns-storefront .woocommerce-MyAccount-content { float:none!important; width:auto!important; min-width:0; }
.tns-storefront .woocommerce form.login,
.tns-storefront .woocommerce form.register { border:1px solid var(--tns-line); border-radius:13px; padding:24px; }

/* Mobile menu */
.tns-mobile-menu { position:fixed; z-index:1002; left:0; top:0; bottom:0; width:min(88vw,380px); background:#fff; box-shadow:18px 0 45px rgba(0,0,0,.18); padding:18px; overflow:auto; }
.tns-mobile-menu__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.tns-mobile-menu-close { width:36px; height:36px; border:1px solid var(--tns-line); background:#fff; border-radius:50%; font-size:24px; line-height:1; cursor:pointer; }
.tns-mobile-search { height:44px; display:flex; border:1px solid var(--tns-line); border-radius:8px; overflow:hidden; margin-bottom:16px; }
.tns-mobile-search input { flex:1; min-width:0; border:0; outline:0; padding:0 12px; }
.tns-mobile-search button { width:46px; border:0; background:var(--tns-accent); color:#fff; display:grid; place-items:center; }
.tns-mobile-menu nav { display:flex; flex-direction:column; }
.tns-mobile-menu nav a { padding:13px 3px; border-bottom:1px solid var(--tns-line); font-weight:600; font-size:13px; }
.tns-mobile-menu-backdrop { position:fixed; z-index:1001; inset:0; background:rgba(0,0,0,.38); }
[hidden] { display:none!important; }

/* WordPress admin bar compatibility */
.admin-bar .tns-mobile-menu { top:32px; }

@media (max-width: 1180px) {
  .tns-header__main { grid-template-columns:185px minmax(280px,1fr) auto; gap:18px; }
  .tns-brand { font-size:26px; }
  .tns-header-action--desktop { display:none; }
  .tns-primary-nav a { padding-inline:10px; }
  .tns-category-cards { grid-template-columns:repeat(4,1fr); }
}

@media (max-width: 920px) {
  .tns-topbar__nav { display:none; }
  .tns-header__main { grid-template-columns:1fr auto auto; min-height:72px; }
  .tns-search { grid-column:1 / -1; grid-row:2; margin-bottom:14px; }
  .tns-header__actions .tns-header-action:not(.tns-header-action--cart) { display:none; }
  .tns-header-action--cart .tns-header-action__text { display:none; }
  .tns-mobile-menu-toggle { display:grid; }
  .tns-nav-wrap { display:none; }
  .tns-hero { padding-top:18px; }
  .tns-hero__grid { grid-template-columns:1fr; }
  .tns-hero__main { min-height:410px; }
  .tns-hero__side { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .tns-category-cards { grid-template-columns:repeat(3,1fr); }
  .tns-product-grid { grid-template-columns:repeat(3,1fr); }
  .tns-trust-strip__grid { grid-template-columns:repeat(2,1fr); }
  .tns-trust-strip__grid > div:nth-child(2) { border-right:0; }
  .tns-trust-strip__grid > div:nth-child(-n+2) { border-bottom:1px solid var(--tns-line); }
  .tns-footer__grid { grid-template-columns:1.5fr 1fr 1fr; }
  .tns-footer__grid > div:last-child { display:none; }
}

@media (max-width: 700px) {
  .tns-container { width:min(calc(100% - 28px),var(--tns-container)); }
  .tns-topbar__inner { min-height:30px; justify-content:center; }
  .tns-header__main { gap:12px; }
  .tns-brand { font-size:24px; }
  .tns-brand__dot { font-size:30px; }
  .tns-header-action__icon { width:39px; height:39px; }
  .tns-hero__main { min-height:390px; padding:34px 25px; }
  .tns-hero h1 { font-size:42px; }
  .tns-hero__main > p { font-size:14px; }
  .tns-hero__facts { gap:18px; margin-top:30px; flex-direction:column; }
  .tns-hero__side { grid-template-columns:1fr; }
  .tns-promo-card { min-height:190px; }
  .tns-section { padding:34px 0; }
  .tns-section-heading h2 { font-size:25px; }
  .tns-section-heading > a { font-size:0; }
  .tns-section-heading > a svg { width:20px; }
  .tns-category-cards { grid-template-columns:repeat(2,1fr); gap:9px; }
  .tns-category-card { padding:14px 9px; }
  .tns-category-card__visual { width:65px; height:65px; }
  .tns-product-grid { grid-template-columns:repeat(2,1fr); gap:9px; }
  .tns-product-card__image { padding:13px; }
  .tns-product-card__body { padding:12px; }
  .tns-product-card__price { font-size:14px; }
  .tns-product-card__add { width:34px; height:34px; }
  .tns-b2b-banner__inner { padding:32px 25px; flex-direction:column; align-items:flex-start; }
  .tns-b2b-banner h2 { font-size:30px; }
  .tns-trust-strip__grid { grid-template-columns:1fr; }
  .tns-trust-strip__grid > div { border-right:0; border-bottom:1px solid var(--tns-line); justify-content:flex-start; padding-inline:22px; }
  .tns-trust-strip__grid > div:last-child { border-bottom:0; }
  .tns-footer__grid { grid-template-columns:1fr 1fr; gap:30px; }
  .tns-footer__brand { grid-column:1 / -1; }
  .tns-footer__grid > div:last-child { display:flex; }
  .tns-footer__bottom { flex-direction:column; justify-content:center; text-align:center; padding:14px 0; }
  .tns-storefront .woocommerce-account .woocommerce { grid-template-columns:1fr; }
  .tns-storefront .woocommerce-MyAccount-navigation ul { display:flex; overflow-x:auto; gap:5px; padding:6px; }
  .tns-storefront .woocommerce-MyAccount-navigation li { flex:0 0 auto; }
  .admin-bar .tns-mobile-menu { top:46px; }
}

@media (max-width: 420px) {
  .tns-hero h1 { font-size:36px; }
  .tns-hero__buttons { flex-direction:column; align-items:stretch; }
  .tns-category-card__visual { width:58px; height:58px; }
  .tns-footer__grid { grid-template-columns:1fr; }
  .tns-footer__brand { grid-column:auto; }
}

/* Product detail v0.3 */
.tns-product-page { padding-top: 22px; padding-bottom: 64px; }
.tns-product-breadcrumb { color: var(--tns-muted); font-size: 11px; margin: 2px 0 20px; }
.tns-product-breadcrumb a { color: var(--tns-muted)!important; }
.tns-product-breadcrumb span { margin: 0 8px; color: #bec1c6; }
.tns-product-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr); gap: clamp(34px, 5vw, 76px); align-items: start; }
.tns-product-gallery { min-width: 0; position: sticky; top: 20px; }
.tns-product-gallery__main { min-height: 580px; aspect-ratio: 1.06/1; border: 1px solid var(--tns-line); border-radius: 18px; background: #fff; display: grid; place-items: center; padding: clamp(28px, 4vw, 62px); overflow: hidden; }
.tns-product-gallery__main > img { width: 100%; height: 100%; object-fit: contain; }
.tns-product-gallery__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.tns-product-thumb { width: 80px; height: 80px; flex: 0 0 80px; border: 1px solid var(--tns-line); border-radius: 10px; background: #fff; padding: 8px; cursor: pointer; transition: border-color .18s, box-shadow .18s; }
.tns-product-thumb img { width: 100%; height: 100%; object-fit: contain; }
.tns-product-thumb.is-active { border-color: var(--tns-ink); box-shadow: 0 0 0 1px var(--tns-ink); }
.tns-product-info { min-width: 0; padding-top: 8px; }
.tns-product-meta-top { display: flex; flex-wrap: wrap; gap: 10px 18px; color: var(--tns-muted); font-size: 11px; margin-bottom: 14px; }
.tns-product-meta-top strong { color: var(--tns-ink); }
.tns-product-categories a { color: var(--tns-accent)!important; }
.tns-product-info h1 { margin: 0; font-size: clamp(30px, 3.1vw, 47px); line-height: 1.03; letter-spacing: -.045em; font-weight: 720; }
.tns-product-shortdesc { color: #5f646b; font-size: 14px; margin: 16px 0 0; max-width: 720px; }
.tns-product-shortdesc p { margin: 0; }
.tns-tax-price-box { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 26px; }
.tns-tax-price { min-height: 116px; border: 1px solid var(--tns-line); border-radius: 13px; padding: 16px 18px; display: flex; flex-direction: column; justify-content: center; background: #fff; }
.tns-tax-price--gross { background: #fff6ee; border-color: #ffd9bd; }
.tns-tax-price small { color: var(--tns-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.tns-tax-price strong { display: block; margin-top: 5px; font-size: clamp(24px, 2.3vw, 34px); line-height: 1; letter-spacing: -.035em; }
.tns-tax-price strong .woocommerce-Price-amount { font: inherit; }
.tns-tax-price span { color: var(--tns-muted); font-size: 10px; margin-top: 7px; }
.tns-price-from { display: inline-block; font-size: 10px!important; color: var(--tns-muted); text-transform: uppercase; vertical-align: middle; margin-right: 4px; }
.tns-stock-panel { margin-top: 13px; min-height: 74px; border: 1px solid var(--tns-line); border-radius: 12px; display: flex; align-items: center; gap: 13px; padding: 13px 15px; background: #fff; }
.tns-stock-panel__icon { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 10px; display: grid; place-items: center; background: #eef8f0; color: #26763b; }
.tns-stock-panel.is-out-of-stock .tns-stock-panel__icon { background: #fff0ee; color: #b93424; }
.tns-stock-panel small, .tns-stock-panel span { display: block; color: var(--tns-muted); font-size: 10px; }
.tns-stock-panel strong { display: block; font-size: 15px; margin: 2px 0; }
.tns-buy-box { margin-top: 14px; border: 1px solid var(--tns-line); border-radius: 14px; padding: 16px; background: var(--tns-soft); }
.tns-buy-row { display: flex; align-items: center; gap: 12px; }
.tns-buy-row > label { font-weight: 700; font-size: 12px; margin-right: auto; }
.tns-quantity-control { height: 44px; display: grid; grid-template-columns: 40px 70px 40px; border: 1px solid #d7dadf; border-radius: 9px; overflow: hidden; background: #fff; }
.tns-quantity-control button { border: 0; background: #fff; cursor: pointer; font-size: 20px; color: var(--tns-ink); }
.tns-quantity-control button:hover { background: #f3f4f5; }
.tns-quantity-control input { width: 100%; border: 0!important; border-left: 1px solid #eceef0!important; border-right: 1px solid #eceef0!important; border-radius: 0!important; padding: 0 5px!important; min-height: 0!important; text-align: center; outline: 0; -moz-appearance: textfield; }
.tns-quantity-control input::-webkit-outer-spin-button,
.tns-quantity-control input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tns-qty-unit { color: var(--tns-muted); font-size: 11px; }
.tns-stock-warning { margin-top: 14px; border: 1px solid #ffd2a8; background: #fff8f1; border-radius: 11px; padding: 13px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.tns-stock-warning[hidden] { display: none!important; }
.tns-stock-warning strong { font-size: 12px; }
.tns-stock-warning p { margin: 3px 0 0; color: #75563c; font-size: 10px; }
.tns-btn--preorder { flex: 0 0 auto; min-height: 38px; padding: 0 13px; background: var(--tns-accent); color: #fff!important; }
.tns-add-cart-button { width: 100%; min-height: 52px; margin-top: 14px; border: 0; border-radius: 10px; display: flex; align-items: center; justify-content: center; gap: 9px; background: var(--tns-ink); color: #fff!important; font-size: 14px; font-weight: 800; cursor: pointer; transition: background .18s, opacity .18s; }
.tns-add-cart-button:hover { background: var(--tns-accent); }
.tns-add-cart-button:disabled { opacity: .38; cursor: not-allowed; background: #777d85; }
.tns-add-cart-button svg { width: 19px; }
.tns-add-cart-button--preorder { background: var(--tns-accent); }
.tns-product-service-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 13px; }
.tns-product-service-notes > span { min-height: 75px; border: 1px solid var(--tns-line); border-radius: 10px; padding: 11px; display: grid; grid-template-columns: 24px 1fr; grid-template-rows: auto auto; column-gap: 8px; align-content: center; background: #fff; }
.tns-product-service-notes svg { grid-row: 1/3; width: 21px; color: var(--tns-accent); }
.tns-product-service-notes b { font-size: 10px; }
.tns-product-service-notes small { color: var(--tns-muted); font-size: 9px; margin-top: 2px; }
.tns-product-description { margin-top: 52px; border-top: 1px solid var(--tns-line); padding-top: 34px; max-width: 1050px; }
.tns-product-description__head h2 { font-size: 25px; letter-spacing: -.035em; margin: 0 0 18px; }
.tns-product-description__body { color: #4f545b; font-size: 14px; }
.tns-variable-buy-box { margin-top: 16px; border: 1px solid var(--tns-line); border-radius: 14px; padding: 18px; background: var(--tns-soft); }

/* Product request / preorder */
.tns-request-page { max-width: 1200px; margin: 0 auto; }
.tns-request-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 44px; align-items: start; }
.tns-request-product { padding: 26px 0; }
.tns-request-product h1 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.02; letter-spacing: -.045em; margin: 7px 0 8px; }
.tns-request-sku { color: var(--tns-muted); font-size: 11px; }
.tns-request-summary { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--tns-line); border-radius: 13px; overflow: hidden; }
.tns-request-summary > div { min-height: 92px; padding: 16px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--tns-line); }
.tns-request-summary > div:last-child { border-right: 0; }
.tns-request-summary small { color: var(--tns-muted); font-size: 9px; }
.tns-request-summary strong { font-size: 16px; margin-top: 5px; }
.tns-request-note { margin-top: 16px; color: var(--tns-muted); font-size: 11px; line-height: 1.6; }
.tns-request-form-card { border: 1px solid var(--tns-line); border-radius: 16px; padding: 26px; background: #fff; box-shadow: 0 12px 35px rgba(17,19,24,.06); }
.tns-request-form-card h2 { margin: 0 0 20px; font-size: 23px; letter-spacing: -.03em; }
.tns-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.tns-field { display: flex; flex-direction: column; gap: 6px; }
.tns-field--full { grid-column: 1/-1; }
.tns-field > span { font-size: 10px; font-weight: 750; }
.tns-field input, .tns-field textarea { width: 100%; border: 1px solid #dfe1e5; border-radius: 8px; background: #fff; padding: 11px 12px; outline: 0; color: var(--tns-ink); }
.tns-field input { min-height: 45px; }
.tns-field textarea { resize: vertical; }
.tns-field input:focus, .tns-field textarea:focus { border-color: #b9bdc4; box-shadow: 0 0 0 3px rgba(17,19,24,.04); }
.tns-qty-field { position: relative; }
.tns-qty-field input { padding-right: 54px; }
.tns-qty-field em { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); font-size: 10px; color: var(--tns-muted); font-style: normal; }
.tns-consent { display: flex; align-items: flex-start; gap: 8px; margin: 16px 0; color: var(--tns-muted); font-size: 10px; }
.tns-consent input { margin-top: 2px; }
.tns-btn--wide { width: 100%; }
.tns-request-success { margin-bottom: 24px; border: 1px solid #bfe2c7; background: #f2fbf4; border-radius: 13px; padding: 17px 20px; display: flex; gap: 13px; align-items: flex-start; }
.tns-request-success__icon { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; display: grid; place-items: center; background: #2e8b47; color: #fff; font-weight: 800; }
.tns-request-success h2 { font-size: 16px; margin: 0; }
.tns-request-success p { margin: 4px 0 0; color: #4c6552; font-size: 11px; }
.tns-request-empty { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.tns-request-empty h2 { margin: 0; }
.tns-request-empty p { color: var(--tns-muted); max-width: 560px; }

@media (max-width: 1050px) {
  .tns-product-layout { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 30px; }
  .tns-product-gallery__main { min-height: 480px; }
  .tns-product-service-notes { grid-template-columns: 1fr; }
  .tns-request-layout { grid-template-columns: 1fr; gap: 12px; }
  .tns-request-product { padding-bottom: 0; }
}

@media (max-width: 760px) {
  .tns-product-page { padding-top: 14px; }
  .tns-product-layout { grid-template-columns: 1fr; gap: 24px; }
  .tns-product-gallery { position: static; }
  .tns-product-gallery__main { min-height: 0; aspect-ratio: 1/1; border-radius: 13px; padding: 24px; }
  .tns-product-thumb { width: 64px; height: 64px; flex-basis: 64px; }
  .tns-product-info h1 { font-size: 31px; }
  .tns-tax-price-box { gap: 7px; }
  .tns-tax-price { min-height: 100px; padding: 13px; }
  .tns-tax-price strong { font-size: 23px; }
  .tns-stock-warning { align-items: flex-start; flex-direction: column; }
  .tns-stock-warning .tns-btn { width: 100%; }
  .tns-product-service-notes { grid-template-columns: repeat(3, 1fr); }
  .tns-product-service-notes > span { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 5px; min-height: 88px; }
  .tns-product-service-notes svg { width: 20px; }
  .tns-request-form-card { padding: 18px; }
  .tns-form-grid { grid-template-columns: 1fr; }
  .tns-field--full { grid-column: auto; }
  .tns-request-summary { grid-template-columns: 1fr; }
  .tns-request-summary > div { min-height: 70px; border-right: 0; border-bottom: 1px solid var(--tns-line); }
  .tns-request-summary > div:last-child { border-bottom: 0; }
}

@media (max-width: 480px) {
  .tns-tax-price-box { grid-template-columns: 1fr; }
  .tns-buy-row { flex-wrap: wrap; }
  .tns-buy-row > label { width: 100%; }
  .tns-product-service-notes { grid-template-columns: 1fr; }
  .tns-product-service-notes > span { min-height: 62px; flex-direction: row; justify-content: flex-start; text-align: left; }
}

/* v0.4 catalog + tier pricing */
.tns-catalog-page{padding-top:34px;padding-bottom:70px}.tns-catalog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:24px;border-bottom:1px solid var(--tns-line)}.tns-catalog-head>div:first-child>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--tns-accent)}.tns-catalog-head h1{font-size:34px;line-height:1;margin:6px 0 8px;letter-spacing:-.04em}.tns-catalog-head p{margin:0;max-width:680px;color:var(--tns-muted);font-size:12px}.tns-catalog-count{display:flex;align-items:baseline;gap:5px}.tns-catalog-count strong{font-size:30px}.tns-catalog-count span{font-size:10px;color:var(--tns-muted)}
.tns-catalog-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:30px;margin-top:26px}.tns-catalog-filter{border:1px solid var(--tns-line);border-radius:14px;background:#fff;align-self:start;position:sticky;top:18px}.tns-catalog-filter form{padding:16px}.tns-filter-block{padding:14px 0;border-bottom:1px solid var(--tns-line)}.tns-filter-block:first-child{padding-top:0}.tns-filter-block:last-of-type{border-bottom:0}.tns-filter-block>strong{display:block;font-size:11px;margin-bottom:10px}.tns-filter-block label{display:flex;align-items:center;gap:7px;margin:7px 0;font-size:10px;color:#4f545b}.tns-filter-block select,.tns-filter-block input[type=number]{width:100%;height:36px;border:1px solid #d9dce1;border-radius:8px;padding:0 9px;background:#fff;font-size:10px}.tns-filter-categories{display:grid;gap:3px}.tns-filter-categories a{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:7px;text-decoration:none;color:#40454c;font-size:10px}.tns-filter-categories a.is-active,.tns-filter-categories a:hover{background:#f3f4f6;color:#111}.tns-filter-categories small{color:#9aa0a7}.tns-price-filter{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}.tns-filter-submit{width:100%;height:40px;border:0;border-radius:8px;background:var(--tns-ink);color:#fff;font-weight:800;font-size:11px;cursor:pointer;margin-top:12px}.tns-catalog-toolbar{height:42px;display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.tns-catalog-toolbar>span{font-size:10px;color:var(--tns-muted)}.tns-catalog-toolbar select{height:34px;border:1px solid var(--tns-line);border-radius:8px;background:#fff;padding:0 10px;font-size:10px}.tns-product-grid--catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tns-catalog-pagination{display:flex;justify-content:center;gap:6px;margin-top:28px}.tns-catalog-pagination a{width:36px;height:36px;border:1px solid var(--tns-line);border-radius:8px;display:grid;place-items:center;text-decoration:none;color:#333;font-size:10px}.tns-catalog-pagination a.is-current{background:var(--tns-ink);color:#fff;border-color:var(--tns-ink)}.tns-mobile-filter-toggle{display:none}
.tns-product-card{position:relative}.tns-product-card__visual{position:relative}.tns-favorite-button{position:absolute;right:10px;top:10px;width:34px;height:34px;border:1px solid rgba(0,0,0,.08);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);cursor:pointer;z-index:2}.tns-favorite-button svg{width:17px;height:17px;fill:none;stroke:#222;stroke-width:1.7}.tns-favorite-button.is-active svg{fill:var(--tns-accent);stroke:var(--tns-accent)}.tns-stock-badge.is-out{background:#fff0ee;color:#a33b31}.tns-product-card__prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.tns-product-card__prices>div{border:1px solid var(--tns-line);border-radius:8px;padding:8px}.tns-product-card__prices small{display:block;color:var(--tns-muted);font-size:8px}.tns-product-card__prices strong{display:block;margin-top:2px;font-size:12px}.tns-product-card__tier{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff6ef;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:6px}.tns-product-card__tier span{font-size:9px;font-weight:800;color:#8d542f}.tns-product-card__tier strong{font-size:12px;color:var(--tns-accent)}.tns-product-card__tier small{grid-column:1/3;font-size:8px;color:#9b765f}.tns-product-card__quick{display:grid;grid-template-columns:94px 1fr;gap:7px;margin-top:10px}.tns-card-qty{height:38px;border:1px solid var(--tns-line);border-radius:8px;display:grid;grid-template-columns:28px 1fr 28px;overflow:hidden}.tns-card-qty button{border:0;background:#fff;cursor:pointer;font-size:16px}.tns-card-qty input{min-width:0;width:100%;border:0!important;text-align:center;padding:0!important;appearance:textfield}.tns-product-card__add{height:38px;border:0;border-radius:8px;background:var(--tns-ink);color:#fff!important;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;font-weight:800;cursor:pointer}.tns-product-card__add svg{width:15px}.tns-product-card__add:hover{background:var(--tns-accent)}.tns-card-message{min-height:14px;margin-top:5px;font-size:8px;color:#287241}.tns-card-message.is-error{color:#a33b31}
.tns-tier-table-wrap{margin-top:14px;border:1px solid var(--tns-line);border-radius:12px;overflow:hidden}.tns-tier-table__head{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:#fafbfc}.tns-tier-table__head strong{font-size:11px}.tns-tier-table__head small{font-size:8px;color:var(--tns-muted)}.tns-tier-table__row{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--tns-line)}.tns-tier-table__row>*{padding:9px 12px;border-right:1px solid var(--tns-line);font-size:10px}.tns-tier-table__row>*:last-child{border-right:0}.tns-tier-table__row--head{background:#f5f6f8;color:var(--tns-muted);font-weight:700}.tns-tier-table__row strong:last-child{color:var(--tns-accent)}
@media(max-width:1280px){.tns-product-grid--catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.tns-catalog-layout{grid-template-columns:1fr}.tns-catalog-filter{display:none;position:static}.tns-catalog-filter.is-open{display:block}.tns-mobile-filter-toggle{display:block;width:100%;height:42px;margin-top:18px;border:1px solid var(--tns-line);border-radius:9px;background:#fff;font-size:11px;font-weight:800}.tns-product-grid--catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.tns-catalog-toolbar{margin-top:2px}}
@media(max-width:560px){.tns-catalog-page{padding-top:20px}.tns-catalog-head{align-items:flex-start}.tns-catalog-head h1{font-size:26px}.tns-catalog-count{display:none}.tns-product-grid--catalog{grid-template-columns:1fr 1fr;gap:8px}.tns-product-card__prices{grid-template-columns:1fr}.tns-product-card__prices>div:first-child{display:none}.tns-product-card__quick{grid-template-columns:1fr}.tns-card-qty{display:none}.tns-tier-table__row>*{padding:8px 7px;font-size:9px}}
