/* ==========================================================================
   Apple-Style Typography System for Sirius Web Frontend
   Clean, Modern, Ultra-Legible Apple (SF Pro / Plus Jakarta Sans / Inter) Font Stack
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap');

:root {
    --apple-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "SF Pro", "Plus Jakarta Sans", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --apple-font-heading: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "SF Pro", "Plus Jakarta Sans", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --outfit: var(--apple-font-sans) !important;
    --urbanist: var(--apple-font-sans) !important;
}

/* Base Body & HTML */
html,
body {
    font-family: var(--apple-font-sans) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11", "ss01" !important;
}

/* Headings Typography - Apple SF Pro Display Style */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.chy-heading-1,
.chy-heading-2,
.chy-heading-3,
.chy-title,
.title,
.sub-title,
.banner-title,
.section-title,
.chy-split-text,
.chy-split-in-right,
.chy-split-in-left {
    font-family: var(--apple-font-heading) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

h1,
.h1 {
    font-weight: 750 !important;
}

h2,
.h2 {
    font-weight: 700 !important;
}

h3,
.h3 {
    font-weight: 650 !important;
}

h4,
.h4 {
    font-weight: 600 !important;
}

h5,
.h5,
h6,
.h6 {
    font-weight: 600 !important;
}

/* Paragraphs, Spans & General Text Elements (Strictly Exclude Icon Classes) */
p,
span:not([class*="fa"]):not([class*="flaticon"]):not(.icon),
div:not([class*="fa"]):not([class*="flaticon"]),
li,
td,
th,
dt,
dd,
label,
blockquote,
small,
strong,
b {
    font-family: var(--apple-font-sans) !important;
}

p {
    line-height: 1.65;
}

/* Navigation, Menu, Links & Buttons */
a,
button,
.btn,
.button,
.chy-btn,
.chy-pr-btn-1,
.chy-pr-btn-2,
.chy-pr-btn-3,
.chy-pr-btn-4,
.chy-header-4-area,
.nav,
.nav-link,
.dropdown-item,
.menu-wrap,
#main-nav,
.navbar-nav,
.main-navigation,
.chy-main-menu-1,
.chy-footer-1-menu {
    font-family: var(--apple-font-sans) !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Form Controls - Crisp Apple Look */
input,
textarea,
select,
.form-control,
.form-select,
.nice-select,
.nice-select .current,
.nice-select .list,
.nice-select .option {
    font-family: var(--apple-font-sans) !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Numbers, Pricing & Badges */
.price,
.odometer,
.badge,
.count {
    font-family: var(--apple-font-sans) !important;
    font-variant-numeric: tabular-nums !important;
}

/* Card & Widget Overrides */
.card,
.card-header,
.card-body,
.card-title,
.chy-service-1-item,
.chy-blog-1-item,
.chy-testimonial-1-item,
.chy-pricing-1-item {
    font-family: var(--apple-font-sans) !important;
}

/* ==========================================================================
   Strict Protection & Priority Application for Font Awesome & Flaticon
   ========================================================================== */

/* Solid Icons */
.fa-solid,
.fas,
.fasr,
.fass,
.fa-sharp,
.fa-sharp-solid,
i.fa-solid,
i.fas,
span.fa-solid,
span.fas {
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Regular Icons */
.fa-regular,
.far,
i.fa-regular,
i.far,
span.fa-regular,
span.far {
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", "FontAwesome" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Light Icons */
.fa-light,
.fal,
i.fa-light,
i.fal,
span.fa-light,
span.fal {
    font-family: "Font Awesome 6 Pro" !important;
    font-weight: 300 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Thin Icons */
.fa-thin,
.fat,
i.fa-thin,
i.fat,
span.fa-thin,
span.fat {
    font-family: "Font Awesome 6 Pro" !important;
    font-weight: 100 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Brands Icons */
.fa-brands,
.fab,
i.fa-brands,
i.fab,
span.fa-brands,
span.fab {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Duotone Icons */
.fa-duotone,
.fad,
i.fa-duotone,
i.fad,
span.fa-duotone,
span.fad {
    font-family: "Font Awesome 6 Duotone" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Generic .fa fallback */
.fa:not(.fab):not(.far):not(.fal):not(.fat):not(.fad),
i.fa:not(.fab):not(.far):not(.fal):not(.fat):not(.fad),
span.fa:not(.fab):not(.far):not(.fal):not(.fat):not(.fad) {
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Flaticon Icons */
[class^="flaticon-"],
[class*=" flaticon-"],
i[class^="flaticon-"],
i[class*=" flaticon-"],
span[class^="flaticon-"],
span[class*=" flaticon-"],
.flaticon {
    font-family: "flaticon_choicy" !important;
    font-style: normal !important;
    font-weight: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Ensure ::before pseudo-elements preserve font families */
i[class*="fa-"]::before,
i[class^="fa-"]::before,
span[class*="fa-"]::before,
span[class^="fa-"]::before,
.fa::before,
.fas::before,
.far::before,
.fal::before,
.fat::before,
.fab::before,
.fad::before,
.fa-solid::before,
.fa-regular::before,
.fa-light::before,
.fa-thin::before,
.fa-brands::before,
.fa-duotone::before {
    font-style: normal !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}