/** BuyJe core theme — load before site-specific styles. */
:root {
  --bj-teal-700:#006B70; --bj-teal-800:#004F54; --bj-coral-500:#F16E5B;
  --bj-sun-400:#F5B841; --bj-seafoam-50:#F3FAF8; --bj-white:#FFF;
  --bj-ink-900:#172B32; --bj-slate-600:#52646A; --bj-mist-200:#D7E7E3;
  --bj-success-600:#26734D; --bj-danger-600:#B42318;
  --bj-font-sans:"Segoe UI",Arial,sans-serif; --bj-radius:12px;
  --bj-shadow:0 8px 24px rgba(0,79,84,.10);
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bj-seafoam-50); color:var(--bj-ink-900); font:400 16px/1.5 var(--bj-font-sans); }
a { color:var(--bj-teal-700); font-weight:600; } a:hover { color:var(--bj-teal-800); }
h1,h2,h3 { color:var(--bj-teal-800); line-height:1.2; } h1 { font-size:clamp(2rem,4vw,3.25rem); }
.bj-card { background:var(--bj-white); border:1px solid var(--bj-mist-200); border-radius:var(--bj-radius); box-shadow:var(--bj-shadow); padding:1.5rem; }
.bj-button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; padding:.65rem 1rem; border:1px solid transparent; border-radius:8px; background:var(--bj-teal-700); color:var(--bj-white); font:600 1rem var(--bj-font-sans); text-decoration:none; cursor:pointer; }
.bj-button:hover,.bj-button:focus-visible { background:var(--bj-teal-800); color:var(--bj-white); }
.bj-button--coral { background:var(--bj-coral-500); }.bj-button--coral:hover,.bj-button--coral:focus-visible { background:#C94F40; }
.bj-input { width:100%; min-height:44px; padding:.65rem .75rem; border:1px solid var(--bj-mist-200); border-radius:8px; background:#fff; color:var(--bj-ink-900); font:inherit; }.bj-input:focus { border-color:var(--bj-teal-700); outline:3px solid rgba(0,107,112,.18); }
.bj-eyebrow { color:var(--bj-teal-700); font-size:.875rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.bj-hero { color:#fff; background:var(--bj-teal-800) center/cover no-repeat; padding:clamp(3rem,8vw,7rem) 1.5rem; }.bj-hero h1 { color:#fff; }
.bj-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
