/*
 * Secret Maison brand fonts — self-hosted.
 * Outfit (headings, prices) · DM Sans (body) · Cairo (Arabic, incl. the "د.ت" currency sign).
 * Variable fonts: one file per subset covers every weight used.
 * Only the Latin subset is shipped (covers all French text); Latin-extended was dropped
 * because Chrome fetched it on every page even with no such characters (+18 KB).
 * Fonts © their authors, SIL Open Font License 1.1 — see ../fonts/OFL.txt.
 */

/* ---------- @font-face ---------- */

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/outfit-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;
}
@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 100 1000;
	font-display: swap;
	src: url("../fonts/dmsans-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;
}
@font-face {
	font-family: "Cairo";
	font-style: normal;
	font-weight: 200 1000;
	font-display: swap;
	src: url("../fonts/cairo-arabic.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

/* ---------- Usage ----------
 * !important is needed to win over the theme's and Elementor's generated font rules.
 * Icon fonts are excluded so their glyphs keep working.
 */

:root {
	--sm-font-heading: "Outfit", "Cairo", Arial, sans-serif;
	--sm-font-body: "DM Sans", "Cairo", Arial, sans-serif;
}

/* Body: zero specificity so the heading/price rules below always win. */
:where(body, body *:not(i):not([class*="icon"]):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not([class*="pe-7s"])) {
	font-family: var(--sm-font-body) !important;
}

/* Headings and product titles. */
:is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, .woocommerce-loop-product__title, .product_title, .section-title, .product-title, .nasa-title),
:is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, .woocommerce-loop-product__title, .product_title, .section-title, .product-title, .nasa-title) :where(*:not(i):not([class*="icon"]):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not([class*="pe-7s"])) {
	font-family: var(--sm-font-heading) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
}

/* Product-card titles: slightly lighter so the grid doesn't feel heavy. */
.woocommerce-loop-product__title,
.woocommerce-loop-product__title * {
	font-weight: 600 !important;
}

/* Prices: bold Outfit. */
:is(.price, .amount, .woocommerce-Price-amount),
:is(.price, .amount, .woocommerce-Price-amount) :where(*:not(i):not([class*="icon"]):not([class*="fa-"])) {
	font-family: var(--sm-font-heading) !important;
	font-weight: 700 !important;
}

/* Old (crossed-out) price stays regular so the sale price stands out. */
.price del,
.price del * {
	font-weight: 400 !important;
}
