:root {
  --tf-black: #070907;
  --tf-black-soft: #0b0e0b;
  --tf-graphite: #111410;
  --tf-panel: #151914;
  --tf-panel-2: #1a1e19;
  --tf-olive: #4b4f3a;
  --tf-gold: #a69d6a;
  --tf-gold-light: #c5ba7c;
  --tf-text: #e6e6e1;
  --tf-muted: #9ca19a;
  --tf-border: rgba(166,157,106,.24);
  --tf-shadow: 0 20px 50px rgba(0,0,0,.34);
  --tf-radius: 5px;
  --tf-container: 1360px;
  --tf-font: Inter, Arial, Helvetica, sans-serif;
  --tf-display: "Arial Narrow", Impact, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.tf-theme { margin: 0; background: var(--tf-black); color: var(--tf-text); font-family: var(--tf-font); font-size: 15px; line-height: 1.5; overflow-x: clip; }
body.tf-overlay-open, body.tf-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--tf-gold-light); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; height: auto; }
.tf-container, .col-full { width: min(calc(100% - 48px), var(--tf-container)); max-width: var(--tf-container); margin-inline: auto; padding: 0; }
.site-content { min-height: 50vh; }
.screen-reader-text:focus, .skip-link:focus { position: fixed !important; top: 12px; left: 12px; z-index: 10000; width: auto; height: auto; clip: auto; padding: 12px 16px; background: #fff; color: #000; }

/* Header */
.tf-header { position: relative; z-index: 100; background: var(--tf-black-soft); border-bottom: 1px solid var(--tf-border); }
.tf-topbar { min-height: 40px; border-top: 1px solid var(--tf-border); border-bottom: 1px solid rgba(166,157,106,.12); background: #090b09; }
.tf-topbar__inner { min-height: 40px; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; align-items: center; }
.tf-topbar__inner span { display: flex; align-items: center; justify-content: center; gap: 8px; color: #d7d8d2; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.tf-topbar .tf-icon { color: var(--tf-gold); }
.tf-header-main { background: #0b0e0b; }
.tf-header-main__inner { min-height: 108px; display: grid; grid-template-columns: 210px minmax(320px,1fr) auto; gap: 28px; align-items: center; }
.tf-header-brand { display: flex; align-items: center; }
.tf-brand { display: inline-flex; }
.tf-brand img { display: block; object-fit: contain; }
.tf-brand--header img { width: 178px; height: auto; max-height: 82px; object-position: left center; }
.tf-product-search { height: 50px; display: flex; border: 1px solid rgba(166,157,106,.35); border-radius: var(--tf-radius); background: #0d100d; overflow: hidden; }
.tf-product-search input[type=search] { flex: 1; min-width: 0; padding: 0 18px; border: 0; outline: 0; background: transparent; color: var(--tf-text); box-shadow: none; }
.tf-product-search input::placeholder { color: #8d938b; }
.tf-product-search button { width: 52px; border: 0; background: var(--tf-gold); color: var(--tf-black); display: grid; place-items: center; }
.tf-header-actions { display: flex; align-items: center; gap: 28px; }
.tf-account-link, .tf-cart-button { display: flex; align-items: center; gap: 10px; color: var(--tf-text); background: transparent; border: 0; padding: 0; text-align: left; }
.tf-account-link small, .tf-cart-summary { color: #aeb3ac; font-size: 12px; }
.tf-account-link strong { display: block; color: #fff; font-size: 13px; }
.tf-cart-summary { display: flex; flex-direction: column; line-height: 1.2; }
.tf-cart-total { color: var(--tf-gold-light); font-weight: 700; font-size: 15px; }
.tf-cart-count { color: #d4d5d0; text-transform: uppercase; font-size: 11px; }
.tf-mobile-toggle { display: none; border: 0; background: transparent; color: var(--tf-gold); }
.tf-nav { background: #171b16; border-top: 1px solid rgba(166,157,106,.16); }
.tf-nav__inner { min-height: 58px; display: flex; align-items: stretch; }
.tf-all-categories { position: relative; flex: 0 0 220px; }
.tf-all-categories__button { width: 100%; height: 100%; padding: 0 14px; display: flex; align-items: center; gap: 11px; border: 0; background: #1c211b; color: #fff; text-transform: uppercase; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.tf-all-categories__button .tf-icon:last-child { margin-left: auto; }
.tf-all-categories__dropdown { position: absolute; left: 0; top: 100%; width: 290px; padding: 10px; background: #10130f; border: 1px solid var(--tf-border); box-shadow: var(--tf-shadow); }
.tf-all-categories__dropdown a { display: flex; justify-content: space-between; padding: 11px 12px; border-bottom: 1px solid rgba(166,157,106,.12); }
.tf-all-categories__dropdown a:last-child { border: 0; }
.tf-all-categories__dropdown span { color: var(--tf-muted); }
.tf-primary-menu { flex: 1; list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; }
.tf-primary-menu > li { display: flex; position: relative; }
.tf-primary-menu > li > a { display: flex; align-items: center; padding: 0 24px; color: #f0f0eb; font-size: 13px; text-transform: uppercase; font-weight: 700; letter-spacing: .03em; }
.tf-primary-menu > li.current-menu-item > a, .tf-primary-menu > li > a:hover { color: var(--tf-gold-light); }
.tf-primary-menu .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; margin: 0; padding: 8px; list-style: none; background: #10130f; border: 1px solid var(--tf-border); box-shadow: var(--tf-shadow); }
.tf-primary-menu li:hover > .sub-menu, .tf-primary-menu li:focus-within > .sub-menu { display: block; }
.tf-primary-menu .sub-menu a { display: block; padding: 10px 12px; }

/* Buttons */
body.tf-theme .button, .tf-button, body.tf-theme button.button, body.tf-theme input.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 0 20px; border: 1px solid var(--tf-gold); border-radius: 3px; background: var(--tf-gold); color: #090b09; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; box-shadow: none; transition: transform .18s ease, background .18s ease, color .18s ease; }
body.tf-theme .button:hover, .tf-button:hover { transform: translateY(-1px); background: var(--tf-gold-light); color: #050605; }
.tf-button--outline, body.tf-theme .tf-button--outline { background: transparent; color: var(--tf-gold-light); }

/* Home */
.tf-hero { position: relative; min-height: 460px; display: flex; align-items: center; background: radial-gradient(circle at 70% 35%, rgba(75,79,58,.28), transparent 38%), linear-gradient(110deg,#0a0d0a 0%,#0a0d0a 46%,#11150f 100%); background-image: linear-gradient(90deg,rgba(7,9,7,.98) 0%,rgba(7,9,7,.86) 48%,rgba(7,9,7,.42) 100%), var(--tf-hero-image, none); background-size: cover; background-position: center; border-bottom: 1px solid var(--tf-border); }
.tf-hero::before { content:"TF"; position:absolute; right:clamp(42px,10vw,170px); top:50%; width:clamp(170px,19vw,280px); aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(166,157,106,.22); color:rgba(197,186,124,.2); font-family:var(--tf-display); font-size:clamp(52px,7vw,100px); letter-spacing:.12em; transform:translateY(-50%) rotate(45deg); box-shadow:inset 0 0 0 18px rgba(166,157,106,.035), 0 0 0 1px rgba(166,157,106,.06); pointer-events:none; }
.tf-hero::after { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image: linear-gradient(rgba(166,157,106,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(166,157,106,.06) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg,#000,transparent 75%); }
.tf-hero__overlay { position:absolute; inset:0; background: linear-gradient(90deg,rgba(0,0,0,.35),transparent); }
.tf-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 60px; align-items: center; padding-block: 52px; }
.tf-hero__content { max-width: 710px; }
.tf-eyebrow { margin: 0 0 10px; color: var(--tf-gold-light); font-size: 14px; text-transform: uppercase; letter-spacing: .11em; font-weight: 700; }
.tf-hero h1 { max-width: 720px; margin: 0; color: var(--tf-text); font-family: var(--tf-display); font-size: clamp(24px,4.5vw,84px); line-height: .92; font-weight: 400; text-transform: uppercase; letter-spacing: -.04em; }
.tf-hero h1 span { display:block; white-space:nowrap; }
.tf-hero__description { max-width: 560px; margin: 24px 0 30px; color: #f1f1ed; font-size: 18px; }
.tf-hero__features { display: grid; grid-template-columns:1fr!important; gap: 24px; }
.tf-hero__features > div { display: flex; align-items: center; gap: 16px; color: #fff; font-size: 15px; font-weight: 700; text-transform: uppercase; line-height: 1.12; }
.tf-hero__features .tf-icon { color: var(--tf-gold); flex: 0 0 auto; }
.tf-home-section { padding: 66px 0; border-bottom: 1px solid rgba(166,157,106,.12); }
.tf-section-head, .tf-showcase__head { display: flex; align-items: center; gap: 28px; margin-bottom: 26px; }
.tf-section-head h2, .tf-showcase__head h2 { margin: 0; color: #fff; font-family: var(--tf-display); font-size: 30px; font-weight: 400; text-transform: uppercase; letter-spacing: .03em; }
.tf-section-head > a, .tf-showcase__all { margin-left: auto; display: flex; align-items: center; gap: 6px; color: var(--tf-gold-light); text-transform: uppercase; font-size: 12px; letter-spacing: .08em; }
.tf-category-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 14px; }
.tf-category-card { position: relative; min-height: 210px; display: flex; align-items: flex-end; overflow: hidden; border: 1px solid var(--tf-border); border-radius: var(--tf-radius); background: linear-gradient(145deg,#171b16,#0c0f0c); background-image: linear-gradient(180deg,transparent 20%,rgba(0,0,0,.9) 100%),var(--tf-category-image,none); background-size: cover; background-position: center; }
.tf-category-card::before { content:""; position:absolute; inset:0; border: 1px solid transparent; transition: border-color .18s ease; }
.tf-category-card::after { content:""; position:absolute; inset:0; opacity:.24; background:linear-gradient(135deg,transparent 0 46%,rgba(166,157,106,.16) 46% 47%,transparent 47% 53%,rgba(166,157,106,.12) 53% 54%,transparent 54%); pointer-events:none; }
.tf-category-card:hover::before { border-color: var(--tf-gold); }
.tf-category-card__content { position:relative; z-index:1; display:block; padding: 18px; }
.tf-category-card strong { display:block; color:#fff; text-transform:uppercase; font-size:16px; }
.tf-category-card small { color:var(--tf-gold-light); text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
.tf-tabs { display:flex; gap: 30px; }
.tf-tabs button { padding: 10px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:#8f958d; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
.tf-tabs button.is-active { color:#fff; border-color:var(--tf-gold); }
.tf-tab-panel:not(.is-active) { display:none; }
.tf-admin-note { padding: 12px; border: 1px dashed var(--tf-border); color: var(--tf-muted); }
.tf-showcase__empty { min-height:180px; display:grid; place-items:center; margin:0; padding:30px; border:1px dashed var(--tf-border); background:#0f120f; color:#aeb4aa; text-align:center; }

/* WooCommerce archive */
.tf-archive-hero { padding: 42px 0 38px; background: linear-gradient(100deg,#0a0d0a,#151914); border-bottom: 1px solid var(--tf-border); }
.tf-archive-hero .woocommerce-breadcrumb { margin: 0 0 8px; color: #9ca19a; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.tf-archive-title { margin: 0; color:#fff; font-family:var(--tf-display); font-size:48px; font-weight:400; text-transform:uppercase; }
.tf-archive-hero .term-description { max-width: 760px; color: var(--tf-muted); }
.tf-shop-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:34px; padding-block:30px 72px; }
.tf-shop-main { min-width:0; order:2; }
.tf-shop-sidebar { order:1; }
.woocommerce .woocommerce-result-count { color:#d5d7d1; margin: 8px 0 22px; }
.woocommerce .woocommerce-ordering { margin: 0 0 22px; }
.woocommerce .woocommerce-ordering select { min-height:42px; padding:0 36px 0 14px; border:1px solid var(--tf-border); border-radius:var(--tf-radius); background:#111410; color:#fff; }
.tf-filter-box { margin-bottom:16px; padding:18px; background:var(--tf-graphite); border:1px solid var(--tf-border); border-radius:var(--tf-radius); }
.tf-filter-box h2, .tf-filter-box .widget-title { margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid rgba(166,157,106,.17); color:#fff; font-family:var(--tf-display); font-size:16px; font-weight:400; text-transform:uppercase; letter-spacing:.06em; }
.tf-filter-box ul { margin:0; padding:0; list-style:none; }
.tf-filter-box li { border-bottom:1px solid rgba(166,157,106,.12); }
.tf-filter-box li:last-child { border:0; }
.tf-filter-box li a { display:flex; justify-content:space-between; padding:9px 0; color:#c6cac3; }
.tf-filter-box li.current-cat > a, .tf-filter-box li a.is-active, .tf-filter-box li a:hover { color:var(--tf-gold-light); }
.tf-filter-box .count { margin-left:auto; color:#899087; }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background:#30352d; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background:var(--tf-gold); }
.woocommerce .widget_price_filter .price_slider_amount { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.woocommerce .widget_price_filter .price_slider_amount .button { order:2; width:100%; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; padding:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; padding:0; text-align:left; }
.tf-product-card__inner { height:100%; display:flex; flex-direction:column; overflow:hidden; background:#111410; border:1px solid var(--tf-border); border-radius:var(--tf-radius); transition:border-color .18s ease, transform .18s ease; }
.tf-product-card__inner:hover { border-color:rgba(166,157,106,.62); transform:translateY(-2px); }
.tf-product-card__media { position:relative; aspect-ratio:1/1; overflow:hidden; background:#181c17; }
.tf-product-card__image { height:100%; display:grid; place-items:center; padding:16px; }
.tf-product-card__image img { width:100%; height:100%; object-fit:contain; transition:transform .25s ease; }
.tf-product-card__inner:hover .tf-product-card__image img { transform:scale(1.025); }
.tf-quick-view-button { position:absolute; top:14px; right:14px; z-index:3; display:flex; align-items:center; gap:7px; min-height:32px; padding:0 11px; border:1px solid rgba(166,157,106,.55); border-radius:3px; background:rgba(8,10,8,.88); color:#fff; font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:.05em; }
.tf-product-card .onsale { position:absolute; top:14px; left:14px; z-index:3; margin:0; min-height:auto; line-height:1; padding:7px 9px; border:0; border-radius:2px; background:var(--tf-gold); color:#080a08; font-size:10px; }
.tf-product-card__content { flex:1; display:flex; flex-direction:column; padding:15px 16px 17px; }
.tf-product-card__category { min-height:18px; color:#828981; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.tf-product-card__category a { color:inherit; }
.tf-product-card h2 { margin:6px 0 11px!important; padding:0!important; color:#fff; font-family:var(--tf-display); font-size:16px!important; line-height:1.25; font-weight:400; text-transform:uppercase; }
.tf-product-card h2 a { color:inherit; }
.tf-product-card .star-rating { margin:0 0 10px!important; font-size:12px; color:var(--tf-gold); }
.tf-product-card__bottom { margin-top:auto; display:flex; align-items:end; justify-content:space-between; gap:10px; }
.tf-product-card__price .price, .tf-product-card__price { color:var(--tf-gold-light)!important; font-size:20px!important; font-weight:700!important; }
.tf-product-card__price del { color:#7d837b; font-size:12px; }
.tf-product-card__action .button { width:40px; min-height:38px!important; padding:0!important; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; gap:6px; }
.woocommerce nav.woocommerce-pagination ul li { border:1px solid var(--tf-border); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { background:#111410; color:#fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--tf-gold); color:#080a08; }

/* Single product, cart, checkout, account */
.tf-content-main { padding-block:48px 72px; }
.single-product div.product { color:var(--tf-text); }
.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { margin-top:18px; }
.single-product .summary .product_title { color:#fff; font-family:var(--tf-display); font-size:44px; font-weight:400; text-transform:uppercase; }
.single-product .summary .price { color:var(--tf-gold-light); font-size:28px; }
.woocommerce-tabs ul.tabs li a { color:#fff; }
.woocommerce-tabs .panel { color:#c5c9c2; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border:1px solid var(--tf-border); background:#121611; color:#fff; }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account .woocommerce-MyAccount-navigation { padding:22px; border:1px solid var(--tf-border); background:#111410; }
body.tf-theme table.shop_table { border-color:var(--tf-border); background:#111410; color:#fff; }
body.tf-theme table th, body.tf-theme table td { border-color:rgba(166,157,106,.15); }
body.tf-theme input.input-text, body.tf-theme textarea, body.tf-theme select { border:1px solid var(--tf-border); border-radius:3px; background:#0c0f0c; color:#fff; box-shadow:none; }
body.tf-theme input.input-text:focus, body.tf-theme textarea:focus, body.tf-theme select:focus { border-color:var(--tf-gold); outline:2px solid rgba(166,157,106,.18); }
.tf-catalog-notice { display:block; color:#c7c9c4; font-size:12px; line-height:1.45; }

/* Generic content */
.tf-generic-layout { padding-block:52px 76px; }
.tf-entry { max-width:980px; }
.tf-entry-header h1 { color:#fff; font-family:var(--tf-display); font-size:48px; font-weight:400; text-transform:uppercase; }
.tf-entry-content { color:#c8cbc5; }
.tf-entry-content h2, .tf-entry-content h3 { color:#fff; }
.tf-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tf-post-card { border:1px solid var(--tf-border); background:#111410; }
.tf-post-card > div { padding:18px; }
.tf-post-card h2 { color:#fff; }
.tf-error-page { padding-block:100px; text-align:center; }

/* Quick view */
.tf-modal { position:fixed; inset:0; z-index:9998; display:grid; place-items:center; opacity:0; transition:opacity .2s ease; }
.tf-modal.is-open { opacity:1; }
.tf-modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(3px); }
.tf-modal__dialog { position:relative; z-index:1; width:min(900px,calc(100% - 36px)); max-height:90vh; overflow:auto; background:#111410; border:1px solid var(--tf-border); box-shadow:var(--tf-shadow); }
.tf-modal__close { position:absolute; top:12px; right:12px; z-index:2; width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--tf-border); background:#090b09; color:#fff; }
.tf-quick-view { display:grid; grid-template-columns:1fr 1fr; }
.tf-quick-view__media { min-height:500px; display:grid; place-items:center; padding:34px; background:#181c17; }
.tf-quick-view__media img { max-height:480px; object-fit:contain; }
.tf-quick-view__content { padding:48px 40px; }
.tf-quick-view__content h2 { margin:0 0 14px; color:#fff; font-family:var(--tf-display); font-size:38px; font-weight:400; text-transform:uppercase; }
.tf-quick-view__price { margin-bottom:20px; color:var(--tf-gold-light); font-size:25px; font-weight:700; }
.tf-quick-view__description { color:#c8cbc5; }
.tf-quick-view__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.tf-loading { padding:80px; text-align:center; }

/* Cart drawer */
.tf-cart-drawer-overlay { position:fixed; inset:0; z-index:9996; background:rgba(0,0,0,.62); opacity:0; transition:opacity .2s ease; }
.tf-cart-drawer-overlay.is-open { opacity:1; }
.tf-cart-drawer { position:fixed; top:0; right:0; z-index:9997; width:min(430px,100%); height:100vh; display:flex; flex-direction:column; background:#0d100d; border-left:1px solid var(--tf-border); transform:translateX(100%); transition:transform .22s ease; box-shadow:var(--tf-shadow); }
.tf-cart-drawer.is-open { transform:translateX(0); }
.tf-cart-drawer__header { min-height:68px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--tf-border); }
.tf-cart-drawer__header strong { color:#fff; text-transform:uppercase; }
.tf-cart-drawer__header button { border:0; background:transparent; color:#fff; }
.tf-cart-drawer__body { flex:1; display:flex; flex-direction:column; overflow:auto; }
.tf-cart-items { margin:0; padding:14px 20px; list-style:none; }
.tf-cart-item { display:grid; grid-template-columns:72px 1fr 34px; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(166,157,106,.15); }
.tf-cart-item__image { height:72px; display:grid; place-items:center; background:#181c17; }
.tf-cart-item__image img { max-height:66px; object-fit:contain; }
.tf-cart-item__info { display:grid; gap:6px; }
.tf-cart-item__info > a { color:#fff; font-weight:700; }
.tf-cart-item__info span { color:var(--tf-gold-light); font-size:13px; }
.tf-cart-item__remove { border:0; background:transparent; color:#aaa; }
.tf-cart-drawer__footer { margin-top:auto; padding:20px; display:grid; gap:10px; border-top:1px solid var(--tf-border); }
.tf-cart-subtotal { display:flex; justify-content:space-between; margin-bottom:4px; }
.tf-cart-subtotal strong { color:var(--tf-gold-light); }
.tf-cart-empty { margin:auto; padding:40px 26px; text-align:center; color:#b8bcb5; }
.tf-cart-empty .tf-icon { color:var(--tf-gold); }

/* Trust + footer */
.tf-trust-strip { border-top:1px solid var(--tf-border); border-bottom:1px solid var(--tf-border); background:#090c09; }
.tf-trust-strip__inner { min-height:102px; display:grid; grid-template-columns:repeat(6,1fr); align-items:center; }
.tf-trust-strip__inner > div { min-height:58px; padding:0 16px; display:flex; align-items:center; gap:12px; border-right:1px solid rgba(166,157,106,.16); }
.tf-trust-strip__inner > div:last-child { border:0; }
.tf-trust-strip .tf-icon { flex:0 0 auto; color:var(--tf-gold); }
.tf-trust-strip strong, .tf-trust-strip small { display:block; text-transform:uppercase; line-height:1.1; }
.tf-trust-strip strong { color:#fff; font-size:11px; }
.tf-trust-strip small { color:#92988f; font-size:9px; }
.tf-footer { background:#0b0e0b; border-top:1px solid rgba(166,157,106,.12); }
.tf-footer__grid { display:grid; grid-template-columns:1.25fr .8fr .9fr 1.25fr; gap:52px; padding-block:52px; }
.tf-brand--footer img { width:150px; height:auto; }
.tf-footer__brand p { max-width:300px; color:#b7bbb4; font-size:15px; line-height:1.55; }
.tf-socials { display:flex; gap:10px; }
.tf-socials a { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--tf-border); border-radius:50%; color:var(--tf-gold-light); }
.tf-footer h2 { margin:0 0 18px; color:#fff; font-family:var(--tf-display); font-size:16px; font-weight:400; text-transform:uppercase; letter-spacing:.06em; }
.tf-footer-menu { margin:0; padding:0; list-style:none; }
.tf-footer-menu li { margin:0 0 9px; }
.tf-footer-menu a { color:#c5c9c2; }
.tf-footer__newsletter p { color:#b7bbb4; }
.tf-newsletter-preview { display:grid; grid-template-columns:1fr auto; gap:8px; }
.tf-newsletter-preview input { min-width:0; height:48px; padding:0 14px; border:1px solid var(--tf-border); background:#10130f; color:#fff; }
.tf-newsletter-preview button { min-width:96px; border:0; background:var(--tf-gold); color:#080a08; text-transform:uppercase; font-weight:700; }
.tf-newsletter-preview small { grid-column:1/-1; color:#9fa49d; }
.tf-newsletter-privacy { margin-top:12px; font-size:13px; }
.tf-newsletter-privacy a { color:#d7cc88; text-decoration:underline; text-underline-offset:3px; }
.tf-footer-newsletter__form { display:grid; gap:12px; margin-top:16px; }
.tf-footer-newsletter__fields { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.tf-footer-newsletter__fields input { min-width:0; height:48px; padding:0 14px; border:1px solid var(--tf-border); border-radius:var(--tf-radius); background:#10130f; color:#fff; }
.tf-footer-newsletter__fields input::placeholder { color:#8f958d; }
.tf-footer-newsletter__fields button { min-width:108px; min-height:48px; padding:0 16px; border:0; border-radius:var(--tf-radius); background:var(--tf-gold); color:#080a08; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.tf-footer-newsletter__fields button:hover { background:var(--tf-gold-light); color:#050705; }
.tf-footer-newsletter__consent { display:flex; align-items:flex-start; gap:9px; color:#aeb3ab; font-size:13px; line-height:1.4; cursor:pointer; }
.tf-footer-newsletter__consent input { flex:0 0 auto; width:16px; height:16px; margin:2px 0 0; accent-color:var(--tf-gold); }
.tf-footer-newsletter__consent a { color:#d7cc88; text-decoration:underline; text-underline-offset:3px; }
.tf-footer-newsletter__message { margin:0; padding:10px 12px; border-left:3px solid var(--tf-gold); background:rgba(166,157,106,.1); color:#e1e2dc!important; font-size:13px!important; }
.tf-footer-newsletter__maintenance { margin-top:14px; padding-left:12px; border-left:3px solid var(--tf-gold); font-size:13px!important; }
.tf-footer-newsletter__honeypot { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.tf-footer__legal { border-top:1px solid rgba(166,157,106,.16); background:#090b09; }
.tf-footer__legal .tf-container { display:grid; grid-template-columns:1.1fr 1.5fr 1fr; gap:24px; padding-block:20px; color:#b7bbb4; font-size:13px; line-height:1.65; }
.tf-footer__legal p { margin:0; }
.tf-footer__legal strong { color:#fff; }
.tf-footer__legal a { color:#d4d8d1; overflow-wrap:anywhere; }
.tf-footer__bottom { border-top:1px solid rgba(166,157,106,.16); background:#070907; }
.tf-footer__bottom .tf-container { min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#8f958d; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }

.tf-whatsapp-float { position:fixed; right:calc(22px + env(safe-area-inset-right, 0px)); bottom:calc(22px + env(safe-area-inset-bottom, 0px)); z-index:90; width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:#25d366; color:#071509; box-shadow:0 12px 30px rgba(0,0,0,.42); transition:transform .18s ease, background-color .18s ease, box-shadow .18s ease; }
.tf-whatsapp-float:hover, .tf-whatsapp-float:focus-visible { transform:translateY(-2px); background:#35df75; color:#041008; box-shadow:0 15px 34px rgba(0,0,0,.5); }
.tf-whatsapp-float__tooltip { position:absolute; right:calc(100% + 12px); top:50%; padding:7px 10px; border:1px solid var(--tf-border); border-radius:4px; background:#0b0e0b; color:#fff; font-size:12px; line-height:1; white-space:nowrap; opacity:0; pointer-events:none; transform:translate(4px,-50%); transition:opacity .18s ease, transform .18s ease; }
.tf-whatsapp-float:hover .tf-whatsapp-float__tooltip, .tf-whatsapp-float:focus-visible .tf-whatsapp-float__tooltip { opacity:1; transform:translate(0,-50%); }

/* Focus */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid var(--tf-gold-light)!important; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.001ms!important; animation-duration:.001ms!important; animation-iteration-count:1!important; } }

/* Garantia de leitura no menor viewport, mesmo quando uma folha antiga estiver em cache. */
@media (max-width:720px) {
  .tf-hero h1 { font-size:clamp(22px,4vw,52px)!important; }
}
@media (max-width:460px) {
  .tf-hero h1 { font-size:clamp(20px,6vw,34px)!important; }
  .tf-hero__features { grid-template-columns:1fr!important; }
}

/* Módulo 8 — acabamento comercial */
.tf-topbar { min-height:44px; background:#080a08; }
.tf-topbar__inner { min-height:44px; gap:24px; }
.tf-topbar__inner span { color:#d9d9d2; font-size:11px; letter-spacing:.09em; }
.tf-brand--header img { width:178px; height:auto; max-height:none!important; object-fit:contain; }
.tf-header-main__inner { min-height:126px; }
.tf-hero__inner { grid-template-columns:minmax(0,1fr) 300px; gap:72px; padding-block:56px; }
.tf-hero__content { max-width:650px; min-width:0; }
.tf-hero h1 { max-width:680px; font-size:clamp(42px,5.2vw,82px); }
.tf-hero__description { max-width:590px; margin:20px 0 26px; font-size:17px; line-height:1.55; }
.tf-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.tf-button--secondary { border:1px solid rgba(166,157,106,.58)!important; background:transparent!important; color:var(--tf-gold-light)!important; }
.tf-button--secondary:hover { background:rgba(166,157,106,.1)!important; color:#fff!important; }
.tf-hero__features { gap:12px; }
.tf-hero__feature { min-width:0; padding:14px 15px; display:flex!important; align-items:flex-start!important; gap:12px!important; border:1px solid rgba(166,157,106,.2); border-radius:var(--tf-radius); background:rgba(10,13,10,.58); }
.tf-hero__feature > span { min-width:0; display:grid; gap:4px; }
.tf-hero__feature strong { color:#fff; font-size:12px; line-height:1.2; letter-spacing:.05em; text-transform:uppercase; }
.tf-hero__feature small { color:#b6bbb2; font-size:12px; line-height:1.35; text-transform:none; }
.tf-hero__feature .tf-icon { margin-top:2px; }
.tf-trust-strip__inner { min-height:118px; grid-template-columns:repeat(5,1fr)!important; }
.tf-trust-strip__item { min-height:68px!important; padding:0 18px!important; }
.tf-trust-strip__item strong { font-size:11px; letter-spacing:.04em; }
.tf-trust-strip__item small { font-size:10px; line-height:1.25; text-transform:none; }
.tf-footer__grid { gap:58px; padding-block:56px; }
.tf-brand--footer img { width:150px; }
.tf-footer__newsletter p { font-size:15px; }
.tf-footer__bottom .tf-container { min-height:72px; }
.tf-payment-area { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 14px; text-align:right; }
.tf-payment-area > strong { color:#d8d8d0; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.tf-payment-methods { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.tf-payment-methods span { padding:5px 8px; border:1px solid rgba(166,157,106,.32); border-radius:3px; color:#c1b879; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.tf-payment-area small { flex-basis:100%; color:#7f877d; font-size:9px; }

@media (max-width:960px) {
  .tf-hero h1 { font-size:clamp(24px,4vw,58px)!important; }
  .tf-hero__actions { max-width:320px; flex-direction:column; align-items:stretch; }
  .tf-hero__actions .tf-button { justify-content:center; }
}

/* Correção de camadas interativas — módulo 10.1 */
[hidden] { display: none !important; }

.tf-hero__overlay,
.tf-category-card__overlay,
.tf-category-card::before { pointer-events: none; }

.tf-modal {
  visibility: hidden;
  pointer-events: none;
}

.tf-modal.is-open {
  visibility: visible;
  pointer-events: auto;
}

.tf-modal[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.tf-cart-drawer-overlay {
  visibility: hidden;
  pointer-events: none;
}

.tf-cart-drawer-overlay.is-open {
  visibility: visible;
  pointer-events: auto;
}

.tf-cart-drawer-overlay[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.tf-cart-drawer {
  visibility: hidden;
  pointer-events: none;
}

.tf-cart-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.tf-all-categories__dropdown[hidden],
.tf-tab-panel[hidden] { display: none !important; }
