/*
====================================
 Theme Name:   OGAL Theme
 Theme URI:    https://ogalweb.com
 Description:  Kyle's GP Theme
 Author:       Kyle Van Deusen
 Author URI:   https://kylevandeusen.com
 Template:     generatepress
 Version:      0.1
====================================
*/


/* =========================
   TYPOGRAPHY
========================= */

/* Font Family Utilities */
.ff-body {
    font-family: var(--gp-font--body);
}

.ff-heading {
    font-family: var(--gp-font--headings);
}

/* Heading and utility class font assignment */

h1, h2, h3, h4, h5, h6,
[class^="fs-"] {
    font-family: var(--gp-font--headings);
}

.fs-p {
    font-family: var(--gp-font--body);
}


/* =========================
   FLUID TYPOGRAPHY SCALE
   Source: https://theadminbar.com/simple-responsive-font-size-calculator/
========================= */
/*
h1,
.fs-h1 {
   font-size: clamp(3.375rem, 3.0682rem + 1.2273vw, 4.05rem); 
   
}

h2,
.fs-h2 {
    font-size: clamp(2.5313rem, 2.3011rem + 0.9205vw, 3.0375rem);
}

h3,
.fs-h3 {
    font-size: clamp(2.1094rem, 1.9176rem + 0.767vw, 2.5313rem);
}

h4,
.fs-h4 {
    font-size: clamp(1.6875rem, 1.5341rem + 0.6136vw, 2.025rem);
}

h5,
.fs-h5 {
    font-size: clamp(1.4063rem, 1.2784rem + 0.5114vw, 1.6875rem);
}

h6,
.fs-h6 {
    font-size: clamp(1.2656rem, 1.1506rem + 0.4602vw, 1.5188rem);
}

p,
.fs-p {
    font-size: clamp(0.9375rem, 0.8523rem + 0.3409vw, 1.125rem);
}

*/


/* =========================
   FLUID TYPOGRAPHY SCALE
   Source: Custom
========================= */

/* --- Typography Scale (Base 16px) --- */


/* --- Typography Scale & Line-Height (Base 16px) --- */

h1,
.fs-h1 {
    font-size: clamp(2rem, 1.333rem + 3.333vi, 4rem); /* 32px -> 64px */
    line-height: 1.1; /* Stretta per titoli grandi */
}

h2,
.fs-h2 {
    font-size: clamp(1.75rem, 1.333rem + 2.083vi, 3rem); /* 28px -> 48px */
    line-height: 1.2;
}

h3,
.fs-h3 {
    font-size: clamp(1.5rem, 1.333rem + 0.833vi, 2rem); /* 24px -> 32px */
    line-height: 1.25;
}

h4,
.fs-h4 {
    font-size: clamp(1.25rem, 1.167rem + 0.417vi, 1.5rem); /* 20px -> 24px */
    line-height: 1.3;
}

h5,
.fs-h5 {
    font-size: clamp(1.125rem, 1.083rem + 0.208vi, 1.25rem); /* 18px -> 20px */
    line-height: 1.4;
}

h6,
.fs-h6 {
    font-size: clamp(1rem, 0.958rem + 0.208vi, 1.125rem); /* 16px -> 18px */
    line-height: 1.4;
}

/* --- Paragraphs (Leggibilità ottimizzata) --- */

/* --- Paragraphs Fluid Scale (320px -> 1280px) --- */



.fs-p-sm {
    /* Da 16px a 18px */
    font-size: clamp(1rem, 0.958rem + 0.208vi, 1.125rem);
    line-height: 1.6;
}

p,
.fs-p {
    /* Da 16px a 20px */
    font-size: clamp(1rem, 0.917rem + 0.417vi, 1.25rem); 
    line-height: 1.6;
}

.fs-p-md {
    /* Da 16px a 22px (Leggermente più grande dello standard) */
    font-size: clamp(1rem, 0.875rem + 0.625vi, 1.375rem); 
    line-height: 1.6;
    
}

.fs-p-lg {
    /* Da 18px a 24px (Lead/Intro) */
    font-size: clamp(1.125rem, 1rem + 0.625vi, 1.5rem); 
    line-height: 1.5;
}