/* CRI-ONE site-wide typography — v20260803-0610
 *
 * Open Sans (self-hosted under /static/luma/fonts/opensans/) as the single
 * site-wide sans family. Chose Open Sans over system-native on 2026-08-03
 * per Chris — trade a ~120 KB font load for a consistent look across every
 * OS, and match what the site had before the 2026-08-03 system-ui detour.
 *
 * 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 line.
 *
 * Scoped away from adminhtml so Magento admin chrome is never touched.
 */

@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;
}

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. */
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;
}

/* Display headline weight — Open Sans 700 is the heaviest available. */
html body:not([class*='adminhtml-']) .cri-bd-h,
html body:not([class*='adminhtml-']) .cli-h,
html body:not([class*='adminhtml-']) .eng-h {
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
}

/* Monospace / code — keep a native mono stack. */
html body:not([class*='adminhtml-']) code,
html body:not([class*='adminhtml-']) pre,
html body:not([class*='adminhtml-']) kbd,
html body:not([class*='adminhtml-']) samp {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
               "Liberation Mono", monospace;
}
