/* Smart Innovation — brand tokens + global base. Loaded after astra-theme-css. */
:root{
  /* Brand colour */
  --si-orange:#e47916; --si-orange-dark:#c25f08; --si-orange-mid:#d56e10;
  /* Astra ships a blue accent (--ast-global-color-1:#045cb4) that drives every
     link hover, nav hover and pagination hover. Repoint it to brand orange.
     !important on the custom property beats Astra's inline :root no matter the
     source order, so all Astra hovers go brand-orange in one line. */
  --ast-global-color-1:#c25f08 !important;
  --si-orange-soft:#fbe7d2; --si-orange-tint:#fdf3ea;
  --si-orange-glow:rgba(228,121,22,.18);
  /* Ink / neutrals — warm, not cold */
  --si-ink:#232323; --si-ink-2:#3a3a3a; --si-near-black:#0e0e0e;
  --si-white:#fff; --si-warm-white:#faf7f4; --si-paper:#f4efe9; --si-cream:#efe7dc;
  --si-grey-700:#4d4d4d; --si-grey-500:#767676; --si-grey-400:#9a948c; --si-grey-300:#c9c2ba;
  --si-border:#e7e0d8; --si-border-strong:#d8cfc4;
  --si-ok:#16a34a; --si-warn:#d97706; --si-error:#dc2626; --si-info:#2563eb;
  /* Type */
  --si-font-display:'Poppins','Inter',system-ui,sans-serif;
  --si-font-body:'Inter',system-ui,-apple-system,sans-serif;
  --si-font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
  /* Spacing — geometric */
  --s2:2px;--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s20:20px;--s24:24px;--s32:32px;--s40:40px;--s48:48px;--s64:64px;--s96:96px;--s128:128px;
  /* Shape */
  --si-radius-xs:6px; --si-radius-sm:8px; --si-radius:14px; --si-radius-lg:22px; --si-radius-pill:999px;
  /* Shadows — refined, not big soft pillows */
  --si-shadow-sm:0 1px 2px rgba(20,20,20,.04),0 2px 6px rgba(20,20,20,.04);
  --si-shadow:0 1px 2px rgba(20,20,20,.04),0 8px 24px -10px rgba(20,20,20,.18);
  --si-shadow-lg:0 1px 2px rgba(20,20,20,.04),0 24px 50px -20px rgba(20,20,20,.28);
  --si-shadow-orange:0 1px 2px rgba(20,20,20,.06),0 10px 24px -8px rgba(228,121,22,.45);
  /* Motion */
  --si-ease:cubic-bezier(.2,.7,.2,1);
  --si-ease-out:cubic-bezier(.16,1,.3,1);
  --si-dur-fast:.15s; --si-dur:.22s; --si-dur-slow:.5s;
  /* Layout */
  --si-wrap:1200px; --si-gutter:24px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:120px}
body{
  font-family:var(--si-font-body);
  color:var(--si-ink);
  background:var(--si-warm-white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"ss01","cv11";
  line-height:1.55;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,.entry-title,.site-title{
  font-family:var(--si-font-display);
  color:var(--si-ink);
  letter-spacing:-.018em;
  line-height:1.08;
  text-wrap:balance;
  margin:0 0 .4em;
}
h1{font-weight:800;font-size:clamp(2.4rem,5.5vw,4.2rem);letter-spacing:-.028em;line-height:1.02}
h2{font-weight:700;font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.022em}
h3{font-weight:600;font-size:clamp(1.15rem,1.8vw,1.4rem);letter-spacing:-.012em}
h4,h5{font-weight:600}
p{text-wrap:pretty}
a{color:var(--si-orange-dark);text-decoration:none;transition:color var(--si-dur-fast) var(--si-ease)}
a:hover{color:var(--si-orange)}
::selection{background:var(--si-orange);color:#fff}
hr, .si-rule{border:0;border-top:1px solid var(--si-border);margin:48px auto;max-width:120px}
.si-rule--dot{border:0;height:8px;background:radial-gradient(circle,var(--si-orange) 2px,transparent 2.5px) 50% 50%/12px 8px no-repeat;margin:48px auto}

/* WCAG-AA focus ring, site-wide */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.button:focus-visible{
  outline:2px solid var(--si-orange);outline-offset:3px;border-radius:var(--si-radius-xs);
  box-shadow:0 0 0 5px var(--si-orange-tint);
}

/* ---------- Buttons ---------- */
.button,.wp-block-button__link,button.single_add_to_cart_button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.si-btn{
  display:inline-flex;align-items:center;gap:.55em;justify-content:center;
  background:var(--si-orange);color:#fff;border:0;border-radius:var(--si-radius-pill);
  font-family:var(--si-font-display);font-weight:600;letter-spacing:.005em;
  padding:.78em 1.55em;font-size:.98rem;line-height:1;cursor:pointer;
  transition:background var(--si-dur) var(--si-ease),transform var(--si-dur) var(--si-ease),box-shadow var(--si-dur) var(--si-ease),color var(--si-dur) var(--si-ease);
  text-decoration:none;white-space:nowrap;
}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.si-btn:hover,button.single_add_to_cart_button:hover{
  background:var(--si-orange-dark);color:#fff;box-shadow:var(--si-shadow-orange);transform:translateY(-1px)
}
.button:active,.si-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(20,20,20,.1)}
.si-btn--lg{padding:.95em 1.9em;font-size:1.02rem}
.si-btn--sm{padding:.55em 1.15em;font-size:.85rem}
.si-btn--ghost{background:transparent;color:var(--si-ink);border:1.5px solid var(--si-border-strong)}
.si-btn--ghost:hover{background:var(--si-ink);color:#fff;border-color:var(--si-ink);box-shadow:var(--si-shadow);transform:translateY(-1px)}
.si-btn--dark{background:var(--si-ink);color:#fff}
.si-btn--dark:hover{background:#000;color:#fff;box-shadow:var(--si-shadow)}
.si-btn--quiet{background:transparent;color:var(--si-grey-700);padding:.4em 0;border-radius:0;border-bottom:1.5px solid currentColor;font-weight:600}
.si-btn--quiet:hover{color:var(--si-orange-dark);transform:none;box-shadow:none}
.si-btn--icon{padding:.55em .7em;border-radius:50%;aspect-ratio:1}

/* ---------- Surfaces & utility ---------- */
.si-card{background:#fff;border:1px solid var(--si-border);border-radius:var(--si-radius);box-shadow:var(--si-shadow-sm);transition:transform var(--si-dur) var(--si-ease),box-shadow var(--si-dur) var(--si-ease),border-color var(--si-dur) var(--si-ease)}
.si-card:hover{transform:translateY(-3px);box-shadow:var(--si-shadow);border-color:var(--si-border-strong)}
.si-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--si-font-display);font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--si-orange)}
.si-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--si-orange);box-shadow:0 0 0 4px var(--si-orange-glow)}

/* Eyebrow */
.si-eyebrow{font-family:var(--si-font-display);font-weight:700;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--si-orange);display:inline-flex;align-items:center;gap:10px}
.si-eyebrow::before{content:"";width:24px;height:1.5px;background:var(--si-orange)}

/* Visually hidden (screen-reader only) */
.si-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Touch */
button,.si-btn,.si-header-action,.si-swatch,.si-tier__card,.si-search-overlay__chip,.si-mega-swatch,.si-footer-nav a,.si-utilitybar a,.si-cta-band a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .si-card:hover{transform:none}
}
