/* -------------------------------------------------------------------------
   1. LOCAL FONT FACES
   ------------------------------------------------------------------------- */
@font-face {
    font-family: 'PT Serif';
    src: url('../fonts/PTSerif-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'PT Serif';
    src: url('../fonts/PTSerif-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter_18pt-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter_18pt-Medium.ttf') format('truetype');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter_18pt-SemiBold.ttf') format('truetype');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter_18pt-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

/* -------------------------------------------------------------------------
   2. REFINED FLUID TYPE SCALE
   ------------------------------------------------------------------------- */
:root {
    --font-heading: 'PT Serif', Georgia, serif;
    --font-body: 'Inter', Arial, sans-serif;

    --step--1: clamp(0.80rem, 0.78rem + 0.10vw, 0.89rem); /* ~13px - 14px */
    --step-0:  clamp(1.00rem, 0.95rem + 0.25vw, 1.13rem); /* ~16px - 18px */
    --step-1:  clamp(1.15rem, 1.08rem + 0.35vw, 1.35rem); /* ~18px - 21px */
    --step-2:  clamp(1.35rem, 1.25rem + 0.50vw, 1.65rem); /* ~21px - 26px */
    --step-3:  clamp(1.65rem, 1.48rem + 0.85vw, 2.15rem); /* ~26px - 34px */
    --step-4:  clamp(2.00rem, 1.75rem + 1.25vw, 2.75rem); /* ~32px - 44px */
    --step-5:  clamp(2.40rem, 2.00rem + 2.00vw, 3.50rem); /* ~38px - 56px */
    --step-6:  clamp(2.80rem, 2.20rem + 3.00vw, 4.25rem); /* ~45px - 68px */
}

/* -------------------------------------------------------------------------
   3. ELEMENTOR GLOBAL TYPOGRAPHY TOKENS
   ------------------------------------------------------------------------- */
body[class*='elementor-kit-'],
.elementor[class*='elementor-kit-'] {
    --e-global-typography-primary-font-family: 'PT Serif';
    --e-global-typography-primary-font-weight: 700;
    --e-global-typography-secondary-font-family: 'PT Serif';
    --e-global-typography-secondary-font-weight: 400;
    --e-global-typography-text-font-family: 'Inter';
    --e-global-typography-text-font-weight: 400;
    --e-global-typography-accent-font-family: 'Inter';
    --e-global-typography-accent-font-weight: 600;

    --e-global-typography-primary-font-size: var(--step-5);
    --e-global-typography-secondary-font-size: var(--step-3);
    --e-global-typography-text-font-size: var(--step-0);
    --e-global-typography-accent-font-size: var(--step-1);
}

/* -------------------------------------------------------------------------
   4. BASE TEXT + HEADING STYLES (SCOPED - FĂRĂ !important pe font-size)
   ------------------------------------------------------------------------- */
body,
button,
input,
textarea,
select,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
    font-family: var(--font-body);
    font-size: var(--step-0);
    line-height: 1.6 !important;
}

:not(#elementor-panel) h1,
:not(#elementor-panel) h2,
:not(#elementor-panel) h3,
:not(#elementor-panel) h4,
:not(#elementor-panel) h5,
:not(#elementor-panel) h6,
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--font-heading) !important;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

/* font-size-urile implicite nu folosesc !important pentru a fi suprascrise usor de clasele utilitare */
:not(#elementor-panel) h1,
.elementor-widget-heading .elementor-heading-title.elementor-size-default,
.elementor-widget-heading h1.elementor-heading-title {
    font-size: var(--step-5);
    line-height: 1.1 !important;
}

:not(#elementor-panel) h2,
.elementor-widget-heading h2.elementor-heading-title {
    font-size: var(--step-4);
    line-height: 1.15 !important;
}

:not(#elementor-panel) h3,
.elementor-widget-heading h3.elementor-heading-title {
    font-size: var(--step-3);
    line-height: 1.25 !important;
}

:not(#elementor-panel) h4,
.elementor-widget-heading h4.elementor-heading-title {
    font-size: var(--step-2);
    line-height: 1.3 !important;
}

:not(#elementor-panel) h5,
.elementor-widget-heading h5.elementor-heading-title {
    font-size: var(--step-1);
    line-height: 1.35 !important;
}

:not(#elementor-panel) h6,
.elementor-widget-heading h6.elementor-heading-title {
    font-size: var(--step-0);
    line-height: 1.4 !important;
}

p.small,
.elementor-widget-text-editor .small {
    font-size: var(--step--1) !important;
    line-height: 1.5 !important;
}

/* -------------------------------------------------------------------------
   5. UTILITY CLASSES (Deep & Direct Targeting pe v3, v4 Atomic și HTML Nativ)
   ------------------------------------------------------------------------- */
.fs-hero, .fs-hero * { font-size: var(--step-6) !important; }
.fs-1,    .fs-1 *    { font-size: var(--step-5) !important; }
.fs-2,    .fs-2 *    { font-size: var(--step-4) !important; }
.fs-3,    .fs-3 *    { font-size: var(--step-3) !important; }
.fs-4,    .fs-4 *    { font-size: var(--step-2) !important; }
.fs-5,    .fs-5 *    { font-size: var(--step-1) !important; }
.fs-6,    .fs-6 *    { font-size: var(--step-0) !important; }

.fs-body, .fs-body * { font-size: var(--step-0) !important; }
.fs-sm,   .fs-sm *   { font-size: var(--step--1) !important; }