/*
Theme Name: Trường Thịnh Business
Theme URI: https://suamaytinhtphcm.vn/
Author: Trường Thịnh Group
Description: Lightweight hybrid WordPress/WooCommerce theme for Trường Thịnh Group.
Version: 3.3.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: truongthinh-theme
*/

:root {
  --tt-brand-primary: #0db04b;
  --tt-brand-secondary: #f6921e;
  --tt-brand-gray: #929497;
  --tt-brand-primary-ink: #087538;
  --tt-brand-secondary-ink: #9b4608;
  --tt-obsidian: #080c10;
  --tt-ink: #0d1117;
  --tt-ink-soft: #252c34;
  --tt-charcoal: #151b21;
  --tt-muted: #69727c;
  --tt-soft: #edf7f0;
  --tt-soft-blue: #f3f6f8;
  --tt-warm: #fff1df;
  --tt-ivory: #f7f5f0;
  --tt-porcelain: #fbf8f2;
  --tt-porcelain-strong: #f5efe6;
  --tt-stone: #ebe4d9;
  --tt-forest: #0c1a16;
  --tt-forest-2: #153126;
  --tt-surface: #ffffff;
  --tt-dark: #080c10;
  --tt-dark-2: #11171d;
  --tt-dark-3: #1a222a;
  --tt-border: rgb(13 17 23 / 10%);
  --tt-border-strong: rgb(13 17 23 / 17%);
  --tt-focus: #075fb8;
  --tt-radius-xs: 8px;
  --tt-radius-sm: 14px;
  --tt-radius: 18px;
  --tt-radius-lg: 24px;
  --tt-radius-xl: 28px;
  --tt-shadow-xs: 0 8px 24px rgb(8 12 16 / 6%);
  --tt-shadow-sm: 0 14px 34px rgb(8 12 16 / 7%);
  --tt-shadow: 0 18px 46px rgb(8 12 16 / 9%);
  --tt-shadow-strong: 0 28px 80px rgb(8 12 16 / 13%);
  --tt-container: 1360px;
  --tt-content: 800px;
  --tt-gutter: 40px;
  --tt-section: clamp(60px, 5vw, 76px);
  --tt-page-start: clamp(24px, 2.2vw, 32px);
  --tt-page-section: clamp(48px, 4vw, 60px);
  --tt-stage-outer-y: clamp(10px, 1.25vw, 16px);
  --tt-stage-inline: clamp(24px, 3.1vw, 42px);
  --tt-stage-head-y: clamp(28px, 3.1vw, 38px);
  --tt-stage-context-y: clamp(14px, 1.65vw, 18px);
  --tt-gap: clamp(18px, 2vw, 26px);
  --tt-header-h: 76px;
  --tt-font-body: "Segoe UI Variable Text", "Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --tt-font-display: "Segoe UI Variable Display", "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --tt-ease-out: cubic-bezier(.2,.75,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.tt-menu-open, html.tt-search-open { overflow: hidden; }
body {
  margin: 0;
  background: var(--tt-ivory);
  color: var(--tt-ink);
  font-family: var(--tt-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.64;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--tt-brand-primary-ink); text-decoration-thickness: .07em; text-underline-offset: .16em; transition: color .16s ease; }
a:hover { color: var(--tt-brand-secondary-ink); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--tt-focus); outline-offset: 3px; }
[id] { scroll-margin-top: calc(var(--tt-header-h) + 20px); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .52em;
  color: var(--tt-ink);
  font-family: var(--tt-font-display);
  line-height: 1.08;
  letter-spacing: -.03em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 700; letter-spacing: -.048em; line-height: 1.02; }
h2 { font-size: clamp(1.8rem, 2.7vw, 2.75rem); font-weight: 680; letter-spacing: -.037em; }
h3 { font-size: clamp(1.1rem, 1.4vw, 1.38rem); font-weight: 650; letter-spacing: -.022em; }
h4 { font-weight: 640; }
p { margin: 0 0 1em; }
ul, ol { padding-inline-start: 1.25rem; }
::selection { background: rgb(13 176 75 / 22%); color: var(--tt-ink); }

.tt-container { width: min(100% - (var(--tt-gutter) * 2), var(--tt-container)); margin-inline: auto; }
.tt-main { min-width: 0; }
.tt-section { position: relative; isolation: isolate; padding-block: var(--tt-section); overflow: clip; }
.tt-section::before, .tt-section::after { pointer-events: none; }
.tt-section--soft {
  background:
    radial-gradient(38rem 24rem at -6% 8%, rgb(13 176 75 / 9%), transparent 58%),
    radial-gradient(32rem 22rem at 106% 86%, rgb(246 146 30 / 8%), transparent 60%),
    linear-gradient(180deg, #fbfdfc 0%, #f2f8f4 100%);
}
.tt-section--soft::after { content: ""; position: absolute; width: 160px; height: 160px; right: 6%; top: -100px; border: 28px solid rgb(13 176 75 / 6%); border-radius: 50%; }
.tt-section--dark {
  color: #eaf2f5;
  background:
    radial-gradient(48rem 30rem at 8% 18%, rgb(13 176 75 / 18%), transparent 58%),
    radial-gradient(40rem 28rem at 98% 98%, rgb(246 146 30 / 15%), transparent 62%),
    linear-gradient(135deg, #06131f 0%, #0a2231 54%, #0d2b36 100%);
}
.tt-section--dark::after { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px); background-size: 42px 42px; }
.tt-section--dark > * { position: relative; z-index: 1; }
.tt-section--dark h1, .tt-section--dark h2, .tt-section--dark h3 { color: #fff; }

.tt-copy { max-width: 720px; }
.tt-copy--center { margin-inline: auto; text-align: center; }
.tt-copy--center .tt-lead { margin-inline: auto; }
.tt-eyebrow, .tt-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  color: var(--tt-brand-primary-ink);
  font-size: .75rem;
  font-weight: 680;
  letter-spacing: .105em;
  text-transform: uppercase;
  text-decoration: none;
}
.tt-eyebrow::before, .tt-kicker::before { content: ""; width: 18px; height: 3px; border-radius: 999px; background: var(--tt-brand-primary); box-shadow: 0 0 0 4px rgb(13 176 75 / 5%); }
.tt-section--dark .tt-eyebrow { color: #b8f5ce; }
.tt-lead { max-width: 760px; color: var(--tt-muted); font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 1.7; }
.tt-section--dark .tt-lead { color: #c8d5dc; }
.tt-grid { display: grid; gap: var(--tt-gap); }
.tt-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.tt-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.tt-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tt-cluster--center { justify-content: center; }
.tt-section-heading, .tt-results-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.tt-results-head { padding-bottom: 17px; border-bottom: 1px solid var(--tt-border); }
.tt-results-head h2, .tt-section-heading h2 { margin-bottom: 0; }

.tt-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
  padding: 11px 19px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: .91rem;
  font-weight: 640;
  line-height: 1.15;
  letter-spacing: -.01em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: var(--tt-shadow-xs);
  transition: transform .2s var(--tt-ease-out), box-shadow .2s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.tt-btn::after { content: ""; position: absolute; z-index: -1; inset: -45% auto -45% -28%; width: 22%; transform: translateX(-260%) rotate(17deg); background: linear-gradient(90deg, transparent, rgb(255 255 255 / 58%), transparent); transition: transform .58s var(--tt-ease-out); pointer-events: none; }
.tt-btn:hover::after { transform: translateX(680%) rotate(17deg); }
.tt-btn span { min-width: 0; }
.tt-btn svg { flex: 0 0 auto; width: 18px; height: 18px; }
.tt-btn:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgb(8 12 16 / 15%); }
.tt-btn:active { transform: translateY(0) scale(.985); }
.tt-btn--primary { background: #f6921e; color: #0a0d10; border-color: rgb(115 53 5 / 10%); }
.tt-btn--primary:hover { background: #ffa136; color: #0a0d10; }
.tt-btn--accent { background: #0db04b; color: #06140b; border-color: rgb(6 92 40 / 13%); }
.tt-btn--accent:hover { background: #20bb59; color: #06140b; }
.tt-btn--ghost { border-color: rgb(13 17 23 / 16%); background: rgb(255 255 255 / 88%); color: var(--tt-ink); box-shadow: none; }
.tt-btn--ghost:hover { border-color: var(--tt-border-strong); color: var(--tt-ink); background: #fff; box-shadow: var(--tt-shadow-xs); }
.tt-btn--dark { background: var(--tt-obsidian); color: #fff; border-color: var(--tt-obsidian); }
.tt-btn--dark:hover { background: #161d24; color: #fff; }
.tt-text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--tt-ink); font-size: .86rem; font-weight: 610; text-decoration: none; }
.tt-text-link svg { width: 16px; height: 16px; transition: transform .18s ease; }
.tt-text-link:hover { color: var(--tt-brand-primary-ink); }
.tt-text-link:hover svg { transform: translateX(3px); }

.tt-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--tt-radius);
  background: #fff;
  box-shadow: var(--tt-shadow-xs);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tt-card::before { content: none; }
.tt-card::after { content: ""; position: absolute; z-index: 0; inset: 0; background: radial-gradient(240px circle at var(--tt-pointer-x,82%) var(--tt-pointer-y,78%), rgb(13 176 75 / 12%), rgb(246 146 30 / 5%) 34%, transparent 68%); opacity: 0; transition: opacity .24s ease; pointer-events: none; }
.tt-card:hover::after { opacity: 1; }
.tt-card > * { position: relative; z-index: 1; }
.tt-card:hover { transform: translateY(-3px); box-shadow: var(--tt-shadow); }
.tt-card__body { padding: 19px; }
.tt-card__media { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(145deg, #eef4f0, #f8faf9); }
.tt-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.tt-card:hover .tt-card__media img { transform: scale(1.035); }
.tt-card__media--placeholder svg { width: 42px; height: 42px; color: var(--tt-brand-primary-ink); }
.tt-card__topline { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.tt-card__category { color: var(--tt-brand-primary-ink); font-size: .72rem; font-weight: 650; text-decoration: none; }
.tt-card__meta { color: var(--tt-muted); font-size: .76rem; }
.tt-card__title { margin: 5px 0 8px; font-size: 1.1rem; line-height: 1.29; }
.tt-card__title a { color: var(--tt-ink); text-decoration: none; }
.tt-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; padding-top: 12px; border-top: 1px solid #e8edef; }
.tt-card__footer > span { display: inline-flex; align-items: center; gap: 6px; color: var(--tt-muted); font-size: .75rem; }
.tt-card__footer svg { width: 15px; height: 15px; }

/* Header / navigation */
.tt-skip-link { position: fixed; z-index: 10000; top: 10px; left: 10px; transform: translateY(-160%); padding: 10px 14px; border-radius: 10px; background: #fff; color: #000; box-shadow: var(--tt-shadow); }
.tt-skip-link:focus { transform: none; }
.tt-utility { background: linear-gradient(90deg, #08110e 0%, var(--tt-forest) 48%, #091310 100%); color: #dbe5e0; font-size: .77rem; border-bottom: 1px solid rgb(255 255 255 / 7%); box-shadow: inset 0 -1px 0 rgb(13 176 75 / 9%); }
.tt-utility__inner { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.tt-utility__items { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.tt-utility__items span, .tt-utility__actions a { display: inline-flex; align-items: center; gap: 7px; }
.tt-utility svg { width: 14px; height: 14px; color: #48c978; }
.tt-utility a { color: #fff; font-weight: 620; text-decoration: none; }
.tt-header { position: sticky; z-index: 1000; top: 0; background: rgb(251 248 242 / 96%); border-bottom: 1px solid rgb(70 58 43 / 10%); box-shadow: 0 10px 32px rgb(42 35 27 / 6%); backdrop-filter: blur(16px) saturate(118%); }
.admin-bar .tt-header { top: 32px; }
.tt-header.is-scrolled { background: rgb(251 248 242 / 99%); border-bottom-color: rgb(70 58 43 / 13%); box-shadow: 0 18px 46px rgb(31 31 25 / 10%); }
.tt-header::after { content: none; }
.tt-header__inner { min-height: var(--tt-header-h); display: flex; align-items: center; gap: 16px; }
.tt-brand { display: inline-flex; align-items: center; flex: 0 0 auto; padding-block: 7px; }
.tt-brand img { width: clamp(198px, 13.6vw, 224px); max-height: 62px; object-fit: contain; object-position: left center; transition: width .22s var(--tt-ease-out), opacity .18s ease; }
.tt-header.is-scrolled .tt-brand img { width: clamp(190px, 13vw, 212px); }
.tt-brand img[src*="logo-truong-thinh-group.webp"] { mix-blend-mode: multiply; }
.tt-nav { display: flex; align-items: center; margin-left: auto; }
.tt-nav__list { display: flex; align-items: center; gap: 3px; list-style: none; margin: 0; padding: 0; }
.tt-nav__item { position: relative; }
.tt-nav__entry { display: flex; align-items: center; border-radius: 12px; transition: background-color .16s ease; }
.tt-nav__item:hover .tt-nav__entry, .tt-nav__item:focus-within .tt-nav__entry, .tt-nav__item.is-open .tt-nav__entry { background: rgb(246 146 30 / 7%); }
.tt-nav__link { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 7px 9px; color: #18201d; font-size: .84rem; font-weight: 620; text-decoration: none; white-space: nowrap; }
.tt-nav__link svg { width: 16px; height: 16px; color: var(--tt-brand-primary-ink); }
.tt-nav__link::after { content: ""; position: absolute; left: 50%; bottom: 3px; width: 20px; height: 2px; border-radius: 999px; background: var(--tt-brand-primary); transform: translateX(-50%) scaleX(0); transform-origin: center; transition: transform .18s var(--tt-ease-out); }
.tt-nav__link:hover, .tt-nav__item:focus-within .tt-nav__link, .tt-nav__link[aria-current="page"] { color: #0d4f2b; }
.tt-nav__link:hover::after, .tt-nav__item:focus-within .tt-nav__link::after, .tt-nav__link[aria-current="page"]::after { transform: translateX(-50%) scaleX(1); }
.tt-nav__submenu-toggle { width: 27px; height: 38px; display: grid; place-items: center; margin-left: -5px; border: 0; border-radius: 9px; background: transparent; color: #66706b; }
.tt-nav__submenu-toggle svg { width: 15px; height: 15px; transition: transform .18s ease; }
.tt-nav__item.is-open .tt-nav__submenu-toggle svg, .tt-nav__item:focus-within .tt-nav__submenu-toggle svg { transform: rotate(180deg); }
.tt-nav__submenu { position: absolute; z-index: 50; top: calc(100% + 12px); left: 50%; width: min(620px, 86vw); padding: 16px; border: 1px solid rgb(70 58 43 / 11%); border-radius: 20px; background: #fffdf9; box-shadow: 0 32px 86px rgb(32 30 24 / 17%); opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.tt-nav__submenu::before { content: ""; position: absolute; top: -8px; left: 50%; width: 16px; height: 16px; border-top: 1px solid rgb(70 58 43 / 11%); border-left: 1px solid rgb(70 58 43 / 11%); background: #fffdf9; transform: translateX(-50%) rotate(45deg); }
.tt-nav__item:hover > .tt-nav__submenu, .tt-nav__item:focus-within > .tt-nav__submenu, .tt-nav__item.is-open > .tt-nav__submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.tt-nav__submenu-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 3px 4px 11px; border-bottom: 1px solid rgb(70 58 43 / 10%); }
.tt-nav__submenu-head strong { font-size: .88rem; font-weight: 650; }
.tt-nav__submenu-head a { display: inline-flex; align-items: center; gap: 5px; color: var(--tt-brand-primary-ink); font-size: .76rem; font-weight: 610; text-decoration: none; }
.tt-nav__submenu-head svg { width: 14px; height: 14px; }
.tt-nav__submenu-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 6px; padding-top: 9px; }
.tt-nav__submenu-link { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 9px; border-radius: 12px; color: var(--tt-ink); font-size: .84rem; font-weight: 560; text-decoration: none; transition: background .16s ease, transform .16s ease; }
.tt-nav__submenu-link:hover { color: var(--tt-ink); background: #f5efe5; transform: translateX(2px); }
.tt-nav__submenu-icon { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 10px; background: #eaf4ed; color: var(--tt-brand-primary-ink); }
.tt-nav__submenu-icon svg { width: 16px; height: 16px; }
.tt-header-tools { display: flex; align-items: center; gap: 7px; margin-left: 4px; }
.tt-header-icon, .tt-menu-toggle { position: relative; display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; padding: 0; border: 1px solid rgb(70 58 43 / 12%); border-radius: 13px; background: rgb(255 255 255 / 48%); color: #17201c; text-decoration: none; box-shadow: inset 0 1px 0 rgb(255 255 255 / 72%); transition: transform .18s var(--tt-ease-out), border-color .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease; }
.tt-header-icon:hover, .tt-menu-toggle:hover { transform: translateY(-1px); border-color: rgb(70 58 43 / 19%); color: var(--tt-ink); background: #fffdf9; box-shadow: 0 10px 24px rgb(42 35 27 / 7%); }
.tt-header-icon svg, .tt-menu-toggle svg { width: 19px; height: 19px; }
.tt-cart-badge { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 19px; height: 19px; padding-inline: 5px; border: 2px solid var(--tt-porcelain); border-radius: 999px; background: var(--tt-brand-secondary); color: #221205; font-size: .62rem; font-weight: 720; line-height: 1; }
.tt-cart-badge:empty { display: none; }
.tt-header__actions { display: flex; align-items: center; gap: 8px; margin-left: 2px; }
.tt-header__actions .tt-btn { min-height: 44px; padding: 9px 15px; font-size: .84rem; }
.tt-header__actions .tt-btn--primary { box-shadow: 0 10px 24px rgb(132 73 16 / 14%); }
.tt-header__actions .tt-btn--ghost { background: rgb(255 255 255 / 42%); border-color: rgb(70 58 43 / 13%); }
.tt-menu-toggle { display: none; margin-left: 0; }
.tt-mobile-panel { display: none; }

/* Premium search command */
.tt-search-overlay { position: fixed; z-index: 1400; inset: 0; display: grid; place-items: start center; padding: clamp(86px,10vh,124px) var(--tt-gutter) 28px; opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
.tt-search-overlay.is-open { opacity: 1; visibility: visible; }
.tt-search-overlay__backdrop { position: absolute; inset: 0; border: 0; background: rgb(4 13 22 / 62%); backdrop-filter: blur(12px) saturate(115%); }
.tt-search-command { position: relative; width: min(760px,100%); overflow: hidden; border: 1px solid rgb(255 255 255 / 50%); border-radius: 28px; background: rgb(255 255 255 / 98%); box-shadow: 0 42px 120px rgb(2 12 20 / 30%), 0 0 0 1px rgb(13 176 75 / 8%); transform: translateY(-10px) scale(.985); transition: transform .24s var(--tt-ease-out); }
.tt-search-overlay.is-open .tt-search-command { transform: none; }
.tt-search-command::before { content: ""; position: absolute; inset: 0 auto auto 26px; width: 74px; height: 3px; border-radius: 0 0 999px 999px; background: var(--tt-brand-secondary); }
.tt-search-command::after { content: ""; position: absolute; width: 190px; height: 190px; right: -80px; top: -100px; border-radius: 50%; background: radial-gradient(circle,rgb(246 146 30 / 14%),transparent 68%); pointer-events: none; }
.tt-search-command__head { position: relative; z-index: 1; display: flex; align-items: start; justify-content: space-between; gap: 20px; padding: 26px 26px 15px; }
.tt-search-command__head h2 { margin: 0; font-size: clamp(1.55rem,3vw,2.25rem); }
.tt-search-command__close { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid var(--tt-border); border-radius: 50%; background: #fff; color: var(--tt-ink); font-size: 1.65rem; line-height: 1; }
.tt-search-command__form { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; margin: 0 26px; padding: 8px 8px 8px 14px; border: 1px solid var(--tt-border-strong); border-radius: 18px; background: #fff; box-shadow: 0 16px 42px rgb(7 20 32 / 8%); }
.tt-search-command__form:focus-within { border-color: rgb(13 176 75 / 48%); box-shadow: 0 16px 42px rgb(7 20 32 / 8%),0 0 0 4px rgb(13 176 75 / 8%); }
.tt-search-command__icon { display: grid; place-items: center; color: var(--tt-brand-primary-ink); }
.tt-search-command__form input { min-width: 0; min-height: 46px; padding: 6px 4px; border: 0; background: transparent; color: var(--tt-ink); font-size: 1rem; }
.tt-search-command__form button { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 15px; border: 0; border-radius: 12px; background: var(--tt-brand-secondary); color: #0a0d10; font-weight: 650; }
.tt-search-command__form button svg { width: 17px; height: 17px; }
.tt-search-command__quick { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 18px 26px 26px; }
.tt-search-command__quick a { display: grid; grid-template-columns: 38px minmax(0,1fr) 16px; align-items: center; gap: 9px; min-width: 0; padding: 12px; border: 1px solid var(--tt-border); border-radius: 15px; background: linear-gradient(145deg,#fff,#f8fbf9); color: var(--tt-ink); text-decoration: none; transition: transform .18s var(--tt-ease-out),border-color .18s ease,box-shadow .18s ease; }
.tt-search-command__quick a > svg:first-child { width: 38px; height: 38px; padding: 9px; border-radius: 12px; background: linear-gradient(145deg,rgb(13 176 75 / 13%),rgb(246 146 30 / 11%)); color: var(--tt-brand-primary-ink); }
.tt-search-command__quick a > svg:last-child { width: 16px; height: 16px; color: var(--tt-brand-primary-ink); }
.tt-search-command__quick small,.tt-search-command__quick strong { display: block; }
.tt-search-command__quick small { color: var(--tt-muted); font-size: .68rem; }
.tt-search-command__quick strong { margin-top: 2px; font-size: .82rem; font-weight: 620; }
.tt-search-command__quick a:hover { transform: translateY(-2px); border-color: rgb(13 176 75 / 30%); box-shadow: var(--tt-shadow-sm); color: var(--tt-ink); }

/* Shared layouts */
.tt-breadcrumbs { margin-bottom: 18px; color: var(--tt-muted); font-size: .75rem; }
.tt-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; list-style: none; margin: 0; padding: 0; }
.tt-breadcrumbs li { display: inline-flex; align-items: center; min-width: 0; }
.tt-breadcrumbs li:not(:last-child)::after { content: "/"; margin-inline: 9px; color: #a6b2bc; }
.tt-breadcrumbs a, .tt-breadcrumbs span { display: inline-block; max-width: min(52ch, 62vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tt-muted); text-decoration: none; }
.tt-breadcrumbs a:hover { color: var(--tt-brand-primary-ink); }
.tt-content-layout { display: grid; grid-template-columns: minmax(0,1fr) 316px; gap: clamp(24px, 3vw, 40px); align-items: start; }
.tt-content-layout--article { grid-template-columns: minmax(0,1fr) 316px; }
.tt-content-layout--shop { grid-template-columns: minmax(0,1fr) 304px; }
.tt-prose { max-width: var(--tt-content); color: var(--tt-ink-soft); }
.tt-prose > *:first-child { margin-top: 0; }
.tt-prose h2 { margin-top: 1.75em; }
.tt-prose h3 { margin-top: 1.55em; }
.tt-prose a { overflow-wrap: anywhere; }
.tt-prose img, .tt-prose figure { border-radius: 18px; }
.tt-prose table { width: 100%; border-collapse: collapse; }
.tt-prose th, .tt-prose td { padding: 11px 12px; border: 1px solid var(--tt-border); text-align: left; }
.tt-prose blockquote { margin: 28px 0; padding: 20px 22px; border-left: 4px solid var(--tt-brand-primary); border-radius: 0 16px 16px 0; background: #f5faf7; color: var(--tt-ink-soft); }
.tt-page-links { margin-top: 22px; }


/* Shared lead form — canonical Theme component, rendered by Theme/Pages contexts */
.tt-lead-form { position: relative; padding: clamp(20px, 3vw, 30px); border: 1px solid var(--tt-border); border-radius: var(--tt-radius-lg); background: rgb(255 255 255 / 96%); box-shadow: var(--tt-shadow); transition: border-color .2s ease, box-shadow .2s ease; }
.tt-lead-form:focus-within { border-color: rgb(13 176 75 / 30%); box-shadow: 0 28px 72px rgb(7 21 34 / 13%), 0 0 0 4px rgb(13 176 75 / 5%); }
.tt-lead-form__status { min-height: 0; margin-bottom: 0; border-radius: 11px; }
.tt-lead-form__status:not(:empty) { margin-bottom: 14px; padding: 9px 11px; background: #eef8f2; color: #075f2a; }
.tt-lead-form__status.is-error { background: #fff1f1; color: #8b1d1d; }
.tt-lead-form__status.is-success { border: 1px solid rgb(13 176 75 / 24%); background: linear-gradient(135deg,#eef9f2,#f7fcf9); color: #075f2a; box-shadow: 0 10px 26px rgb(13 176 75 / 8%); }
.tt-lead-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.tt-field { min-width: 0; }
.tt-field--full { grid-column: 1 / -1; }
.tt-field label { display: block; margin-bottom: 5px; font-weight: 600; font-size: .87rem; }
.tt-field input:not([type="checkbox"]), .tt-field select, .tt-field textarea { width: 100%; min-height: 45px; border: 1px solid #bdc9ce; border-radius: 12px; background: #fff; padding: 9px 11px; color: var(--tt-ink); transition: border-color .16s ease, box-shadow .16s ease; }
.tt-field input:focus, .tt-field select:focus, .tt-field textarea:focus { border-color: rgb(13 176 75 / 70%); box-shadow: 0 0 0 4px rgb(13 176 75 / 10%); }
.tt-field textarea { min-height: 104px; resize: vertical; }
.tt-field small { display: block; min-height: 1.2em; margin-top: 3px; color: #9b1c1c; }
.tt-field [aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 3px rgb(180 35 24 / 10%); }
.tt-field label.tt-checkbox { display: flex; gap: 9px; align-items: flex-start; font-weight: 400; }
.tt-checkbox input { flex: 0 0 auto; margin-top: 4px; width: 18px; height: 18px; }
.tt-field--honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tt-lead-form .tt-btn { margin-top: 16px; }
.tt-lead-form button.tt-btn:disabled { opacity: .62; cursor: wait; transform: none; box-shadow: none; }

.tt-article-conversion { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; align-items: center; margin: 34px 0 28px; padding: clamp(20px, 3vw, 28px); border-radius: 20px; background: linear-gradient(135deg,#fff7ed,#fff 58%); box-shadow: var(--tt-shadow-xs); }
.tt-article-conversion h2 { margin: 0 0 7px; font-size: clamp(1.35rem, 2vw, 1.75rem); }
.tt-article-conversion p { margin: 0; color: var(--tt-muted); }
.tt-article-conversion__actions { display: grid; justify-items: end; gap: 10px; min-width: 190px; }

/* BLACK × ORANGE Signature Stage — one canonical page/category/detail header */
.tt-masthead {
  --tt-mast-accent: var(--tt-brand-secondary);
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: var(--tt-stage-outer-y);
  background:
    linear-gradient(180deg, #f3f0e9 0%, var(--tt-ivory) 100%);
}
.tt-masthead::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5; background: radial-gradient(38rem 18rem at 92% 0%, rgb(246 146 30 / 8%), transparent 70%), radial-gradient(34rem 19rem at 0 100%, rgb(13 176 75 / 5%), transparent 72%); }
.tt-masthead > .tt-container { position: relative; z-index: 1; }
.tt-masthead__frame {
  --tt-pointer-x: 82%;
  --tt-pointer-y: 14%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgb(13 17 23 / 9%);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 22px 60px rgb(8 12 16 / 11%);
}
.tt-masthead__frame::before { content: ""; position: absolute; z-index: 8; top: 0; left: var(--tt-stage-inline); width: 92px; height: 3px; border-radius: 0 0 999px 999px; background: var(--tt-mast-accent, var(--tt-brand-secondary)); }
.tt-masthead__frame::after { content: ""; position: absolute; z-index: 0; inset: 0; opacity: 0; background: radial-gradient(360px circle at var(--tt-pointer-x) var(--tt-pointer-y), rgb(246 146 30 / 8%), transparent 70%); transition: opacity .25s ease; pointer-events: none; }
.tt-masthead__utility, .tt-masthead__headline, .tt-masthead__context { position: relative; z-index: 1; }
.tt-masthead__utility { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; padding: 8px var(--tt-stage-inline); background: #fff; }
.tt-masthead__utility .tt-breadcrumbs { margin: 0; min-width: 0; }
.tt-masthead__signature { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; color: #77808a; font-size: .68rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.tt-brand-motif { display: inline-grid; grid-template-columns: repeat(5, 5px); gap: 2px; transform: skewX(-10deg); }
.tt-brand-motif i { width: 5px; height: 9px; border-radius: 1px; background: var(--tt-brand-secondary); box-shadow: 0 4px 12px rgb(246 146 30 / 18%); }
.tt-brand-motif i:nth-child(2), .tt-brand-motif i:nth-child(4) { transform: translateY(4px); background: var(--tt-brand-primary); box-shadow: 0 4px 12px rgb(13 176 75 / 18%); }
.tt-brand-motif i:nth-child(3) { height: 13px; transform: translateY(-2px); }
.tt-masthead__headline { min-width: 0; padding: var(--tt-stage-head-y) var(--tt-stage-inline) calc(var(--tt-stage-head-y) - 4px); background: linear-gradient(155deg, #fff 0 72%, #fffaf3 100%); }
.tt-masthead__headline::before { content: ""; position: absolute; pointer-events: none; right: -46px; top: -58px; width: 190px; height: 190px; border: 1px solid rgb(13 17 23 / 6%); border-radius: 50%; box-shadow: 0 0 0 28px rgb(246 146 30 / 2.5%); }
.tt-masthead__headline::after { content: none; }
.tt-masthead__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 12px; color: var(--tt-brand-primary-ink); font-size: .73rem; font-weight: 700; letter-spacing: .095em; text-transform: uppercase; }
.tt-masthead__eyebrow > svg { width: 20px; height: 20px; padding: 3px; border-radius: 7px; background: #edf8f1; color: var(--tt-brand-primary-ink); }
.tt-masthead h1 { width: 100%; max-width: none; margin: 0; color: var(--tt-ink); font-size: clamp(2.65rem, 4vw, 3.9rem); font-weight: 710; line-height: 1.01; letter-spacing: -.052em; text-wrap: wrap; }
.tt-masthead__lead { width: 100%; margin: 16px 0 0; color: #5f6872; font-size: clamp(1rem, 1.12vw, 1.18rem); line-height: 1.62; }
.tt-masthead__lead--short { max-width: 1180px; }
.tt-masthead__lead--long { max-width: 90ch; }
.tt-masthead__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 17px; color: var(--tt-muted); font-size: .8rem; }
.tt-masthead__meta > * { display: inline-flex; align-items: center; gap: 6px; }
.tt-masthead__meta svg { width: 15px; height: 15px; color: var(--tt-brand-primary-ink); }
.tt-masthead__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.tt-masthead__context { position: relative; display: grid; grid-template-columns: minmax(270px,.8fr) minmax(0,1.7fr); min-height: 116px; color: #e8edf0; background: var(--tt-obsidian); box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%); }
.tt-masthead__context::before { content: none; }
.tt-masthead__context::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .6; background: radial-gradient(28rem 18rem at 4% 110%, rgb(13 176 75 / 13%), transparent 66%), radial-gradient(24rem 18rem at 96% -20%, rgb(246 146 30 / 12%), transparent 62%); }
.tt-masthead__context-intro, .tt-masthead__facts { position: relative; z-index: 1; }
.tt-masthead__context-intro { isolation: isolate; display: flex; align-items: center; min-width: 0; min-height: 116px; overflow: hidden; padding: var(--tt-stage-context-y) 24px; }
.tt-masthead__context-intro::after { content: ""; position: absolute; z-index: 0; right: 30px; top: 24px; width: 76px; height: 76px; border: 1px solid rgb(255 255 255 / 8%); transform: rotate(16deg); }
.tt-masthead__motif { position: absolute; z-index: 0; right: 42px; top: 30px; transform: scale(2.5); opacity: .18; transform-origin: center; }
.tt-masthead__figure { position: absolute; z-index: 0; inset: 0; margin: 0; }
.tt-masthead__figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tt-masthead__figure-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(8 12 16 / 68%), rgb(8 12 16 / 28%) 52%, rgb(8 12 16 / 76%)); }
.tt-masthead__context-copy { position: relative; z-index: 2; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: center; width: 100%; }
.tt-masthead__context-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgb(255 255 255 / 12%); border-radius: 12px; background: rgb(255 255 255 / 6%); color: #ffad4a; }
.tt-masthead__context-icon svg { width: 18px; height: 18px; }
.tt-masthead__context-copy small, .tt-masthead__context-copy strong { display: block; }
.tt-masthead__context-copy small { color: #9da7b0; font-size: .65rem; font-weight: 640; letter-spacing: .08em; text-transform: uppercase; }
.tt-masthead__context-copy strong { margin-top: 3px; color: #fff; font-size: clamp(1rem,1.35vw,1.25rem); font-weight: 650; line-height: 1.28; letter-spacing: -.022em; }
.tt-masthead__facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); min-width: 0; }
.tt-masthead__fact { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; min-width: 0; padding: var(--tt-stage-context-y) 19px; border-left: 1px solid rgb(255 255 255 / 8%); color: #e6ebee; text-decoration: none; transition: background .2s ease, transform .2s var(--tt-ease-out); }
.tt-masthead__fact:hover { color: #fff; background: rgb(255 255 255 / 4%); transform: translateY(-1px); }
.tt-masthead__fact-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: rgb(255 255 255 / 6%); color: #ffad4a; box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%); }
.tt-masthead__fact:nth-child(2n) .tt-masthead__fact-icon { color: #69d891; }
.tt-masthead__fact-icon svg { width: 17px; height: 17px; }
.tt-masthead__fact small, .tt-masthead__fact b { display: block; min-width: 0; }
.tt-masthead__fact small { color: #98a3ad; font-size: .63rem; font-weight: 620; letter-spacing: .05em; text-transform: uppercase; }
.tt-masthead__fact b { margin-top: 3px; overflow-wrap: anywhere; color: #fff; font-size: .82rem; font-weight: 630; line-height: 1.3; }
.tt-masthead__after { margin-top: 0; padding: 10px var(--tt-stage-inline) 12px; border-top: 1px solid var(--tt-border); background: #fff; }
.tt-masthead__after .tt-topic-chips { margin: 0; padding: 0; border: 0; }
.tt-masthead-search { max-width: 760px; padding: 7px; border: 0; border-radius: 16px; background: #fff; box-shadow: var(--tt-shadow-xs); }
.tt-masthead--commerce, .tt-masthead--product, .tt-masthead--contact, .tt-masthead--pricing, .tt-masthead--woo-flow, .tt-masthead--notfound, .tt-masthead--press, .tt-masthead--brand { --tt-mast-accent: var(--tt-brand-secondary); }
.tt-masthead--library, .tt-masthead--article, .tt-masthead--stores { --tt-mast-accent: var(--tt-brand-primary); }

/* Internal page rhythm: one vertical contract after the canonical masthead. */
.tt-library-body, .tt-commerce-body, .tt-product-detail-shell, .tt-woo-flow-body, .tt-404-body, .tt-standard-page > .tt-section { padding-block: var(--tt-page-section); }
.tt-masthead + .tt-section { padding-top: var(--tt-page-start); }
.tt-article-page > .tt-masthead + .tt-content-layout { padding-top: var(--tt-page-start); padding-bottom: var(--tt-page-section); }
.tt-comments-section, .tt-related-section { padding-block: var(--tt-page-section); }
@media (hover:hover) and (pointer:fine) {
  .tt-masthead__frame:hover::after { opacity: 1; }
  .tt-masthead__fact:hover .tt-masthead__fact-icon { box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%), 0 8px 22px rgb(0 0 0 / 18%); }
}

.tt-library-body { background: radial-gradient(42rem 30rem at -8% 12%, rgb(13 176 75 / 5%), transparent 62%), linear-gradient(180deg, #fff 0%, #f8fbf9 100%); }
.tt-library-body--page { padding-top: var(--tt-page-start); }
.tt-library-feed__main { min-width: 0; }
.tt-topic-chips { margin-top: 10px; padding-top: 0; border-top: 0; }
.tt-topic-chips__track { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 8px; scrollbar-width: thin; scroll-snap-type: x proximity; }
.tt-topic-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 11px 7px 13px; border: 1px solid rgb(13 17 23 / 10%); border-radius: 999px; background: rgb(255 255 255 / 72%); color: var(--tt-ink); font-size: .78rem; font-weight: 570; text-decoration: none; scroll-snap-align: start; }
.tt-topic-chip small { display: grid; place-items: center; min-width: 22px; height: 22px; padding-inline: 5px; border-radius: 999px; background: #eef4f0; color: var(--tt-muted); font-size: .66rem; }
.tt-topic-chip:hover, .tt-topic-chip.is-current { border-color: rgb(13 176 75 / 38%); background: #eff9f2; color: var(--tt-brand-primary-ink); }
.tt-feature-story { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); min-height: 380px; margin-bottom: clamp(30px, 4vw, 48px); overflow: hidden; border: 1px solid var(--tt-border); border-radius: var(--tt-radius-xl); background: linear-gradient(135deg, #fff, #f8fcf9 68%, #fff7ed); box-shadow: var(--tt-shadow); }
.tt-feature-story__media { min-height: 100%; overflow: hidden; background: #edf3ef; }
.tt-feature-story__media img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.tt-feature-story:hover .tt-feature-story__media img { transform: scale(1.025); }
.tt-feature-story__placeholder { display: grid; place-items: center; min-height: 380px; color: var(--tt-brand-primary-ink); }
.tt-feature-story__placeholder svg { width: 52px; height: 52px; }
.tt-feature-story__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 3.2vw, 44px); }
.tt-feature-story__body h2 { font-size: clamp(1.75rem, 2.5vw, 2.65rem); line-height: 1.09; }
.tt-feature-story__body h2 a { color: var(--tt-ink); text-decoration: none; }
.tt-feature-story__body p { color: var(--tt-muted); line-height: 1.72; }
.tt-feature-story__meta { display: flex; flex-wrap: wrap; gap: 9px 14px; margin: 5px 0 20px; color: var(--tt-muted); font-size: .75rem; }
.tt-feature-story__meta span { display: inline-flex; align-items: center; gap: 5px; }
.tt-feature-story__meta svg { width: 14px; height: 14px; }
.tt-post-grid, .tt-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--tt-gap); }
.tt-library-feed .tt-post-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.tt-post-card__excerpt { color: var(--tt-muted); font-size: .89rem; line-height: 1.63; }
.tt-product-card__cats { margin-bottom: 5px; color: var(--tt-muted); font-size: .72rem; }
.tt-product-card__cats a { text-decoration: none; }
.tt-product-card__price { margin-block: 8px 10px; color: var(--tt-brand-primary-ink); font-size: 1.03rem; font-weight: 660; }
.tt-product-card__stock { margin-bottom: 13px; color: var(--tt-muted); font-size: .8rem; }
.navigation.pagination { margin-top: 30px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.page-numbers { display: grid; place-items: center; min-width: 40px; min-height: 40px; padding: 7px 10px; border: 1px solid var(--tt-border); border-radius: 11px; background: #fff; color: var(--tt-ink); font-size: .79rem; text-decoration: none; }
.page-numbers.current, a.page-numbers:hover { border-color: rgb(13 176 75 / 40%); background: #eff9f2; color: var(--tt-brand-primary-ink); }
.tt-empty-state { padding: clamp(30px, 5vw, 60px); border: 1px dashed var(--tt-border-strong); border-radius: var(--tt-radius-lg); background: #fbfdfc; text-align: center; }
.tt-empty-state > span { display: inline-grid; place-items: center; width: 52px; height: 52px; margin-bottom: 12px; border-radius: 15px; background: #ecf8f0; color: var(--tt-brand-primary-ink); }
.tt-empty-state > span svg { width: 24px; height: 24px; }

/* Search + sidebars */
.tt-search-form, .woocommerce-product-search { display: flex; min-width: 0; }
.tt-search-form label, .woocommerce-product-search { flex: 1 1 auto; }
.tt-search-form input, .woocommerce-product-search input.search-field { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--tt-border-strong); border-radius: 12px 0 0 12px; background: #fff; color: var(--tt-ink); }
.tt-search-form button, .woocommerce-product-search button { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid var(--tt-brand-primary); border-radius: 0 12px 12px 0; background: var(--tt-brand-primary); color: #06140b; font-weight: 600; }
.tt-search-form button svg { width: 18px; height: 18px; }
.tt-sidebar, .tt-shop-sidebar { display: grid; gap: 14px; align-content: start; min-width: 0; }
.tt-sidebar-card { position: relative; overflow: hidden; padding: 18px; border: 0; border-radius: 20px; background: #fff; box-shadow: var(--tt-shadow-xs); }
.tt-sidebar-card::before { content: none; }
.tt-sidebar-card__head { display: flex; gap: 10px; align-items: center; margin-bottom: 13px; }
.tt-sidebar-card__head > svg { flex: 0 0 auto; width: 34px; height: 34px; padding: 8px; border-radius: 10px; background: #edf8f1; color: var(--tt-brand-primary-ink); }
.tt-sidebar-card__head span { display: block; color: var(--tt-muted); font-size: .66rem; font-weight: 620; letter-spacing: .08em; text-transform: uppercase; }
.tt-sidebar-card__head h2, .tt-sidebar-card__title { margin: 1px 0 0; font-size: 1rem; font-weight: 640; }
.tt-sidebar-links { display: grid; gap: 2px; }
.tt-sidebar-links a { display: flex; justify-content: space-between; gap: 12px; padding: 8px 9px; border-radius: 10px; color: var(--tt-ink); font-size: .8rem; text-decoration: none; }
.tt-sidebar-links a:hover { background: #f4faf6; color: var(--tt-brand-primary-ink); }
.tt-sidebar-links small { color: var(--tt-muted); }
.tt-sidebar-mini { display: grid; gap: 5px; }
.tt-sidebar-mini > a { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 10px; align-items: center; padding: 7px; border-radius: 11px; color: var(--tt-ink); text-decoration: none; }
.tt-sidebar-mini > a:hover { background: #f5faf7; }
.tt-sidebar-mini__media { display: grid; place-items: center; width: 54px; height: 54px; overflow: hidden; border-radius: 10px; background: #eef4f0; color: var(--tt-brand-primary-ink); }
.tt-sidebar-mini__media img { width: 100%; height: 100%; object-fit: cover; }
.tt-sidebar-mini__media svg { width: 21px; height: 21px; }
.tt-sidebar-mini__copy { min-width: 0; }
.tt-sidebar-mini b { display: -webkit-box; overflow: hidden; color: var(--tt-ink); font-size: .78rem; font-weight: 610; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tt-sidebar-mini small { display: block; margin-top: 3px; color: var(--tt-muted); font-size: .67rem; }
.tt-shop-mini { display: grid; gap: 5px; }
.tt-shop-mini > a { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 10px; align-items: center; padding: 7px; border-radius: 11px; color: var(--tt-ink); text-decoration: none; }
.tt-shop-mini > a:hover { background: #f5faf7; }
.tt-shop-mini__media { display: grid; place-items: center; width: 54px; height: 54px; overflow: hidden; border-radius: 10px; background: #f3f6f4; }
.tt-shop-mini__media img { width: 100%; height: 100%; object-fit: cover; }
.tt-shop-mini b, .tt-shop-mini small { display: block; }
.tt-shop-mini b { font-size: .78rem; font-weight: 610; line-height: 1.35; }
.tt-shop-mini small { margin-top: 3px; color: var(--tt-brand-primary-ink); font-size: .74rem; }
.tt-sidebar-card--support { background: radial-gradient(18rem 12rem at 100% 0%, rgb(246 146 30 / 13%), transparent 64%), var(--tt-obsidian); color: #dce2e6; box-shadow: 0 18px 46px rgb(8 12 16 / 14%); }
.tt-sidebar-card--support::before { content: ""; position: absolute; top: 0; left: 18px; width: 58px; height: 3px; border-radius: 0 0 999px 999px; background: var(--tt-brand-secondary); }
.tt-sidebar-card--support .tt-sidebar-card__head h2, .tt-sidebar-card--support strong { color: #fff; }
.tt-sidebar-card--support .tt-sidebar-card__head span, .tt-sidebar-card--support p { color: #aec1ca; }
.tt-sidebar-card--support .tt-sidebar-card__head > svg { background: rgb(255 255 255 / 8%); color: #8ef0b2; }
.tt-sidebar-support__actions { display: grid; gap: 8px; margin-top: 14px; }
.tt-sidebar-support__actions .tt-btn { width: 100%; }

/* Article detail */
.tt-article-meta { display: flex; flex-wrap: wrap; gap: 7px 9px; margin-top: 18px; }
.tt-article-meta span, .tt-article-meta a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 5px 9px; border: 1px solid rgb(209 221 225 / 78%); border-radius: 999px; background: rgb(255 255 255 / 78%); color: var(--tt-muted); font-size: .75rem; text-decoration: none; box-shadow: 0 4px 12px rgb(7 21 34 / 3%); }
.tt-article-meta a:hover { color: var(--tt-brand-primary-ink); }
.tt-article-meta svg { width: 15px; height: 15px; color: var(--tt-brand-primary-ink); }
.tt-article-page .tt-content-layout { padding-bottom: var(--tt-page-section); }
.tt-prose--article { width: 100%; max-width: none; padding: clamp(22px, 2.8vw, 38px); border: 1px solid rgb(214 225 228 / 88%); border-radius: 24px; background: linear-gradient(180deg, #fff 0%, #fdfefd 100%); box-shadow: var(--tt-shadow-sm); font-size: 1.035rem; line-height: 1.8; }
.tt-prose--article > p:first-of-type { margin-top: 0; font-size: 1.075em; color: #2d3a4b; }
.tt-prose--article h2 { position: relative; margin-top: 1.75em; padding-left: 18px; font-size: clamp(1.5rem, 2vw, 2.08rem); }
.tt-prose--article h2::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 3px; border-radius: 999px; background: var(--tt-brand-secondary); }
.tt-prose--article h3 { font-size: clamp(1.25rem, 1.6vw, 1.6rem); }
.tt-prose--article ul, .tt-prose--article ol { padding-left: 1.2em; }
.tt-prose--article li + li { margin-top: .35em; }
.tt-article-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--tt-border); }
.tt-article-tags > svg { width: 17px; height: 17px; color: var(--tt-brand-primary-ink); }
.tt-article-tags a { padding: 5px 9px; border: 1px solid var(--tt-border); border-radius: 999px; background: #fff; color: var(--tt-muted); font-size: .74rem; text-decoration: none; }
.tt-author-box { display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 15px; align-items: center; margin-top: 30px; padding: 18px; border: 1px solid var(--tt-border); border-radius: 18px; background: linear-gradient(135deg, #f8fcf9, #fff8ef); }
.tt-author-box__avatar img { width: 64px; height: 64px; border-radius: 50%; }
.tt-author-box span { color: var(--tt-muted); font-size: .68rem; font-weight: 620; letter-spacing: .08em; text-transform: uppercase; }
.tt-author-box h2 { margin: 2px 0 3px; font-size: 1rem; }
.tt-author-box p { margin: 0; color: var(--tt-muted); font-size: .84rem; }
.tt-post-navigation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.tt-post-navigation__item { display: grid; gap: 4px; min-width: 0; padding: 14px 15px; border: 1px solid var(--tt-border); border-radius: 14px; background: #fff; color: var(--tt-ink); text-decoration: none; }
.tt-post-navigation__item:hover { border-color: rgb(13 176 75 / 34%); background: #f8fcf9; }
.tt-post-navigation__item--next { text-align: right; }
.tt-post-navigation__item small { color: var(--tt-muted); font-size: .67rem; }
.tt-post-navigation__item strong { display: -webkit-box; overflow: hidden; font-size: .82rem; font-weight: 610; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tt-related-section { border-top: 1px solid var(--tt-border); }

/* Comments */
.tt-comments-section { position: relative; overflow: clip; padding-block: var(--tt-page-section); background: radial-gradient(34rem 22rem at 100% 0%, rgb(246 146 30 / 9%), transparent 62%), radial-gradient(36rem 24rem at 0% 100%, rgb(13 176 75 / 9%), transparent 64%), #f7faf8; border-top: 1px solid var(--tt-border); }
.tt-comments-wrap { width: min(100%, 1180px); }
.tt-comments__intro { max-width: 680px; margin-bottom: 24px; }
.tt-comments__intro p { color: var(--tt-muted); }
.tt-comments__head { margin-bottom: 14px; }
.tt-comments__head h3 { font-size: 1.05rem; }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .children { list-style: none; margin: 10px 0 0; padding-left: 34px; }
.tt-comment { margin: 0 0 11px; }
.tt-comment__card { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 12px; padding: 16px; border: 1px solid var(--tt-border); border-radius: 16px; background: #fff; box-shadow: var(--tt-shadow-xs); transition: border-color .18s ease, transform .18s var(--tt-ease-out), box-shadow .18s ease; }
.tt-comment__card:hover { border-color: rgb(13 176 75 / 30%); transform: translateY(-1px); box-shadow: var(--tt-shadow-sm); }
.tt-comment__avatar img { width: 48px; height: 48px; border-radius: 50%; }
.tt-comment__meta { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.tt-comment__meta strong, .tt-comment__meta span { display: block; }
.tt-comment__meta strong { font-size: .88rem; }
.tt-comment__meta span { color: var(--tt-muted); font-size: .68rem; }
.tt-comment__meta .comment-reply-link { color: var(--tt-brand-primary-ink); font-size: .72rem; font-weight: 600; text-decoration: none; }
.tt-comment__text { margin-top: 8px; color: var(--tt-ink-soft); font-size: .9rem; }
.tt-comment__text p:last-child { margin-bottom: 0; }
.tt-comment__pending { margin: 7px 0 0; color: var(--tt-brand-secondary-ink); font-size: .76rem; }
.tt-comment-form-shell { margin-top: 24px; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--tt-border); border-radius: 22px; background: #fff; box-shadow: var(--tt-shadow-sm); }
.tt-comment-form__head { max-width: 620px; margin-bottom: 18px; }
.tt-comment-form__head h3 { margin-bottom: 5px; font-size: 1.35rem; }
.tt-comment-form__note { margin: 0; color: var(--tt-muted); font-size: .8rem; }
.comment-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.comment-form p { margin: 0; }
.comment-form-author, .comment-form-email { min-width: 0; }
.comment-form-comment, .comment-form-cookies-consent, .form-submit, .logged-in-as { grid-column: 1 / -1; }
.comment-form label { display: block; margin-bottom: 5px; color: var(--tt-ink-soft); font-size: .78rem; font-weight: 590; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form textarea { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--tt-border-strong); border-radius: 12px; background: #fff; color: var(--tt-ink); transition: border-color .16s ease, box-shadow .16s ease; }
.comment-form input:focus, .comment-form textarea:focus { border-color: var(--tt-brand-primary); box-shadow: 0 0 0 4px rgb(13 176 75 / 10%); }
.comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; color: var(--tt-muted); font-size: .78rem; }
.comment-form-cookies-consent input { margin-top: 4px; }
.comment-form-cookies-consent label { margin: 0; font-weight: 400; }
.tt-comment-submit { min-height: 45px; padding: 9px 17px; border: 1px solid var(--tt-brand-primary); border-radius: 14px; background: var(--tt-brand-primary); color: #06140b; font-weight: 600; }

/* WooCommerce archive */
.tt-commerce-body { background: radial-gradient(42rem 26rem at 100% 4%, rgb(246 146 30 / 6%), transparent 62%), linear-gradient(180deg, #fff 0%, var(--tt-ivory) 100%); }
.tt-commerce-results { min-width: 0; }
.tt-commerce-results__head { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; padding: 0 0 12px; border: 0; border-bottom: 1px solid rgb(13 17 23 / 10%); background: transparent; box-shadow: none; }
.tt-commerce-results__head::before { content: none; }
.tt-commerce-results__head::after { content: ""; display: table; clear: both; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; margin: 0; }
.woocommerce .woocommerce-result-count { color: var(--tt-muted); font-size: .78rem; }
.woocommerce .woocommerce-ordering select { min-height: 40px; padding: 7px 34px 7px 10px; border: 1px solid var(--tt-border-strong); border-radius: 11px; background: #fff; color: var(--tt-ink); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--tt-gap); margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { position: relative; float: none; width: auto; margin: 0; overflow: hidden; border: 0; border-radius: 20px; background: #fff; box-shadow: var(--tt-shadow-xs); transition: transform .22s var(--tt-ease-out), box-shadow .22s ease; }
.woocommerce ul.products li.product::before { content: none; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--tt-shadow); }
.woocommerce ul.products li.product a img { width: 100%; margin: 0; aspect-ratio: 1 / .82; object-fit: contain; padding: 10px; background: radial-gradient(circle at 30% 20%, #fff 0%, #f4f7f5 70%); transition: transform .32s var(--tt-ease-out); }
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 14px 14px 4px; font-size: 1rem; font-weight: 630; line-height: 1.3; }
.woocommerce ul.products li.product .price { display: block; padding-inline: 14px; color: var(--tt-brand-secondary-ink); font-size: 1rem; font-weight: 690; }
.woocommerce ul.products li.product .star-rating { margin: 8px 14px 0; }
.woocommerce ul.products li.product .button { display: inline-flex; justify-content: center; min-height: 44px; margin: 11px 14px 14px; padding: 9px 13px; border: 0; border-radius: 12px; background: var(--tt-brand-secondary); color: var(--tt-obsidian); font-size: .82rem; font-weight: 640; box-shadow: var(--tt-shadow-xs); }
.woocommerce ul.products li.product .button:hover { background: #ffa136; color: var(--tt-obsidian); }
.woocommerce span.onsale { min-width: auto; min-height: auto; margin: 10px; padding: 5px 8px; border-radius: 999px; background: var(--tt-brand-secondary); color: #221205; font-size: .7rem; line-height: 1; }

/* WooCommerce product detail */
.tt-product-detail-shell { padding-block: var(--tt-page-section); background: radial-gradient(36rem 22rem at 100% 20%,rgb(246 146 30 / 5%),transparent 66%),linear-gradient(180deg,#fff 0%,var(--tt-ivory) 100%); }
.woocommerce div.product { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.84fr); gap: clamp(22px,3vw,36px); align-items: start; }
.woocommerce div.product div.images,.woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images { grid-column: 1; position: relative; overflow: hidden; padding: clamp(15px,1.8vw,22px); border: 0; border-radius: 24px; background: radial-gradient(circle at 22% 14%,#fff 0%,#f2f0eb 76%); box-shadow: var(--tt-shadow-xs); }
.woocommerce div.product div.images::before { content: none; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { display: grid; place-items: center; min-height: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { width: 100%; }
.woocommerce div.product div.images .woocommerce-product-gallery__image a { display: grid; place-items: center; }
.woocommerce div.product div.images img { width: 100%; max-height: 560px; object-fit: contain; }
.woocommerce div.product div.summary { grid-column: 2; position: relative; overflow: hidden; padding: clamp(22px,2.6vw,34px); border: 0; border-radius: 24px; background: radial-gradient(20rem 14rem at 100% 0,rgb(246 146 30 / 7%),transparent 62%),#fff; box-shadow: var(--tt-shadow); }
.woocommerce div.product div.summary::before { content: none; }
.woocommerce div.product .product_title { font-size: clamp(1.9rem,3vw,3rem); font-weight: 680; line-height: 1.08; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color: var(--tt-brand-secondary-ink); font-size: clamp(1.6rem,2.35vw,2.1rem); font-weight: 720; letter-spacing: -.025em; }
.woocommerce div.product p.price del,.woocommerce div.product span.price del { color: #7f8a95; font-size: .75em; opacity: .82; }
.woocommerce div.product .woocommerce-product-details__short-description { margin-top: 16px; color: var(--tt-muted); font-size: .97rem; line-height: 1.72; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 10px; }
.woocommerce .quantity .qty { min-height: 48px; border: 1px solid var(--tt-border-strong); border-radius: 12px; }
.woocommerce div.product form.cart .button { flex: 1 1 210px; min-height: 50px; padding: 11px 18px; border-radius: 13px; background: var(--tt-brand-secondary); color: var(--tt-obsidian); font-size: .92rem; font-weight: 660; box-shadow: 0 14px 32px rgb(246 146 30 / 18%); }
.woocommerce div.product form.cart .button:hover { transform: translateY(-1px); background: #ffa136; box-shadow: 0 18px 38px rgb(246 146 30 / 23%); }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; }
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td { padding-block: 5px; }
.woocommerce div.product form.cart .variations select { min-height: 44px; padding: 8px 10px; border: 1px solid var(--tt-border-strong); border-radius: 11px; }
.woocommerce div.product .product_meta { display: grid; gap: 5px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--tt-border); color: var(--tt-muted); font-size: .77rem; }
.tt-product-conversion { position: relative; overflow: hidden; margin-top: 18px; padding: 19px; border: 0; border-radius: 19px; background: radial-gradient(22rem 14rem at 100% 0,rgb(246 146 30 / 14%),transparent 62%),radial-gradient(18rem 12rem at 0 100%,rgb(13 176 75 / 10%),transparent 64%),var(--tt-obsidian); color: #e9eef1; box-shadow: 0 20px 52px rgb(8 12 16 / 20%); }
.tt-product-conversion::after { content: ""; position: absolute; width: 110px; height: 110px; right: -54px; bottom: -58px; border: 20px solid rgb(246 146 30 / 12%); border-radius: 50%; }
.tt-product-conversion > * { position: relative; z-index: 1; }
.tt-product-conversion__eyebrow { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 8px; color: #bdf3d0; font-size: .69rem; font-weight: 650; letter-spacing: .075em; text-transform: uppercase; }
.tt-product-conversion__eyebrow svg { width: 16px; height: 16px; color: var(--tt-brand-secondary); }
.tt-product-conversion > strong { display: block; max-width: 31ch; color: #fff; font-size: 1.05rem; line-height: 1.35; }
.tt-product-conversion > p { margin: 7px 0 12px; color: #b9cbd3; font-size: .84rem; line-height: 1.62; }
.tt-product-conversion__checks { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-bottom: 13px; color: #d7e5ea; font-size: .75rem; }
.tt-product-conversion__checks span { display: inline-flex; align-items: center; gap: 6px; }
.tt-product-conversion__checks svg { width: 14px; height: 14px; color: #65dc90; }
.tt-product-conversion__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.tt-product-conversion__actions .tt-btn { min-height: 42px; padding: 8px 11px; font-size: .76rem; box-shadow: none; }
.tt-product-conversion__actions .tt-btn--ghost { border-color: rgb(255 255 255 / 24%); background: rgb(255 255 255 / 8%); color: #fff; }
.tt-product-conversion__actions .tt-text-link { min-height: 42px; color: #fff; }
.tt-product-conversion__actions .tt-text-link:hover { color: #ffd29c; }
.tt-product-support { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-top: 14px; }
.tt-product-support > a,.tt-product-support > div { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px; border: 0; border-radius: 13px; background: #f5f4f0; color: var(--tt-ink); text-decoration: none; }
.tt-product-support svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--tt-brand-primary-ink); }
.tt-product-support small,.tt-product-support strong { display: block; }
.tt-product-support small { color: var(--tt-muted); font-size: .61rem; }
.tt-product-support strong { font-size: .72rem; font-weight: 600; line-height: 1.3; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; clear: both; margin-top: 30px; padding: clamp(20px, 2.8vw, 34px); border: 0; border-radius: 22px; background: #fff; box-shadow: var(--tt-shadow-xs); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 7px; overflow-x: auto; margin: 0 0 22px; padding: 0 0 9px; scrollbar-width: thin; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--tt-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; margin: 0; padding: 0; border: 1px solid var(--tt-border); border-radius: 999px; background: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 8px 13px; color: var(--tt-muted); font-size: .8rem; font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: rgb(246 146 30 / 42%); background: #fff1df; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--tt-brand-secondary-ink); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--tt-ink-soft); line-height: 1.72; }
.woocommerce #reviews #comments ol.commentlist { padding: 0; }
.woocommerce #reviews #comments ol.commentlist li { margin-bottom: 12px; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { margin-left: 60px; padding: 14px; border: 1px solid var(--tt-border); border-radius: 14px; }
.woocommerce #review_form #respond { padding: 18px; border: 1px solid var(--tt-border); border-radius: 16px; background: #f9fbfa; }
.woocommerce #review_form #respond textarea, .woocommerce #review_form #respond input[type="text"], .woocommerce #review_form #respond input[type="email"] { width: 100%; padding: 9px 11px; border: 1px solid var(--tt-border-strong); border-radius: 11px; }
.woocommerce .related.products, .woocommerce .upsells.products { grid-column: 1 / -1; clear: both; margin-top: 42px; }
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2 { margin-bottom: 20px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 13px; border-top-width: 3px; box-shadow: var(--tt-shadow-xs); }

/* Woo cart / checkout / account */
.tt-woo-flow-hero { padding-bottom: clamp(30px, 3.8vw, 48px); }
.tt-checkout-steps { margin-top: 24px; padding-top: 18px; border-top: 1px solid rgb(206 219 223 / 78%); }
.tt-checkout-steps ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; max-width: 700px; margin: 0; padding: 0; list-style: none; }
.tt-checkout-step { position: relative; min-width: 0; }
.tt-checkout-step::after { content: ""; position: absolute; top: 18px; left: calc(50% + 22px); right: calc(-50% + 22px); height: 1px; background: var(--tt-border-strong); }
.tt-checkout-step:last-child::after { display: none; }
.tt-checkout-step > a, .tt-checkout-step__inner { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; color: var(--tt-muted); text-decoration: none; }
.tt-checkout-step > a > span, .tt-checkout-step__inner > span { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid var(--tt-border-strong); border-radius: 50%; background: #fff; color: var(--tt-muted); font-size: .76rem; font-weight: 650; box-shadow: var(--tt-shadow-xs); }
.tt-checkout-step b { font-size: .78rem; font-weight: 620; }
.tt-checkout-step.is-done > a > span, .tt-checkout-step.is-current .tt-checkout-step__inner > span { border-color: transparent; background: linear-gradient(145deg, var(--tt-brand-primary), var(--tt-brand-secondary)); color: #08160d; }
.tt-checkout-step.is-done::after { background: linear-gradient(90deg, var(--tt-brand-primary), rgb(246 146 30 / 58%)); }
.tt-checkout-step.is-current b, .tt-checkout-step.is-done b { color: var(--tt-ink); }
.tt-woo-flow-body { background: radial-gradient(38rem 24rem at 100% 0%, rgb(13 176 75 / 6%), transparent 62%), linear-gradient(180deg, #fff 0%, #f7faf8 100%); }
.tt-woo-flow-shell { max-width: 1160px; }
.tt-woo-flow-shell > article > .woocommerce { min-width: 0; }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-order, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2, .woocommerce-checkout #order_review, .woocommerce-order, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { border: 1px solid var(--tt-border); border-radius: 20px; background: #fff; box-shadow: var(--tt-shadow-sm); }
.woocommerce-cart-form { padding: clamp(14px, 2.2vw, 24px); }
.woocommerce-cart-form table.shop_table, .cart_totals table.shop_table, .woocommerce-checkout-review-order-table { border: 0; border-collapse: separate; border-spacing: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px; border-color: #e5ecee; }
.woocommerce table.shop_table th { color: var(--tt-muted); font-size: .75rem; font-weight: 650; letter-spacing: .02em; }
.woocommerce-cart-form .product-thumbnail img { width: 76px; border-radius: 12px; background: #f4f7f5; }
.woocommerce-cart-form .product-name a { color: var(--tt-ink); font-weight: 620; text-decoration: none; }
.woocommerce-cart-form .product-remove a { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #efdddd; border-radius: 50%; background: #fff8f8; color: #9b2c2c; text-decoration: none; }
.woocommerce-cart-form .actions { padding-top: 16px; }
.woocommerce-cart-form .coupon { display: flex; gap: 8px; align-items: center; }
.woocommerce-cart-form .coupon .input-text { min-height: 44px; min-width: 180px; padding: 9px 11px; border: 1px solid var(--tt-border-strong); border-radius: 11px; }
.woocommerce .cart-collaterals { margin-top: 22px; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: min(100%, 500px); margin-left: auto; padding: clamp(18px,2.5vw,28px); }
.cart_totals h2, .woocommerce-checkout h3, .woocommerce-order h2, .woocommerce-MyAccount-content h2 { font-size: clamp(1.22rem, 1.8vw, 1.55rem); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button { min-height: 44px; padding: 9px 16px; border: 1px solid transparent; border-radius: 12px; background: var(--tt-brand-primary); color: #06140b; font-size: .86rem; font-weight: 620; line-height: 1.2; box-shadow: var(--tt-shadow-xs); transition: transform .18s var(--tt-ease-out), box-shadow .18s ease, background .18s ease; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:hover { background: #18bd56; color: #06140b; transform: translateY(-1px); box-shadow: var(--tt-shadow-sm); }
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible, .woocommerce input.button:focus-visible, .wc-block-components-button:focus-visible, .woocommerce-cart-form .product-remove a:focus-visible { outline: 3px solid var(--tt-focus); outline-offset: 3px; }
.woocommerce .checkout-button, .woocommerce #place_order, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width: 100%; min-height: 50px; background: linear-gradient(135deg, var(--tt-brand-primary), #42c875); }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); gap: clamp(20px,3vw,34px); align-items: start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { min-width: 0; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; padding: clamp(18px,2.4vw,28px); }
.woocommerce-checkout .col2-set .col-2 { margin-top: 14px; }
.woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0 0 -14px; }
.woocommerce-checkout #order_review { position: sticky; top: calc(var(--tt-header-h) + 18px); grid-column: 2; padding: clamp(18px,2.4vw,28px); }
.woocommerce form .form-row { margin: 0 0 13px; padding: 0; }
.woocommerce form .form-row label { margin-bottom: 5px; color: var(--tt-ink-soft); font-size: .77rem; font-weight: 590; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 44px; padding: 9px 11px; border: 1px solid var(--tt-border-strong); border-radius: 11px; background: #fff; color: var(--tt-ink); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus { border-color: var(--tt-brand-primary); box-shadow: 0 0 0 4px rgb(13 176 75 / 10%); }
.woocommerce-checkout #payment { overflow: hidden; border: 1px solid var(--tt-border); border-radius: 15px; background: #f8fbf9; box-shadow: inset 0 1px 0 rgb(255 255 255 / 72%); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--tt-border); }
.woocommerce-checkout #payment div.payment_box { border-radius: 11px; background: #eef7f1; color: var(--tt-ink-soft); }
.woocommerce-order .woocommerce-thankyou-order-received { padding: 14px 16px; border: 1px solid rgb(13 176 75 / 28%); border-radius: 14px; background: #eff9f2; color: #075f2a; font-weight: 620; }
.woocommerce-order { padding: clamp(20px,3vw,34px); }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 20px 0; padding: 0; }
.woocommerce ul.order_details li { margin: 0; padding: 11px 12px; border: 1px solid var(--tt-border); border-radius: 12px; background: #fbfdfc; color: var(--tt-muted); font-size: .68rem; }
.woocommerce ul.order_details li strong { margin-top: 3px; color: var(--tt-ink); font-size: .82rem; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 20px; }
.woocommerce-MyAccount-navigation { padding: 10px; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation a { display: block; padding: 9px 10px; border-radius: 10px; color: var(--tt-ink); font-size: .8rem; text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: #eff9f2; color: var(--tt-brand-primary-ink); }
.woocommerce-MyAccount-content { padding: clamp(18px,2.5vw,28px); }

/* Woo Blocks: cart / checkout */
.tt-woo-flow-shell .wc-block-cart, .tt-woo-flow-shell .wc-block-checkout { margin: 0; }
.tt-woo-flow-shell .wc-block-components-sidebar-layout { gap: clamp(18px,3vw,34px); }
.tt-woo-flow-shell .wc-block-components-main, .tt-woo-flow-shell .wc-block-components-sidebar { min-width: 0; }
.tt-woo-flow-shell .wc-block-components-order-summary, .tt-woo-flow-shell .wc-block-cart-items, .tt-woo-flow-shell .wp-block-woocommerce-checkout-order-summary-block, .tt-woo-flow-shell .wp-block-woocommerce-checkout-contact-information-block, .tt-woo-flow-shell .wp-block-woocommerce-checkout-shipping-address-block, .tt-woo-flow-shell .wp-block-woocommerce-checkout-billing-address-block, .tt-woo-flow-shell .wp-block-woocommerce-checkout-payment-block { border-color: var(--tt-border); border-radius: 16px; background: #fff; }
.tt-woo-flow-shell .wc-block-components-text-input input, .tt-woo-flow-shell .wc-block-components-combobox-control input { border-color: var(--tt-border-strong); border-radius: 11px; }
.tt-woo-flow-shell .wc-block-components-text-input input:focus, .tt-woo-flow-shell .wc-block-components-combobox-control input:focus { box-shadow: 0 0 0 4px rgb(13 176 75 / 10%); }

/* 404 */
.tt-404-body { background: linear-gradient(180deg,#fff,#f6faf7); }
.tt-404-links { display: grid; gap: 10px; }
.tt-404-links > a { display: grid; grid-template-columns: 46px minmax(0,1fr) 20px; gap: 12px; align-items: center; padding: 15px; border: 1px solid var(--tt-border); border-radius: 17px; background: rgb(255 255 255 / 90%); color: var(--tt-ink); text-decoration: none; box-shadow: var(--tt-shadow-sm); transition: transform .2s var(--tt-ease-out), border-color .18s ease, box-shadow .18s ease; }
.tt-404-links > a:hover { transform: translateX(-4px); border-color: rgb(13 176 75 / 34%); box-shadow: var(--tt-shadow); }
.tt-404-links > a > span:first-child { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(145deg,rgb(13 176 75 / 13%),rgb(246 146 30 / 13%)); color: var(--tt-brand-primary-ink); }
.tt-404-links > a > span:first-child svg { width: 21px; height: 21px; }
.tt-404-links > a > svg { width: 18px; height: 18px; color: var(--tt-brand-primary-ink); }
.tt-404-links strong, .tt-404-links small { display: block; }
.tt-404-links strong { font-size: .92rem; font-weight: 640; }
.tt-404-links small { margin-top: 2px; color: var(--tt-muted); font-size: .74rem; }


/* Footer */
.tt-footer-cta { position: relative; overflow: clip; padding-block: 34px; background: linear-gradient(118deg, #0b1015 0%, #111820 62%, #17120d 100%); color: #fff; border-bottom: 3px solid var(--tt-brand-secondary); }
.tt-footer-cta::after { content: ""; position: absolute; width: 180px; height: 180px; right: 8%; top: -108px; border: 32px solid rgb(246 146 30 / 18%); border-radius: 50%; }
.tt-footer-cta__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; }
.tt-footer-cta h2 { max-width: 720px; margin-bottom: 0; color: #fff; font-size: clamp(1.5rem, 2.4vw, 2.25rem); }
.tt-footer-cta .tt-eyebrow { color: #d8fce4; }
.tt-footer-cta__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.tt-footer { position: relative; overflow: clip; background: radial-gradient(34rem 24rem at 96% 16%, rgb(246 146 30 / 10%), transparent 64%), radial-gradient(28rem 20rem at 8% 92%, rgb(13 176 75 / 8%), transparent 64%), var(--tt-obsidian); color: #d7e3e9; }
.tt-footer::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px); background-size: 46px 46px; pointer-events: none; }
.tt-footer::after { content: ""; position: absolute; width: 330px; height: 330px; right: -170px; bottom: -170px; border: 55px solid rgb(13 176 75 / 7%); border-radius: 50%; }
.tt-footer__brandline { display: block; height: 2px; background: var(--tt-brand-secondary); }
.tt-footer__brandline span { display: none; }
.tt-footer__main { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(260px, 1.25fr) .82fr .72fr 1fr; gap: clamp(24px, 3vw, 44px); padding-block: 48px 38px; }
.tt-footer__logo { display: inline-flex; text-decoration: none; }
.tt-footer__logo > span { position: relative; display: inline-flex; align-items: center; padding: 9px 12px; border: 1px solid rgb(255 255 255 / 14%); border-radius: 15px; background: #fff; box-shadow: 0 16px 40px rgb(0 0 0 / 18%); }
.tt-footer__logo > span::after { content: none; }
.tt-footer__logo img { width: 208px; max-height: 66px; object-fit: contain; object-position: left center; filter: none; opacity: 1; }
.tt-footer__statement { max-width: 390px; margin-top: 15px; color: #afc0c9; font-size: .88rem; line-height: 1.68; }
.tt-footer__facts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.tt-footer__facts span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid rgb(255 255 255 / 11%); border-radius: 999px; background: rgb(255 255 255 / 4%); color: #d7e3e9; font-size: .72rem; }
.tt-footer__facts svg { width: 14px; height: 14px; color: var(--tt-brand-primary); }
.tt-footer__legal { display: grid; gap: 4px; margin-top: 17px; color: #91a6b1; font-size: .72rem; }
.tt-footer__legal strong { color: #d7e3e9; font-weight: 600; }
.tt-footer__column h3 { margin-bottom: 13px; color: #fff; font-size: .96rem; letter-spacing: -.01em; }
.tt-footer__list { display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
.tt-footer__list li { display: flex; align-items: flex-start; gap: 8px; color: #afc0c9; font-size: .8rem; }
.tt-footer__list svg { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 3px; color: var(--tt-brand-secondary); }
.tt-footer__list a { color: #d7e3e9; text-decoration: none; }
.tt-footer__list a:hover { color: #fff; }
.tt-footer__list--links a { display: flex; align-items: center; gap: 7px; width: 100%; padding: 3px 0; }
.tt-footer__list--links a svg { width: 14px; height: 14px; margin: 0; color: var(--tt-brand-primary); transition: transform .16s ease; }
.tt-footer__list--links a:hover svg { transform: translateX(3px); }
.tt-footer__hotline { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; padding: 11px 12px; border: 1px solid rgb(255 255 255 / 13%); border-radius: 13px; background: rgb(255 255 255 / 5%); color: #fff; text-decoration: none; }
.tt-footer__hotline > svg { width: 21px; height: 21px; color: var(--tt-brand-secondary); }
.tt-footer__hotline small, .tt-footer__hotline strong { display: block; }
.tt-footer__hotline small { color: #9eb0ba; font-size: .65rem; }
.tt-footer__hotline strong { font-size: .95rem; font-weight: 630; }
.tt-footer__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 14px; margin-top: 14px; }
.tt-footer__actions .tt-btn { min-height: 41px; padding: 8px 12px; font-size: .78rem; }
.tt-footer__actions .tt-text-link { min-height: 41px; color: #fff; }
.tt-footer__actions .tt-text-link:hover { color: #ffd29c; }
.tt-footer .tt-btn--ghost { border-color: rgb(255 255 255 / 48%); background: #fff; color: var(--tt-ink); }
.tt-footer .tt-btn--ghost:hover { color: var(--tt-brand-primary-ink); }
.tt-footer .tt-btn--primary { color: #06140b; }
.tt-footer__bottom { position: relative; z-index: 1; border-top: 1px solid rgb(255 255 255 / 9%); }
.tt-footer__bottom-inner { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #8298a4; font-size: .7rem; }

/* Back to top + mobile dock */
.tt-backtop { position: fixed; z-index: 1210; right: max(18px, calc((100vw - var(--tt-container)) / 2)); bottom: 22px; display: flex; align-items: center; gap: 8px; min-height: 47px; padding: 6px 11px 6px 6px; border: 1px solid var(--tt-border); border-radius: 999px; background: rgb(255 255 255 / 96%); color: var(--tt-ink); box-shadow: var(--tt-shadow); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.tt-backtop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.tt-backtop__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--tt-brand-secondary); color: var(--tt-obsidian); }
.tt-backtop__icon svg { width: 17px; height: 17px; }
.tt-backtop__text { display: grid; text-align: left; line-height: 1.1; }
.tt-backtop__text strong { font-size: .74rem; font-weight: 620; }
.tt-backtop__text small { margin-top: 2px; color: var(--tt-muted); font-size: .61rem; }
.tt-mobile-dock { display: none; }

/* Motion */
.tt-motion-ready [data-tt-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .42s ease var(--tt-reveal-delay,0ms), transform .42s cubic-bezier(.2,.7,.2,1) var(--tt-reveal-delay,0ms); }
.tt-motion-ready [data-tt-reveal].is-revealed { opacity: 1; transform: none; }

/* WordPress/Woo utility */
.alignwide { max-width: 1120px; margin-inline: auto; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }


@media (max-width: 85.3125rem) { :root { --tt-gutter: 30px; } }
@media (max-width: 63.9375rem) { :root { --tt-gutter: 24px; } }
@media (max-width: 47.9375rem) { :root { --tt-gutter: 18px; --tt-section: 40px; --tt-page-start: 20px; --tt-page-section: 40px; } }
@media (max-width: 26.8125rem) { :root { --tt-gutter: 16px; } }

@media (max-width: 75rem) {
  :root { --tt-header-h: 70px; }
  .tt-nav { display: none; }
  .tt-header-tools { margin-left: auto; }
  .tt-header__actions { margin-left: 0; }
  .tt-menu-toggle { display: grid; }
  .tt-mobile-panel { position: fixed; z-index: 1100; inset: calc(35px + var(--tt-header-h)) 0 0 auto; display: flex; flex-direction: column; width: min(430px, 100vw); padding: 20px var(--tt-gutter) calc(26px + env(safe-area-inset-bottom)); background: rgb(251 248 242 / 99%); box-shadow: -28px 0 80px rgb(25 31 27 / 18%); overflow-y: auto; opacity: 0; visibility: hidden; transform: translateX(102%); transition: transform .22s ease, opacity .2s ease, visibility .2s ease; }
  .admin-bar .tt-mobile-panel { inset-block-start: calc(32px + 35px + var(--tt-header-h)); }
  .tt-mobile-panel.is-open { opacity: 1; visibility: visible; transform: none; }
  .tt-mobile-panel__head { padding-bottom: 14px; border-bottom: 1px solid var(--tt-border); }
  .tt-mobile-panel__head strong, .tt-mobile-panel__head span { display: block; }
  .tt-mobile-panel__head strong { font-size: 1.02rem; }
  .tt-mobile-panel__head span { margin-top: 3px; color: var(--tt-muted); font-size: .75rem; }
  .tt-mobile-panel__nav { padding-block: 12px; }
  .tt-mobile-menu-link, .tt-mobile-menu-group__all { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 4px; border-bottom: 1px solid rgb(70 58 43 / 10%); color: var(--tt-ink); font-size: .88rem; font-weight: 590; text-decoration: none; }
  .tt-mobile-menu-link svg, .tt-mobile-menu-group__all svg { width: 17px; height: 17px; color: var(--tt-brand-primary-ink); }
  .tt-mobile-menu-group { padding-bottom: 8px; }
  .tt-mobile-menu-group__links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 8px 0 4px 25px; }
  .tt-mobile-menu-group__links a { padding: 7px 8px; border-radius: 9px; background: #f3ede4; color: var(--tt-ink-soft); font-size: .76rem; text-decoration: none; }
  .tt-mobile-panel__actions { display: grid; gap: 8px; margin-top: auto; padding-top: 12px; }
  .tt-mobile-panel__actions .tt-text-link { justify-content: center; min-height: 44px; }
  .tt-content-layout, .tt-content-layout--article, .tt-content-layout--shop { grid-template-columns: minmax(0,1fr) 274px; gap: 28px; }
  .tt-library-feed .tt-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tt-footer__main { grid-template-columns: 1.25fr 1fr 1fr; }
  .tt-footer__contact { grid-column: span 3; display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 18px; align-items: start; }
  .tt-footer__contact > h3 { grid-column: 1 / -1; margin-bottom: -6px; }
  .tt-footer__contact .tt-footer__hotline { margin: 0; }
  .tt-footer__contact .tt-footer__actions { margin: 0; align-self: center; }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 64rem) {
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { grid-column: 1; }
  .tt-product-support { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tt-content-layout, .tt-content-layout--article, .tt-content-layout--shop { grid-template-columns: 1fr; }
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; }
  .woocommerce-checkout #order_review_heading { margin: 4px 0 -10px; }
  .woocommerce-checkout #order_review { position: static; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
  .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
  .tt-404-links { max-width: 720px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tt-404-links > a { grid-template-columns: 42px minmax(0,1fr); }
  .tt-404-links > a > svg { display: none; }
  .tt-sidebar, .tt-shop-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tt-sidebar-card--search { grid-column: 1 / -1; }
  .tt-feature-story { grid-template-columns: 1.1fr .9fr; }
  .tt-feature-story__media img, .tt-feature-story__placeholder { min-height: 340px; }
}

@media (max-width: 782px) {
  .admin-bar .tt-header { top: 46px; }
  .admin-bar .tt-mobile-panel { inset-block-start: calc(46px + 35px + var(--tt-header-h)); }
}

@media (max-width: 48rem) {
  .tt-lead-form__grid { grid-template-columns: 1fr; }
  .tt-field--full { grid-column: auto; }
  .tt-article-conversion { grid-template-columns: 1fr; align-items: start; }
  .tt-article-conversion__actions { justify-items: stretch; min-width: 0; }
  .tt-article-conversion__actions .tt-btn { width: 100%; }
  .tt-masthead { padding-block: 10px 12px; }
  .tt-masthead__frame { border-radius: 22px; box-shadow: 0 18px 50px rgb(8 12 16 / 11%); }
  .tt-masthead__utility { min-height: 42px; padding: 7px 18px; }
  .tt-masthead__signature { display: none; }
  .tt-masthead__headline { padding: 24px 20px 26px; }
  .tt-masthead__headline::before { width: 116px; height: 116px; right: -54px; top: -38px; box-shadow: 0 0 0 18px rgb(246 146 30 / 2.5%); }
  .tt-masthead__headline::after { content: none; }
  .tt-masthead h1 { font-size: clamp(2.15rem, 9.7vw, 2.85rem); line-height: 1.035; letter-spacing: -.046em; }
  .tt-masthead__lead { margin-top: 14px; max-width: none; font-size: .98rem; line-height: 1.58; }
  .tt-masthead__actions { display: grid; grid-template-columns: 1fr; margin-top: 20px; }
  .tt-masthead__actions .tt-btn { width: 100%; }
  .tt-masthead__context { grid-template-columns: 1fr; min-height: 0; }
  .tt-masthead__context-intro { min-height: 84px; padding: 14px 18px; }
  .tt-masthead__motif { right: 34px; top: 28px; transform: scale(2); }
  .tt-masthead__context-copy { grid-template-columns: 38px minmax(0,1fr); gap: 10px; }
  .tt-masthead__context-icon { width: 38px; height: 38px; }
  .tt-masthead__facts { grid-template-columns: repeat(auto-fit,minmax(132px,1fr)); border-top: 1px solid rgb(255 255 255 / 8%); }
  .tt-masthead__fact { grid-template-columns: 32px minmax(0,1fr); min-height: 64px; gap: 8px; padding: 11px 12px; border-left: 0; border-top: 1px solid rgb(255 255 255 / 7%); }
  .tt-masthead__fact:nth-child(even) { border-left: 1px solid rgb(255 255 255 / 7%); }
  .tt-masthead__fact-icon { width: 32px; height: 32px; border-radius: 9px; }
  .tt-masthead__fact small { font-size: .58rem; }
  .tt-masthead__fact b { font-size: .75rem; }
  .tt-masthead__after { margin-top: 0; padding: 8px 18px 10px; }


  :root { --tt-header-h: 68px; --tt-radius-lg: 22px; --tt-radius-xl: 26px; --tt-section: 38px; --tt-gap: 14px; }
  .tt-checkout-steps { margin-top: 18px; padding-top: 14px; }
  .tt-checkout-steps ol { gap: 3px; }
  .tt-checkout-step::after { top: 16px; left: calc(50% + 19px); right: calc(-50% + 19px); }
  .tt-checkout-step > a, .tt-checkout-step__inner { display: grid; justify-items: center; gap: 5px; width: 100%; text-align: center; }
  .tt-checkout-step > a > span, .tt-checkout-step__inner > span { width: 32px; height: 32px; flex-basis: 32px; }
  .tt-checkout-step b { font-size: .7rem; }
  .woocommerce-cart-form { padding: 12px; }
  .woocommerce-cart-form .coupon { align-items: stretch; }
  .woocommerce .cart-collaterals .cart_totals { width: 100%; }
  .woocommerce ul.order_details { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tt-404-links { grid-template-columns: 1fr; }
  .tt-404-links > a { grid-template-columns: 42px minmax(0,1fr) 18px; }
  .tt-404-links > a > svg { display: block; }
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); font-size: 15.5px; }
  h1 { font-size: clamp(2rem, 9.6vw, 2.8rem); }
  h2 { font-size: clamp(1.55rem, 7.4vw, 2.12rem); }
  h3 { font-size: 1.08rem; }
  .tt-container { width: min(100% - 36px, var(--tt-container)); }
  .tt-utility__items span:nth-child(2), .tt-utility__items span:nth-child(3) { display: none; }
  .tt-utility__inner { min-height: 34px; }
  .tt-header__actions { display: none; }
  .tt-brand img { width: 156px; }
  .tt-header__inner { gap: 7px; }
  .tt-header-tools { gap: 6px; margin-left: auto; }
  .tt-header-icon, .tt-menu-toggle { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; box-shadow: none; }
  .tt-cart-badge { top: -4px; right: -4px; }
  .tt-header { backdrop-filter: none; }
  .tt-search-overlay { padding: calc(34px + var(--tt-header-h) + 12px) 12px 78px; }
  .admin-bar .tt-search-overlay { padding-top: calc(46px + 34px + var(--tt-header-h) + 12px); }
  .tt-search-overlay__backdrop { backdrop-filter: none; }
  .tt-search-command { border-radius: 22px; }
  .tt-search-command__head { padding: 20px 18px 12px; }
  .tt-search-command__form { grid-template-columns: auto minmax(0,1fr); margin: 0 18px; padding: 7px 10px; }
  .tt-search-command__form button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .tt-search-command__quick { grid-template-columns: 1fr; padding: 14px 18px 20px; }
  .tt-mobile-panel { inset-block-start: calc(34px + var(--tt-header-h)); width: 100vw; padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .admin-bar .tt-mobile-panel { inset-block-start: calc(46px + 34px + var(--tt-header-h)); }
  .tt-mobile-menu-group__links { grid-template-columns: 1fr 1fr; padding-left: 18px; }
  .tt-grid--2, .tt-grid--3, .tt-post-grid, .tt-product-grid { grid-template-columns: 1fr; }
  .tt-library-feed .tt-post-grid { grid-template-columns: 1fr; }
  .tt-section-heading, .tt-results-head { align-items: flex-start; flex-direction: column; gap: 7px; margin-bottom: 18px; padding-bottom: 14px; }
  .tt-breadcrumbs { margin-bottom: 14px; font-size: .7rem; }
  .tt-breadcrumbs a, .tt-breadcrumbs span { max-width: 42vw; }
  .tt-topic-chips { margin-top: 18px; padding-top: 14px; }
  .tt-topic-chips__track { width: calc(100vw - 36px); max-width: 100%; }
  .tt-topic-chip { min-height: 36px; font-size: .74rem; }
  .tt-feature-story { grid-template-columns: 1fr; min-height: 0; border-radius: 22px; }
  .tt-feature-story__media img, .tt-feature-story__placeholder { min-height: 220px; max-height: 290px; }
  .tt-feature-story__body { padding: 20px; }
  .tt-feature-story__body h2 { font-size: 1.55rem; }
  .tt-card__body { padding: 16px; }
  .tt-sidebar, .tt-shop-sidebar { grid-template-columns: 1fr; }
  .tt-sidebar-card--search { grid-column: auto; }
  .tt-prose--article { padding: 18px; border-radius: 20px; font-size: 1rem; line-height: 1.76; }
  .tt-article-meta { gap: 7px 11px; }
  .tt-author-box { grid-template-columns: 1fr; }
  .tt-post-navigation { grid-template-columns: 1fr; }
  .tt-post-navigation__item--next { text-align: left; }
  .comment-list .children { padding-left: 10px; }
  .tt-comment__card { grid-template-columns: 38px minmax(0,1fr); padding: 13px; }
  .tt-comment__avatar img { width: 38px; height: 38px; }
  .tt-comment__meta { flex-direction: column; gap: 5px; }
  .comment-form { grid-template-columns: 1fr; }
  .comment-form-comment, .comment-form-cookies-consent, .form-submit, .logged-in-as { grid-column: auto; }
  .tt-product-detail-shell { padding-block: var(--tt-page-section); }
  .woocommerce div.product { gap: 16px; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100%; }
  .woocommerce div.product div.images { padding: 12px; border-radius: 20px; }
  .woocommerce div.product div.images img { max-height: 420px; }
  .woocommerce div.product div.summary { padding: 17px; border-radius: 20px; }
  .tt-product-conversion__actions { display: grid; grid-template-columns: 1fr; }
  .tt-product-conversion__actions .tt-btn { width: 100%; }
  .tt-product-support { grid-template-columns: 1fr; }
  .woocommerce div.product .product_title { font-size: clamp(1.75rem, 8.3vw, 2.35rem); }
  .woocommerce div.product .woocommerce-tabs { padding: 16px; border-radius: 18px; }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 11px 11px 3px; font-size: .88rem; }
  .woocommerce ul.products li.product .price { padding-inline: 11px; font-size: .84rem; }
  .woocommerce ul.products li.product .button { margin: 8px 11px 11px; width: calc(100% - 22px); font-size: .76rem; }
  .tt-footer-cta { padding-block: 26px; }
  .tt-footer-cta__inner { grid-template-columns: 1fr; gap: 16px; }
  .tt-footer-cta__actions { justify-content: flex-start; }
  .tt-footer-cta__actions .tt-btn { flex: 1 1 140px; }
  .tt-footer__main { grid-template-columns: 1fr; gap: 24px; padding-block: 34px 26px; }
  .tt-footer__column, .tt-footer__contact { display: block; grid-column: auto; padding-top: 17px; border-top: 1px solid rgb(255 255 255 / 10%); }
  .tt-footer__contact > h3 { margin-bottom: 13px; }
  .tt-footer__contact .tt-footer__hotline { margin-bottom: 13px; }
  .tt-footer__contact .tt-footer__actions { margin-top: 14px; }
  .tt-footer__bottom-inner { display: grid; gap: 3px; min-height: 64px; padding-block: 11px; }
  .tt-backtop { right: 12px; bottom: calc(76px + env(safe-area-inset-bottom)); width: 46px; height: 46px; min-height: 46px; padding: 5px; border-color: rgb(13 176 75 / 30%); }
  .tt-backtop__text { display: none; }
  .tt-backtop__icon { width: 34px; height: 34px; }
  .tt-mobile-dock { position: fixed; z-index: 1200; inset: auto 0 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); min-height: 64px; padding-bottom: env(safe-area-inset-bottom); background: var(--tt-porcelain); border-top: 1px solid rgb(70 58 43 / 11%); box-shadow: 0 -12px 30px rgb(32 30 24 / 10%); backdrop-filter: none; }
  .tt-mobile-dock--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tt-mobile-dock a, .tt-mobile-dock button { appearance: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 0; min-height: 64px; padding: 6px 2px; border: 0; border-right: 1px solid rgb(70 58 43 / 9%); background: transparent; color: var(--tt-ink); font-size: .66rem; font-weight: 590; line-height: 1.1; text-decoration: none; white-space: nowrap; }
  .tt-mobile-dock a:last-child { border-right: 0; background: var(--tt-brand-secondary); color: var(--tt-obsidian); }
  .tt-mobile-dock a:hover, .tt-mobile-dock button:hover { color: var(--tt-ink); background-color: #f2ece3; }
  .tt-mobile-dock a:last-child:hover { background: #ffa136; }
  .tt-mobile-dock svg { width: 18px; height: 18px; }
}

@media (max-width: 30rem) {
  .tt-container { width: min(100% - 32px, var(--tt-container)); }
  .woocommerce-cart-form .coupon { display: grid; grid-template-columns: 1fr; }
  .woocommerce-cart-form .coupon .input-text { width: 100%; min-width: 0; }
  .woocommerce ul.order_details { grid-template-columns: 1fr; }
  .tt-btn { min-height: 44px; padding-inline: 14px; font-size: .86rem; }
  .tt-brand img { width: 144px; }
  .tt-utility { font-size: .72rem; }
  .tt-mobile-menu-group__links { grid-template-columns: 1fr; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .tt-mobile-dock a, .tt-mobile-dock button { font-size: .63rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
