/* ============================================================================
   theme.css — ePortID per-client skin. Overrides COLOR / SPACE / MOTION / RADIUS
   only. Font is LOCKED to Inter (defined in components.css) — never overridden.
   Direction: Industrial Precision, adapted for high-security / biometric.
   ========================================================================== */
:root{
  /* surfaces & ink — enterprise slate neutrals */
  --bg:#FFFFFF;
  --surface:#F8FAFC;
  --surface-2:#EEF2F7;
  --ink:#0F172A;
  --ink-soft:#475569;
  --line:#E5E7EB;

  /* brand & accent — enterprise identity-infrastructure navy + blue */
  --brand:#0B3A63;
  --brand-strong:#062845;
  --accent:#1478C8;
  --accent-2:#3E9BE0;
  --accent-ink:#FFFFFF;
  --on-brand:#FFFFFF;
  --success:#22C55E;

  /* radius */
  --radius:12px;
  --radius-sm:8px;
}

/* Cards adopt the enterprise standard set by the homepage "Why ePortID?"
   section: softer 20px corners across all card components. */
.card,.product-card,.cat-card{border-radius:20px}

/* Clip the off-screen mobile nav drawer so it never adds horizontal scroll.
   `clip` (not `hidden`) leaves vertical scroll on <html>, so the sticky header
   keeps working. */
html{overflow-x:clip}
body{overflow-x:clip}

/* Nav legibility on the transparent header (over the dark home hero):
   links are white there, so the default light hover background made them
   invisible. Use a translucent-white hover instead and keep text white.
   (Higher specificity than components.css's .nav__link:hover, so it wins.) */
.site-header--transparent:not(.is-scrolled) .nav__link:hover,
.site-header--transparent:not(.is-scrolled) .nav__trigger:hover{
  background:rgba(255,255,255,.16);
  color:#fff;
}

/* Standard screen-reader-only utility (used for hidden section headings).
   Was referenced but never defined, so the heading rendered visibly. */
.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}
