/* Tool Nexora Market theme: charcoal + lime on off-white. Loaded after all other CSS. */
:root{
  --forest:#1d211f;--forest-2:#353a37;--moss:#4a6600;--charcoal:#141715;--ink:#1d211f;
  --warm:#f4f6f1;--paper:#eef1ea;--beige:#e6f5bf;--sand:#d7dcd0;--line:#dde2d6;--gray:#e8ebe3;--mute:#5b615c;
  --rust:#a6402e;--ok:#2f6b4f;--warn:#9a6410;--orange:#b8e62e;--orange-2:#4a6600;
  --display:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;
  --shadow:0 1px 2px rgba(20,23,21,.06),0 14px 32px -14px rgba(29,33,31,.35);
}
body{background:var(--warm)}
body::after{opacity:.02}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.03em}
:focus-visible{outline:2px solid var(--forest-2);outline-offset:2px}
.eyebrow{color:var(--orange-2);font-weight:500}
.btn{--bg:var(--forest);--fg:#fff}.btn:hover{--bg:var(--forest-2);box-shadow:0 8px 18px -10px rgba(29,33,31,.6)}
.btn-accent{--bg:var(--orange);--fg:var(--charcoal)}.btn-accent:hover{--bg:#a5d11c}
.btn-ghost{--bg:transparent;--fg:var(--forest)}.btn-ghost:hover{--bg:var(--paper)}
.btn-light{--bg:#fffaf2;--fg:var(--forest)}.btn-light:hover{--bg:var(--beige)}
.tvx-ghost-light{--fg:#fff;border-color:rgba(255,255,255,.45)}.tvx-ghost-light:hover{--bg:rgba(255,255,255,.12)}
.link{color:var(--forest);border-bottom-color:var(--orange)}
.announce{background:var(--forest);color:#e6f5bf}
.header{border-bottom:3px solid var(--orange)}
.search input{background:#fffdf9}
.search input:focus,input:focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(184,230,46,.35)}
.badge{background:var(--orange);color:var(--charcoal)}
.header .nav a::after{background:var(--orange)}
.tvx-logo b{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:1.2rem}
.tvx-mark{transition:transform .25s ease}.tvx-logo:hover .tvx-mark{transform:rotate(-6deg)}
.footer .tvx-mark .bh-tile{fill:var(--forest-2)}
.footer a:hover{color:var(--orange)}
.flash{border-left-color:var(--orange)}
.hero::before{background:linear-gradient(90deg,rgba(20,23,21,.9) 0%,rgba(29,33,31,.55) 50%,rgba(29,33,31,.05) 80%),linear-gradient(0deg,rgba(20,23,21,.6),transparent 45%)}
.hero h1{font-weight:800;color:#fff}.hero h1 em{color:var(--orange);font-style:normal}
.hero .eyebrow{color:#b8e62e}.hero p{color:#f4f6f1}
.tvx-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--orange);z-index:3}
.tvx-empty-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.tvx-steps{list-style:none;margin:0;padding:0;border-left:3px solid var(--orange)}
.tvx-steps li{display:flex;gap:18px;padding:18px 0 18px 24px;border-bottom:1px solid var(--line)}
.tvx-steps b{font-family:var(--mono);color:var(--orange-2);font-size:.8rem}
.tvx-steps strong{display:block;color:var(--charcoal);font-size:1.05rem}
.tvx-steps span{color:var(--mute)}
.card,.panel,.stat,.cmp-table,.qty,.ship-opt,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=search],select,textarea,.ac{background:#fffdf9}
.card:hover{border-color:var(--forest)}
.tag.sale{background:var(--orange);color:var(--charcoal)}.tag.feat{background:var(--forest)}
.cmp-toggle.on,.thumbs button.on{background:var(--forest);border-color:var(--forest)}
.off{color:var(--rust)}
.dark{background:var(--forest);color:#e4e8e0}.dark h2,.dark h3{color:#fff}.dark .eyebrow{color:#b8e62e}
.nl-form input{background:var(--forest-2);border-color:#4c524e;color:#fff}
.nl-form input::placeholder{color:#c9cfc4}
.backyard-copy{background:var(--forest);color:#e4e8e0}.backyard-copy .eyebrow{color:#b8e62e}
.faq summary::after{color:var(--orange-2)}
.chip{background:var(--paper)}.chip:hover{background:var(--beige)}
.fieldset legend i,.success-mark{background:var(--forest);color:#fff}
.ship-opt:has(input:checked){border-color:var(--forest);box-shadow:0 0 0 1px var(--forest) inset}
.tabs button.on{border-color:var(--orange)}
.side-nav a.on,.side-nav a:hover{border-color:var(--orange)}
.ship-meter i{background:var(--orange)}
.cmp-tray{background:var(--forest)}
.cmp-tray .btn-ghost{--fg:#fff;border-color:rgba(255,255,255,.35)}
.cmp-table tr.diff td{background:#f4fbe0}
.auth-art{background:linear-gradient(0deg,rgba(20,23,21,.92),rgba(29,33,31,.4)),url("../images/hero.jpg") center/cover}
.auth-art::after{content:"";display:block;width:64px;height:4px;background:var(--orange);margin-top:20px}
.error-code{color:var(--forest-2);opacity:.85}
.table tr:hover td{background:#eef1ea}
.admin-side{background:var(--charcoal);color:#e4e8e0}
.admin-side a.nl:hover{background:var(--forest-2)}
.admin-side a.nl.on{background:var(--orange);color:var(--charcoal)}
.admin-main{background:#f3f6f4}
.stat{border-top:3px solid var(--orange)}
.ap-save{background:#f3f6f4}
input[type=radio],input[type=checkbox]{accent-color:var(--forest)}
/* product page (overrides product.css hardcoded greens) */
.btn-cart{--bg:var(--charcoal);--fg:#fff}.btn-cart:hover{--bg:var(--forest-2)}
.btn-now{--bg:var(--orange);--fg:var(--charcoal)}.btn-now:hover{--bg:#a5d11c}
.btn-now svg{color:var(--charcoal)}
.pp-delivery{background:var(--paper)}
.pp-ico{background:var(--paper);color:var(--forest)}
.pp-ico-lg{background:#e6f5bf;color:var(--forest)}
.pp-tiles li,.pp-card{background:#fffdf9}
.tvx-policy .pp-new{background:#f4fbe0;border-color:var(--beige);border-left-color:var(--orange)}
/* checkout (overrides checkout.css green tokens) */
.co-body{--co-green:#1d211f;--co-green-2:#353a37;--co-tint:#eef1ea;--co-line:#dde2d6;--co-ink:#1d211f;--co-mute:#5b615c;--co-surface:#fdfefd;background:#f4f6f1}
.co-body input[type=text],.co-body input[type=email],.co-body input[type=tel],.co-body select{border-color:#cdd3c6}
.co-body input:focus{border-color:var(--co-green);box-shadow:0 0 0 3px rgba(184,230,46,.35)}
.co-opt{border-color:#cdd3c6}.co-btn-ghost{border-color:#cdd3c6}
.co-opt-ship{background:#eef1ea}
.co-review,.co-check,.co-confidence{background:#f1f4ec}
.co-mode{background:#e6f5bf;color:#3a5000}.co-mode.live{background:#e6f5bf;color:#1d211f}
@media(max-width:900px){.tvx-empty-grid{grid-template-columns:1fr;gap:32px}}
@media(prefers-reduced-motion:reduce){.tvx-mark{transition:none}}
