/* TrueValley Market theme: aubergine plum + saffron on warm cream. Loaded after all other CSS. */
:root{
  --forest:#3b1f45;--forest-2:#55305f;--moss:#b5821a;--charcoal:#2a1531;--ink:#2e2233;
  --warm:#fdf9f4;--paper:#f6eee6;--beige:#fbe7b8;--sand:#dccbd6;--line:#ebdfe4;--gray:#f1e8ec;--mute:#6c5c6f;
  --rust:#a6402e;--ok:#2f6b4f;--warn:#9a6410;--orange:#f0b93e;--orange-2:#8a5d06;
  --display:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;
  --shadow:0 1px 2px rgba(42,21,49,.06),0 14px 32px -14px rgba(59,31,69,.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(59,31,69,.6)}
.btn-accent{--bg:var(--orange);--fg:var(--charcoal)}.btn-accent:hover{--bg:#e2a524}
.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:#fbe7b8}
.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(240,185,62,.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 rect{fill:var(--forest-2)}
.footer a:hover{color:var(--orange)}
.flash{border-left-color:var(--orange)}
.hero::before{background:linear-gradient(90deg,rgba(42,21,49,.9) 0%,rgba(59,31,69,.55) 50%,rgba(59,31,69,.05) 80%),linear-gradient(0deg,rgba(42,21,49,.6),transparent 45%)}
.hero h1{font-weight:800;color:#fff}.hero h1 em{color:var(--orange);font-style:normal}
.hero .eyebrow{color:#f7d78a}.hero p{color:#efe4ec}
.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:#e6d8e3}.dark h2,.dark h3{color:#fff}.dark .eyebrow{color:#f7d78a}
.nl-form input{background:var(--forest-2);border-color:#7a5384;color:#fff}
.nl-form input::placeholder{color:#d6c3d6}
.backyard-copy{background:var(--forest);color:#e6d8e3}.backyard-copy .eyebrow{color:#f7d78a}
.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:#fdf3dc}
.auth-art{background:linear-gradient(0deg,rgba(42,21,49,.92),rgba(59,31,69,.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:#faf3f6}
.admin-side{background:var(--charcoal);color:#e6d8e3}
.admin-side a.nl:hover{background:var(--forest-2)}
.admin-side a.nl.on{background:var(--orange);color:var(--charcoal)}
.admin-main{background:#faf6f2}
.stat{border-top:3px solid var(--orange)}
.ap-save{background:#faf6f2}
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:#e2a524}
.btn-now svg{color:var(--charcoal)}
.pp-delivery{background:var(--paper)}
.pp-ico{background:var(--paper);color:var(--forest)}
.pp-ico-lg{background:#f3e6ef;color:var(--forest)}
.pp-tiles li,.pp-card{background:#fffdf9}
.tvx-policy .pp-new{background:#fdf3dc;border-color:var(--beige);border-left-color:var(--orange)}
/* checkout (overrides checkout.css green tokens) */
.co-body{--co-green:#3b1f45;--co-green-2:#55305f;--co-tint:#f8f1f4;--co-line:#eadde3;--co-ink:#2e2233;--co-mute:#6c5c6f;--co-surface:#fffdfb;background:#fdf9f4}
.co-body input[type=text],.co-body input[type=email],.co-body input[type=tel],.co-body select{border-color:#d9c9d2}
.co-body input:focus{border-color:var(--co-green);box-shadow:0 0 0 3px rgba(240,185,62,.35)}
.co-opt{border-color:#d9c9d2}.co-btn-ghost{border-color:#d3c2cd}
.co-opt-ship{background:#f8f1f4}
.co-review,.co-check,.co-confidence{background:#faf4f6}
.co-mode{background:#fbe7b8;color:#6e4a05}.co-mode.live{background:#ecdcea;color:#3b1f45}
@media(max-width:900px){.tvx-empty-grid{grid-template-columns:1fr;gap:32px}}
@media(prefers-reduced-motion:reduce){.tvx-mark{transition:none}}
