/**
 * fonts.css - the self-hosted families the original site used, and the legacy
 * family alias.
 *
 * Every face below was recovered from bedishop.ge itself on 2026-09-25, not
 * reconstructed from a screenshot. The MarksGeo Caps and FiraGO @font-face
 * blocks are transcribed from the Elementor "Custom Fonts CSS" emitted into
 * uploads/elementor/css/post-24600.css; the Mulish blocks are transcribed from
 * Elementor's own Google-Fonts cache at
 * uploads/elementor/google-fonts/css/mulish.css. The files themselves were
 * copied byte-for-byte from that server, magic-byte checked (sfnt 00 01 00 00 /
 * wOF2) and scanned for executable payloads before being taken across.
 *
 * THE WEIGHT MAP IS NOT A DESIGN CHOICE - IT IS THE ORIGINAL'S. Read it before
 * changing anything:
 *
 *   MarksGeo Caps 500 -> Mark-GEO-CAPS-Light.ttf
 *   MarksGeo Caps 600 -> MarkGEOCAPS-Medium.ttf
 *   MarksGeo Caps 800 -> MARKGEOCAPS-BOLD.TTF
 *
 * The shop names a weight the family does not ship: the hero heading is
 * MarksGeo Caps 42px/900 and several card titles are 16px/900, but no 900 face
 * exists here and none ever did. The browser synthesises those from the 800
 * file. That is exactly what bedishop.ge did, so it is reproduced rather than
 * "fixed" - adding a real 900 would make the hero heavier than the original.
 *
 * TTF, NOT WOFF2, FOR THE TWO GEORGIAN FAMILIES. They are licensed desktop
 * fonts the client already hosts; no woff2 build exists and this project has no
 * font toolchain to make one. Serving the same .ttf the original served keeps
 * the rendering identical. They are ~225 KB each and only the hero and section
 * headings use them.
 *
 * MULISH HAS NO GEORGIAN GLYPHS. Its five subsets cover latin, latin-ext,
 * cyrillic, cyrillic-ext and vietnamese - there is no U+10A0-10FF range in the
 * upstream family. Georgian body copy therefore fell through to a system face
 * on the original site too, which is why the stacks in base.css name
 * Georgian-capable fallbacks (Noto Sans Georgian, Sylfaen, BPG Nino Mtavruli)
 * after it. Do not add a Georgian unicode-range to a Mulish face: it would
 * claim codepoints the file cannot draw.
 *
 * There is no Google Fonts <link> anywhere in this theme, and there must never
 * be one. A third-party font request forces `style-src https://fonts.googleapis.com`
 * and `font-src https://fonts.gstatic.com` into the Content-Security-Policy of a
 * site that is recovering from an active script-injection compromise, and it
 * leaks every visitor IP address to a third party. See assets/fonts/README.md.
 *
 * LOAD ORDER DOES NOT MATTER between this file and base.css, and that is
 * deliberate. base.css declares --bedi-font-body and --bedi-font-display; this
 * file declares --bedi-font-sans in terms of the first of them. Custom
 * properties are resolved at computed-value time, not at parse time, so a
 * forward reference between two :root blocks in two files is well defined
 * whichever order the browser sees them in.
 *
 * @package Bedi\Theme
 */

/* -------------------------------------------------------------------------
 * 1. The legacy family token
 *
 * --bedi-font-sans is the name woo.css and editor.css already read, from
 * before the theme had a second family. It is now an alias of
 * --bedi-font-body so there is exactly one body stack in the theme, declared
 * once, in base.css with the rest of the tokens.
 *
 * Do not rename or drop it: unskinning WooCommerce is not a visible failure
 * until a customer is at the checkout.
 * ---------------------------------------------------------------------- */

:root {
	--bedi-font-sans:
		var(
			--bedi-font-body,
			"Mulish",
			"Noto Sans Georgian",
			system-ui,
			-apple-system,
			"Segoe UI",
			Roboto,
			Sylfaen,
			"BPG Nino Mtavruli",
			sans-serif
		);
}

/* -------------------------------------------------------------------------
 * 2. Mulish - body, UI, product copy. Kit base: 14px / 20px / 400.
 *
 * These are the upstream VARIABLE woff2 subsets, one file per unicode-range,
 * each carrying the whole 200-900 wght axis. That is why every block declares
 * `font-weight: 200 900` against the same file instead of one file per weight:
 * the browser instantiates the axis. Elementor's cache wrote the same five
 * files out eight times each, once per discrete weight, which downloads
 * identically and renders identically.
 *
 * font-display: swap, as the original set.
 * ---------------------------------------------------------------------- */

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1ptvg83hx_sghgqk0gotcqa.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1ptvg83hx_sghgqk2wotcqa.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1ptvg83hx_sghgqk0aotcqa.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1ptvg83hx_sghgqk0qotcqa.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1ptvg83hx_sghgqk3wot.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
	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;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1pttg83hx_sghgqk2joiaqrxba.woff2") format("woff2");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1pttg83hx_sghgqk2joraqrxba.woff2") format("woff2");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1pttg83hx_sghgqk2jogaqrxba.woff2") format("woff2");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1pttg83hx_sghgqk2johaqrxba.woff2") format("woff2");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Mulish";
	src: url("../fonts/mulish-1pttg83hx_sghgqk2jovaqq.woff2") format("woff2");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
	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;
}

/* -------------------------------------------------------------------------
 * 3. MarksGeo Caps - the display face
 *
 * Three weights, transcribed from the original Custom Fonts CSS. No
 * unicode-range, exactly as the original declared them: the family is allowed
 * to serve Latin as well as Georgian wherever a heading names it, which is what
 * bedishop.ge did.
 * ---------------------------------------------------------------------- */

@font-face {
	font-family: "MarksGeo Caps";
	src: url("../fonts/Mark-GEO-CAPS-Light.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "MarksGeo Caps";
	src: url("../fonts/MarkGEOCAPS-Medium.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "MarksGeo Caps";
	src: url("../fonts/MARKGEOCAPS-BOLD.TTF") format("truetype");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

/* -------------------------------------------------------------------------
 * 4. FiraGO - the third face
 *
 * One weight only, as supplied. The original asks for FiraGO 800 on the
 * category-card titles (12px) and 500 on several 14px headings; both are
 * synthesised from this Regular, on the original as here.
 * ---------------------------------------------------------------------- */

@font-face {
	font-family: "FiraGO";
	src: url("../fonts/FiraGO-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
