/* ============================================================================
   FONTS — self-hosted, subset to the two scripts this shop actually sets.
   ----------------------------------------------------------------------------
   Downloaded from Google Fonts and served from this theme. Not a preference:
   a third-party font request is a third party watching every visitor load a
   page, it is a second DNS + TLS handshake on the critical path, and it makes
   the shop's typography depend on a host nobody here controls.

   WHY THERE ARE 12 FILES AND NOT TWO. Each face is split by `unicode-range`,
   exactly as Google serves it. The browser downloads a file only if the page
   contains a character inside its range — so a Hebrew page fetches the Hebrew
   cuts and touches Latin only because of "LINDA", "XS" and the prices. Merging
   them into one file per weight would make every visitor download every script.
   If you regenerate this file, KEEP the unicode-range declarations.

   ONLY TWO ARE PRELOADED (see linda_preload_fonts() in functions.php):
   Heebo 400 hebrew and Frank Ruhl Libre 400 hebrew. Those are the body text and
   the hero headline. Preloading the rest would make five more font files
   compete with the hero photograph for the first megabyte.

   Heebo carries BOTH Hebrew and Latin on one set of metrics, which is why
   prices (₪269), size codes (XS) and the wordmark sit on the same baseline as
   the Hebrew around them.

   Frank Ruhl Libre is the display face, at 400 only. It descends from
   Frank-Rühl, the Hebrew book face this typography grew out of. Display type at
   this scale needs no bolder weight, and every extra weight is another file on
   the critical path.

   REGENERATE: see docs/fonts.md in this theme.
   Fetched 2026-08-19. Both families are licensed under the SIL Open Font
   License 1.1, which permits self-hosting.
   ========================================================================== */

:root {
  /* The two family stacks the token system in tokens.css composes on top of.
     Named to match what next/font injected in the app it was ported from, so
     the ported CSS did not need editing. */
  --font-hebrew: "Heebo", "Display Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display-face: "Frank Ruhl Libre", "Display Fallback", Georgia, serif;
}


/* Frank Ruhl Libre 400 */

@font-face {
  font-family: "Frank Ruhl Libre";
  font-style: normal;
  font-weight: 400;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./frank-ruhl-libre-400-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Frank Ruhl Libre";
  font-style: normal;
  font-weight: 400;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./frank-ruhl-libre-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Heebo 300 */

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 300;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-300-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 300;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-300-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Heebo 400 */

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 400;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-400-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 400;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Heebo 500 */

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 500;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-500-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 500;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Heebo 600 */

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 600;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-600-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 600;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Heebo 700 */

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 700;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-700-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 700;
  /* swap, never block: text in a fallback face is readable; invisible text is not. */
  font-display: swap;
  src: url("./heebo-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
