/**
 * @file
 * Global CSS custom properties.
 *
 * Replaces the corresponding Olivero stylesheet.
 *
 * @see core/themes/olivero/css/base/variables.css
 */

:root {
  --font-sans: system-ui, -apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Noto Sans", "Ubuntu", "Cantarell", "Helvetica Neue", "Arial", sans-serif;
  --font-serif: ui-serif, "Georgia", "Cambria", "Times New Roman", "Times", serif;

  /* Typography helpers. */
  --font-size-base: 1rem;
  --font-size-l: 1.125rem;
  --font-size-s: 0.875rem;
  --font-size-xs: 0.8125rem;
  --font-size-xxs: 0.75rem;
  --line-height-base: 1.5;
  --line-height-s: 1.125rem;

  /* Layout helpers. */
  --max-width: 87.5rem;
  --max-bg-color: 87.5rem;
  --sp: 1rem;
  --content-left: 0rem;
  --site-header-height-wide: var(--sp6);
  --container-padding: var(--sp);

  @media (min-width: 75rem) {
    --container-padding: var(--sp2);
  }

  /**
   * Grid helpers.
   *
   * These variables help authors apply widths and negative margins to break items out of
   * the grid, while still conforming to the larger grid system.
   */
  --scrollbar-width: 0px; /* Unit must be specified here for calc() to work properly.*/
  --grid-col-count: 6;
  --grid-gap: var(--sp);
  --grid-gap-count: calc(var(--grid-col-count) - 1); /* Count of grid-gaps. */
  --grid-full-width: calc(100vw - var(--sp2) - var(--scrollbar-width)); /* Width of the entire grid. */
  --grid-col-width: calc((var(--grid-full-width) - (var(--grid-gap-count) * var(--grid-gap))) / var(--grid-col-count)); /* Width of a grid column. */

  @media (min-width: 43.75rem) {
    --grid-col-count: 14;
    --grid-gap: var(--sp2);
  }

  @media (min-width: 62.5rem) {
    --scrollbar-width: 0.9375rem; /* Approximate width of a scrollbar. Doesn't have to be perfect. */
  }

  @media (min-width: 75rem) {
    --grid-full-width: calc(100vw - var(--scrollbar-width) - var(--content-left) - var(--sp4));
  }

  @media (min-width: 90rem) {
    --grid-full-width: calc(var(--max-width) - var(--sp4));
  }

  /* Layout helpers */
  --sp0-25: calc(0.25 * var(--sp));
  --sp0-5: calc(0.5 * var(--sp));
  --sp0-75: calc(0.75 * var(--sp));
  --sp1: calc(1 * var(--sp));
  --sp1-5: calc(1.5 * var(--sp));
  --sp2: calc(2 * var(--sp));
  --sp2-5: calc(2.5 * var(--sp));
  --sp3: calc(3 * var(--sp));
  --sp3-5: calc(3.5 * var(--sp));
  --sp4: calc(4 * var(--sp));
  --sp4-5: calc(4.5 * var(--sp));
  --sp5: calc(5 * var(--sp));
  --sp6: calc(6 * var(--sp));
  --sp7: calc(7 * var(--sp));
  --sp8: calc(8 * var(--sp));
  --sp9: calc(9 * var(--sp));
  --sp10: calc(10 * var(--sp));
  --sp11: calc(11 * var(--sp));
  --sp12: calc(12 * var(--sp));
  --sp13: calc(13 * var(--sp));

  /**
   * Gray colors.
   */
  --color--gray-0: #000;
  --color--gray-5: #0b0d0f;
  --color--gray-10: #181d20;
  --color--gray-20: #2b353b;
  --color--gray-45: #5f7581;
  --color--gray-60: #8196a2;
  --color--gray-65: #92a5af;
  --color--gray-70: #adbbc2;
  --color--gray-90: #dce2e5;
  --color--gray-95: #eaeef0;
  --color--gray-97: #f6f8f8;
  --color--gray-100: #fff;

  /**
   * Fixed gray colors.
   */
  --fixed-color--gray-0: #000;
  --fixed-color--gray-5: #0b0d0f;
  --fixed-color--gray-10: #181d20;
  --fixed-color--gray-20: #2b353b;
  --fixed-color--gray-45: #5f7581;
  --fixed-color--gray-60: #8196a2;
  --fixed-color--gray-65: #92a5af;
  --fixed-color--gray-70: #adbbc2;
  --fixed-color--gray-90: #dce2e5;
  --fixed-color--gray-95: #eaeef0;
  --fixed-color--gray-97: #f6f8f8;
  --fixed-color--gray-100: #fff;

  /**
   * Primary colors.
   */
  --color--primary-20: #0e5077;
  --color--primary-30: #116392;
  --color--primary-40: #1475ad;
  --color--primary-50: #1b9ae4;
  --color--primary-60: #52b3eb;
  --color--primary-80: #ddf0fb;

  --rcak-color--orange: #ea7f1d;
  --rcak-color--green: #0faa2f;
  --rcak-color--pink: #e0267d;
  --rcak-color--blue: #1d4f96;

  /**
   * Variables specific to text.
   */
  --color-text-neutral-soft: var(--color--gray-45);
  --color-text-neutral-medium: var(--color--gray-20);
  --color-text-neutral-loud: var(--color--gray-5);

  --color-text-primary-soft: var(--color--primary-50);
  --color-text-primary-medium: var(--color--primary-40);
  --color-text-primary-loud: var(--color--primary-20);

  /**
   * Named Colors.
   */
  --color--black: #000; /* Black */
  --color--white: #fff; /* White */
  --color--red: #e33f1e; /* Red */
  --color--gold: #fdca40; /* Gold */
  --color--green: #3fa21c; /* Green */

  /* Header */
  --header-height-wide-when-fixed: var(--sp6);

  /* Width of slide out navigation */
  --mobile-nav-width: 31.25rem;

  /* Border radius */
  --border-radius: 0.1875rem;
}

@media (prefers-color-scheme: dark) {
  :root {

  /* Gray colors. */
  --color--gray-0: #fff;
  --color--gray-5: #f6f8f8;
  --color--gray-10: #eaeef0;
  --color--gray-20: #dce2e5;
  --color--gray-45: #adbbc2;
  --color--gray-60: #92a5af;
  --color--gray-65: #8196a2;
  --color--gray-70: #5f7581;
  --color--gray-90: #2b353b;
  --color--gray-95: #181d20;
  --color--gray-97: #0b0d0f;
  --color--gray-100: #000;

  /* Primary colors. */
  --color--primary-20: #ddf0fb;
  --color--primary-30: #52b3eb;
  --color--primary-40: #1b9ae4;
  --color--primary-50: #1475ad;
  --color--primary-60: #116392;
  --color--primary-80: #0e5077;

  color-scheme: dark;
  }
}
