/*
 * typography.css — unify inner-page fonts with the brand faces.
 *
 * WHY THIS FILE EXISTS
 * The homepage renders Cormorant Garamond (headings) and Inter (body).
 * Inner pages render Poppins, the Envato template's font, because every
 * widget's typography was saved as a LITERAL font-family:"Poppins" in the
 * generated per-page CSS (post-*.css). There are zero var(--e-global-typography-*)
 * bindings anywhere, so changing the Elementor kit fonts changes nothing
 * rendered — proven 2026-10-14: kit rule .elementor-kit-442 h2 (0,1,1) loses
 * to the widget rule .elementor-element-x .elementor-heading-title (0,3,1).
 *
 * MECHANISM — READ BEFORE EDITING
 * 1. SCOPE: every selector is prefixed with
 *    body:not(.page-id-3255):not(.page-id-540) — the EN and FR homepages are
 *    excluded BY PAGE ID. They already render the brand faces from
 *    lr-design.css and must stay pixel-identical. If the homepage ever
 *    changes after an edit here, THIS exclusion is the bug — check page IDs.
 * 2. BASE RULE (no !important): body:not(...):not(...) = (0,2,1), which beats
 *    the kit's .elementor-kit-442 (0,1,0) for inherited text. This covers
 *    elements with no widget-level font rule.
 * 3. OVERRIDE RULES (!important IS DELIBERATE): widget-level literal Poppins
 *    rules reach specificity (0,4,1), there are thousands of them, and
 *    Elementor REGENERATES them whenever a page is re-saved — so no authored
 *    selector can out-specify them durably. Do NOT "simplify" by removing
 *    !important: the rule will silently lose to regenerated widget CSS and
 *    Poppins will return.
 * 4. ICON FONTS ARE SAFE: eicons / swiper / Jet glyphs render via ::before
 *    pseudo-elements, which carry their own font-family and are not matched
 *    by these element selectors. Do not add i, [class*=eicon], or ::before
 *    to these rules.
 */

/* Base layer — inherited body text on inner pages (specificity 0,2,1). */
body:not(.page-id-3255):not(.page-id-540) { font-family: 'Inter', sans-serif; }

/* Headings — Cormorant Garamond (override: !important deliberate, see header). */
body:not(.page-id-3255):not(.page-id-540) :is(h1, h2, h3, h4, h5, h6),
body:not(.page-id-3255):not(.page-id-540) .elementor-heading-title,
body:not(.page-id-3255):not(.page-id-540) .elementor-icon-box-title,
body:not(.page-id-3255):not(.page-id-540) .elementor-image-box-title,
body:not(.page-id-3255):not(.page-id-540) .page-title {
	font-family: 'Cormorant Garamond', serif !important;
}

/* Body & UI text — Inter (override: !important deliberate, see header). */
body:not(.page-id-3255):not(.page-id-540) :is(p, li, a, span, label, button, input, select, textarea, td, th, blockquote, cite, figcaption, em, strong, b, small),
body:not(.page-id-3255):not(.page-id-540) .elementor-text-editor,
body:not(.page-id-3255):not(.page-id-540) .elementor-button,
body:not(.page-id-3255):not(.page-id-540) .elementor-widget-container,
body:not(.page-id-3255):not(.page-id-540) .elementor-element,
body:not(.page-id-3255):not(.page-id-540) .jet-tabs__label-text,
body:not(.page-id-3255):not(.page-id-540) .elementor-icon-list-items,
body:not(.page-id-3255):not(.page-id-540) .elementor-icon-list-text {
	font-family: 'Inter', sans-serif !important;
}


/*
 * HOMEPAGE POPPINS CLEANUP — EN homepage only (body.page-id-3255). Approved 2026-10-16.
 * Beats only the kit element rules in post-442.css:
 *   .elementor-kit-442 a  (0,1,1) — font-family:"Poppins"
 *   .elementor-kit-442 h3 (0,1,1) — font-family:"Poppins"
 * Neither beaten rule uses !important, so nothing here does. lr-design.css
 * declares no font-family on any matched element, and nothing below matches
 * an element whose typeface lr-design.css sets. The homepage has no
 * widget-level font literals, so specificity alone is durable here.
 * Design rule: HEADINGS -> Cormorant, UI AND LINKS -> Inter.
 */
body.page-id-3255 .lr-header .lr-nav a,
body.page-id-3255 .lr-header a.lr-logo,
body.page-id-3255 .lr-header a.lr-quote,
body.page-id-3255 .lr-hero-copy a.lr-discover,
body.page-id-3255 .lx-routecard a.lx-arrow,
body.page-id-3255 .lr-booking .lrq-confirm a {
	font-family: 'Inter', sans-serif;
}
body.page-id-3255 .lx-steps3 .lx-step3 h3,
body.page-id-3255 .lx-routecard .lx-routecard-top h3,
body.page-id-3255 .lx-faq .elementor-tab-title,
body.page-id-3255 .lr-booking .lrq-confirm h3 {
	font-family: 'Cormorant Garamond', serif;
}

/* FR HOMEPAGE (page-id-540) POPPINS CLEANUP — mirrors the EN (3255) block above.
 * FR uses the same .lx-steps3 / .lx-routecard / .lx-faq components; each selector beats the
 * kit's .elementor-kit-442 a|h3 rules (0,1,1) on specificity alone, so no !important.
 * FAQ visible text and route-card .lx-route-from/.lx-route-to are already governed by post-540.css
 * inner-span rules (Inter / Cormorant) — these rules flip only the h3 wrappers and the arrow link,
 * reproducing the EN structure exactly.
 * RESIDUE AFTER THIS BLOCK: the legacy .lx-header cluster (12 @1440px / 21 @390px), hidden or
 * textless markup with NO EN equivalent — deliberately NOT styled; removal is a housekeeping item.
 */
body.page-id-540 .lx-routecard a.lx-arrow {
	font-family: 'Inter', sans-serif;
}
body.page-id-540 .lx-steps3 .lx-step3 h3,
body.page-id-540 .lx-routecard .lx-routecard-top h3,
body.page-id-540 .lx-faq .elementor-tab-title {
	font-family: 'Cormorant Garamond', serif;
}
