/* CRI-ONE site-wide typography — v20260802-0446
 *
 * Open Sans, self-hosted under /static/luma/fonts/ because /static/ is not
 * whitelisted past the lockdown gate but /static/luma/ is. The @font-face in
 * styles-m.css pointed at /static/fonts/, which does not exist, so Open Sans
 * never actually loaded anywhere on the site until now.
 *
 * font-display:swap so text paints immediately in the fallback and reflows to
 * Open Sans when it arrives — no invisible-text flash on a slow connection.
 */

@font-face {
  font-family: 'Open Sans';
  src: url('fonts/opensans/light/opensans-300.woff2') format('woff2'),
       url('fonts/opensans/light/opensans-300.woff') format('woff');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/opensans/regular/opensans-400.woff2') format('woff2'),
       url('fonts/opensans/regular/opensans-400.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/opensans/semibold/opensans-600.woff2') format('woff2'),
       url('fonts/opensans/semibold/opensans-600.woff') format('woff');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/opensans/bold/opensans-700.woff2') format('woff2'),
       url('fonts/opensans/bold/opensans-700.woff') format('woff');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* ── the stack, site-wide ─────────────────────────────────────────────
   Scoped away from the Magento admin, matching the guard the store CSS
   already uses, so admin chrome is never touched. */
html body:not([class*='adminhtml-']),
html body:not([class*='adminhtml-']) * {
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ── base size ──────────────────────────────────────────────────────── */
html body:not([class*='adminhtml-']) {
  font-size: medium;
}

/* ── icon fonts must keep their own family ───────────────────────────
   Without this every Luma glyph renders as a stray letter. */
html body:not([class*='adminhtml-']) [class^='icon-'],
html body:not([class*='adminhtml-']) [class*=' icon-'],
html body:not([class*='adminhtml-']) .luma-icon,
html body:not([class*='adminhtml-']) ._icon-font,
html body:not([class*='adminhtml-']) .porto-icon,
html body:not([class*='adminhtml-']) .abs-icon,
html body:not([class*='adminhtml-']) [data-icon],
html body:not([class*='adminhtml-']) .action.tocompare:before,
html body:not([class*='adminhtml-']) .action.towishlist:before {
  font-family: 'luma-icons', 'porto-icons', 'Material Icons', monospace !important;
}
html body:not([class*='adminhtml-']) .cri-bd-h,
html body:not([class*='adminhtml-']) .cli-h,
html body:not([class*='adminhtml-']) .eng-h {
  /* the display headline keeps Arial Black — Open Sans has no 900 weight here */
  font-family: "Arial Black", "Arial Bold", Gadget, Arial, sans-serif;
}
