/**
 * ═══════════════════════════════════════════════════════════════════════════════
 * VIRGIN NATURE TOURS (VNT) — PUBLIC FRONTEND TYPOGRAPHY FOUNDATION
 * Local Cairo Variable Font Registration & Scoping
 * Source: Arabic-Font/Cairo/ (public/assets/front/fonts/cairo/)
 * ═══════════════════════════════════════════════════════════════════════════════
 */

/* ── 1. LOCAL CAIRO VARIABLE FONT REGISTRATION ────────────────────────────── */
@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-VariableFont_slnt,wght.ttf') format('truetype-variations'),
         url('../fonts/cairo/Cairo-VariableFont_slnt,wght.ttf') format('truetype');
    font-weight: 200 1000;
    font-style: normal;
    font-display: swap;
}

/* ── 2. STATIC WEIGHT FALLBACKS (FOR MAXIMUM COMPATIBILITY) ────────────────── */
@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo/Cairo-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* ── 3. DEFAULT (ENGLISH) FONT STACK WITH ARABIC FALLBACK ─────────────────── */
:root {
    --vnt-font-en: 'Plus Jakarta Sans', sans-serif;
    --vnt-font-ar: 'Cairo', 'Plus Jakarta Sans', sans-serif;
    --vnt-font-accent: 'Just Another Hand', serif;

    /* Base template variables: English by default with Cairo fallback for Arabic glyphs */
    --gotur-font: 'Plus Jakarta Sans', 'Cairo', sans-serif;
    --gotur-heading-font: 'Plus Jakarta Sans', 'Cairo', sans-serif;
    --gotur-body-font: 'Plus Jakarta Sans', 'Cairo', sans-serif;
}

/* ── 4. ARABIC LOCALE TYPOGRAPHY OVERRIDES ────────────────────────────────── */
html[lang="ar"],
html.locale-ar,
.locale-ar {
    --gotur-font: 'Cairo', 'Plus Jakarta Sans', sans-serif;
    --gotur-heading-font: 'Cairo', 'Plus Jakarta Sans', sans-serif;
    --gotur-body-font: 'Cairo', 'Plus Jakarta Sans', sans-serif;
}

html[lang="ar"] body,
html.locale-ar body,
.locale-ar body {
    font-family: var(--vnt-font-ar) !important;
}

/* Comprehensive UI element styling in Arabic context */
html[lang="ar"] :where(
    h1, h2, h3, h4, h5, h6,
    p, span, a, li, label, small, strong, b, em, blockquote,
    input, textarea, select, button,
    .btn, .gotur-btn,
    .bootstrap-select, .selectpicker,
    .dropdown-toggle, .dropdown-menu, .dropdown-item, .filter-option-inner-inner,
    .main-menu__list > li > a, .main-menu__list li ul li > a,
    .top-one, .top-one__info__item,
    .main-header__call__subtitle, .main-header__call a,
    .vnt-btn-signin, .vnt-btn-join,
    .editor-content, .policy-card, .policy-content-body,
    .card, .badge, .alert, .breadcrumb, .pagination, .table, .nav, .accordion, .modal
),
.locale-ar :where(
    h1, h2, h3, h4, h5, h6,
    p, span, a, li, label, small, strong, b, em, blockquote,
    input, textarea, select, button,
    .btn, .gotur-btn,
    .bootstrap-select, .selectpicker,
    .dropdown-toggle, .dropdown-menu, .dropdown-item, .filter-option-inner-inner,
    .main-menu__list > li > a, .main-menu__list li ul li > a,
    .top-one, .top-one__info__item,
    .main-header__call__subtitle, .main-header__call a,
    .vnt-btn-signin, .vnt-btn-join,
    .editor-content, .policy-card, .policy-content-body,
    .card, .badge, .alert, .breadcrumb, .pagination, .table, .nav, .accordion, .modal
) {
    font-family: var(--vnt-font-ar) !important;
}

/* ── 5. ARABIC CONTENT INSIDE ENGLISH / MIXED PAGES ───────────────────────── */
[lang="ar"],
[lang="ar"] :where(h1, h2, h3, h4, h5, h6, p, span, a, li, label, small, strong, b, em, input, textarea, select, button),
[dir="rtl"]:not(html),
[dir="rtl"]:not(html) :where(h1, h2, h3, h4, h5, h6, p, span, a, li, label, small, strong, b, em, input, textarea, select, button),
.text-ar,
.text-ar :where(h1, h2, h3, h4, h5, h6, p, span, a, li, label, small, strong, b, em, input, textarea, select, button),
.font-arabic,
.font-arabic :where(h1, h2, h3, h4, h5, h6, p, span, a, li, label, small, strong, b, em, input, textarea, select, button),
.arabic-text,
.arabic-text :where(h1, h2, h3, h4, h5, h6, p, span, a, li, label, small, strong, b, em, input, textarea, select, button),
.arabic-font,
.arabic-font :where(h1, h2, h3, h4, h5, h6, p, span, a, li, label, small, strong, b, em, input, textarea, select, button) {
    font-family: var(--vnt-font-ar) !important;
}

/* ── 6. STRICT ICON PROTECTION (NEVER OVERRIDE ICON FONT FAMILIES) ────────── */
:where(
    html[lang="ar"],
    html.locale-ar,
    .locale-ar,
    [lang="ar"],
    [dir="rtl"],
    .text-ar,
    .font-arabic,
    .arabic-text,
    .arabic-font
) :where(
    [class^="icon-"],
    [class*=" icon-"],
    [class^="gotur-icon-"],
    [class*=" gotur-icon-"],
    i[class^="icon-"],
    i[class*=" icon-"],
    i[class^="gotur-icon-"],
    i[class*=" gotur-icon-"],
    .gotur-breadcrumb li:not(:last-of-type)::after,
    .gotur-breadcrumb li::after
) {
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

:where(
    html[lang="ar"],
    html.locale-ar,
    .locale-ar,
    [lang="ar"],
    [dir="rtl"],
    .text-ar,
    .font-arabic,
    .arabic-text,
    .arabic-font
) :where(
    .fa,
    .fas,
    .fa-solid
) {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

:where(
    html[lang="ar"],
    html.locale-ar,
    .locale-ar,
    [lang="ar"],
    [dir="rtl"],
    .text-ar,
    .font-arabic,
    .arabic-text,
    .arabic-font
) :where(
    .far,
    .fa-regular
) {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

:where(
    html[lang="ar"],
    html.locale-ar,
    .locale-ar,
    [lang="ar"],
    [dir="rtl"],
    .text-ar,
    .font-arabic,
    .arabic-text,
    .arabic-font
) :where(
    .fab,
    .fa-brands
) {
    font-family: "Font Awesome 5 Brands", "Font Awesome 6 Brands" !important;
}

/* Code & pre blocks maintain monospace */
:where(html[lang="ar"], html.locale-ar, .locale-ar) :where(code, kbd, pre, samp) {
    font-family: monospace, monospace !important;
}

/* ── 6. ICON FONT FALLBACKS ─────────────────────────────────────────────────── */
[class^="icon-"].icon-left:before,
[class*=" icon-"].icon-left:before,
.icon-left:before {
    content: "\e918";
}
.icon-left {
    transform: scaleX(-1);
    display: inline-block;
}

