/* ===========================
   FONTS SYSTEM - fonts.css (Updated)
   =========================== */

/* ===========================
   FONT FACE DECLARATIONS
   =========================== */

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

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

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

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

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

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

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

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

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

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

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

/* Open Sans Font Family */
@font-face {
    font-family: 'Open Sans';
    src: url('./fonts/OpenSans/OpenSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

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

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

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

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

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

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

/* Playfair Display Font Family */
@font-face {
    font-family: 'Playfair Display';
    src: url('./fonts/PlayfairDisplay/PlayfairDisplay-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

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

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

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT-Demi.woff2") format("woff2"), url("../fonts/FuturaPT-Demi.woff") format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT-DemiObl.woff2") format("woff2"), url("../fonts/FuturaPT-DemiObl.woff") format("woff");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT-Heavy.woff2") format("woff2"), url("../fonts/FuturaPT-Heavy.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT-Light.woff2") format("woff2"), url("../fonts/FuturaPT-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Futura PT';
    src: url("../fonts/FuturaPT-Medium.woff2") format("woff2"), url("../fonts/FuturaPT-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


/* ===========================
   FONT VARIABLE SYSTEM
   =========================== */

:root {
    /* Default Font Family Variables */
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-body: var(--font-primary);
    --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;

    /* Font Size Variables */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;

    /* Line Height Variables */
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;

    /* Font Weight Variables */
    --font-light: 300;
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;
    --font-extrabold: 800;
    --font-black: 900;
}

/* ===========================
   DYNAMIC FONT SCHEME SYSTEM
   =========================== */

/* Default font application to all elements */
* {
    font-family: var(--font-primary);
}
.fab{
    font-family: "Font Awesome 6 Brands" !important;
}
.far,
.fas{
    font-family: "Font Awesome 6 Free" !important;
}
/* Font scheme: Inter */
[data-font-scheme="futura"] {
    --font-primary: 'Futura PT', sans-serif;
    --font-heading: 'Futura PT', sans-serif;
    --font-body: 'Futura PT', sans-serif;
}

[data-font-scheme="futura"] * {
    font-family: 'Futura PT', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
/* Font scheme: Inter */
[data-font-scheme="inter"] {
    --font-primary: 'Inter', sans-serif;
    --font-heading: 'Inter', sans-serif;
    --font-body: 'Inter', sans-serif;
}

[data-font-scheme="inter"] * {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Font scheme: Poppins */
[data-font-scheme="poppins"] {
    --font-primary: 'Poppins', sans-serif;
    --font-heading: 'Poppins', sans-serif;
    --font-body: 'Poppins', sans-serif;
}

[data-font-scheme="poppins"] * {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Font scheme: Roboto */
[data-font-scheme="roboto"] {
    --font-primary: 'Roboto', sans-serif;
    --font-heading: 'Roboto', sans-serif;
    --font-body: 'Roboto', sans-serif;
}

[data-font-scheme="roboto"] * {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Font scheme: Open Sans */
[data-font-scheme="opensans"] {
    --font-primary: 'Open Sans', sans-serif;
    --font-heading: 'Open Sans', sans-serif;
    --font-body: 'Open Sans', sans-serif;
}

[data-font-scheme="opensans"] * {
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Font scheme: Montserrat */
[data-font-scheme="montserrat"] {
    --font-primary: 'Montserrat', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
}

[data-font-scheme="montserrat"] * {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Font scheme: Playfair Display */
[data-font-scheme="playfair"] {
    --font-primary: 'Playfair Display', serif;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Playfair Display', serif;
}

[data-font-scheme="playfair"] * {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

/* ===========================
   TYPOGRAPHY UTILITY CLASSES
   =========================== */

/* Font Family Classes - Now respect the scheme */
.font-primary {
    font-family: var(--font-primary) !important;
}

.font-heading {
    font-family: var(--font-heading) !important;
}

.font-body {
    font-family: var(--font-body) !important;
}

.font-mono {
    font-family: var(--font-mono) !important;
}

/* Font Size Classes */
.text-xs {
    font-size: var(--text-xs) !important;
}

.text-sm {
    font-size: var(--text-sm) !important;
}

.text-base {
    font-size: var(--text-base) !important;
}

.text-lg {
    font-size: var(--text-lg) !important;
}

.text-xl {
    font-size: var(--text-xl) !important;
}

.text-2xl {
    font-size: var(--text-2xl) !important;
}

.text-3xl {
    font-size: var(--text-3xl) !important;
}

.text-4xl {
    font-size: var(--text-4xl) !important;
}

.text-5xl {
    font-size: var(--text-5xl) !important;
}

.text-6xl {
    font-size: var(--text-6xl) !important;
}

/* Font Weight Classes */
.font-light {
    font-weight: var(--font-light) !important;
}

.font-normal {
    font-weight: var(--font-normal) !important;
}

.font-medium {
    font-weight: var(--font-medium) !important;
}

.font-semibold {
    font-weight: var(--font-semibold) !important;
}

.font-bold {
    font-weight: var(--font-bold) !important;
}

.font-extrabold {
    font-weight: var(--font-extrabold) !important;
}

.font-black {
    font-weight: var(--font-black) !important;
}

/* Line Height Classes */
.leading-none {
    line-height: var(--leading-none) !important;
}

.leading-tight {
    line-height: var(--leading-tight) !important;
}

.leading-snug {
    line-height: var(--leading-snug) !important;
}

.leading-normal {
    line-height: var(--leading-normal) !important;
}

.leading-relaxed {
    line-height: var(--leading-relaxed) !important;
}

.leading-loose {
    line-height: var(--leading-loose) !important;
}

/* Text Transform Classes */
.uppercase {
    text-transform: uppercase !important;
}

.lowercase {
    text-transform: lowercase !important;
}

.capitalize {
    text-transform: capitalize !important;
}

.normal-case {
    text-transform: none !important;
}

/* Text Alignment Classes */
.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.text-justify {
    text-align: justify !important;
}

/* Text Decoration Classes */
.underline {
    text-decoration: underline !important;
}

.line-through {
    text-decoration: line-through !important;
}

.no-underline {
    text-decoration: none !important;
}

/* ===========================
   SEMANTIC TYPOGRAPHY CLASSES
   =========================== */

/* Headings - Now use CSS variables that change with scheme */
.heading-1 {
    font-family: var(--font-heading);
    font-size: var(--text-5xl);
    font-weight: var(--font-bold);
    line-height: var(--leading-tight);
}

.heading-2 {
    font-family: var(--font-heading);
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    line-height: var(--leading-tight);
}

.heading-3 {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    font-weight: var(--font-semibold);
    line-height: var(--leading-snug);
}

.heading-4 {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: var(--font-semibold);
    line-height: var(--leading-snug);
}

.heading-5 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: var(--font-medium);
    line-height: var(--leading-snug);
}

.heading-6 {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: var(--font-medium);
    line-height: var(--leading-normal);
}

/* Body Text */
.body-large {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: var(--font-normal);
    line-height: var(--leading-relaxed);
}

.body-normal {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: var(--font-normal);
    line-height: var(--leading-normal);
}

.body-small {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--font-normal);
    line-height: var(--leading-normal);
}