/* Utilitários + tokens de escala fluida (home, piscinas-de-fibra, banners) */
/* -------------------------------------------------------------------------- */
:root {
    /* Tipografia fluida — mesma hierarquia visual em qualquer viewport */
    --font-size-fluid-h1: clamp(2.375rem, 5vw, 4.875rem);
    --font-size-fluid-h2: clamp(1.75rem, 3vw, 3.25rem);
    --font-size-fluid-h3: clamp(1.375rem, 2.2vw, 1.75rem);
    --font-size-fluid-body: clamp(1rem, 1.1vw, 1.375rem);

    --font-size-home-hero-title: 7rem;
    --font-size-home-hero-subtitle: 4rem;
    --font-size-home-hero-tagline: 1.5rem;
    --font-size-home-hero-description: 1.3rem;

    /* Fallback mobile (overrides pontuais < 480px) */
    --font-size-home-hero-title-mobile: 3rem;
    --font-size-home-hero-subtitle-mobile: 2.5rem;
    --font-size-home-hero-tagline-mobile: 1.2rem;
    --font-size-home-hero-cta-mobile: 1.1rem;
    --font-size-home-hero-description-mobile: 1.1rem;

    /* Layout */
    --pf-container-max: 1440px;
    --pf-container-gutter: clamp(1rem, 5%, 4rem);
    --pf-hero-text-max: 32.5rem;
    /* Banner: só altura mínima proporcional à viewport — sem max-height */
    --pf-banner-min-h: 70vh;
    --pf-space-section: clamp(3.5rem, 6vw, 6.2rem);
    --pf-space-block: clamp(2.5rem, 4vw, 6.875rem);
    --pf-gap-ui: clamp(1rem, 2vw, 2.5rem);

    --home-carousel-bubble-size: clamp(36px, 3vw, 44px);
    --home-carousel-arrow-size: clamp(28px, 2.5vw, 34px);
}

/* Notebooks (~1280px): mantém padding lateral proporcional (5% da viewport) */
@media (min-width: 992px) and (max-width: 1400px) {
    :root {
        --pf-container-gutter: 5%;
    }
}

@font-face {
    font-family: "ClanOT-NarrowThin";
    src: url("../fonts/ClanOT-NarrowThin.otf");
    src: url("../fonts/ClanOT-NarrowThin.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "ClanOT-Thin";
    src: url("../fonts/FFClanProThin.TTF") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "ClanOT-Medium";
    src: url("../fonts/ClanOT-Medium.eot");
    src: url("../fonts/ClanOT-Medium.woff") format("woff"), url("../fonts/ClanOT-Medium.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "ClanOT-News";
    src: url("../fonts/ClanOT-News.eot");
    src: url("../fonts/ClanOT-News.woff") format("woff"), url("../fonts/ClanOT-News.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "ClanOT-Bold";
    src: url("../fonts/ClanOT-Bold.eot");
    src: url("../fonts/ClanOT-Bold.woff") format("woff"), url("../fonts/ClanOT-Bold.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "ClanOT-Book";
    src: url("../fonts/ClanOT-Book.eot");
    src: url("../fonts/ClanOT-Book.woff") format("woff"), url("../fonts/ClanOT-Book.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'fiber-icons';
    src: url('../fonts/fiber-icons.otf');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-Medium';
    src: url("../fonts/Montserrat-Medium.ttf"), url("../fonts/Montserrat-Medium.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-Regular';
    src: url("../fonts/Montserrat-Regular.ttf"), url("../fonts/Montserrat-Regular.ttf") format("truetype");
}

@font-face {
    font-family: 'Montserrat-Bold';
    src: url("../fonts/Montserrat-Bold.ttf"), url("../fonts/Montserrat-Bold.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-Light';
    src: url("../fonts/Montserrat-Light.ttf"), url("../fonts/Montserrat-Light.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-ExtraBold';
    src: url("../fonts/Montserrat-ExtraBold.ttf"), url("../fonts/Montserrat-ExtraBold.ttf") format("truetype");
    font-display: swap;
}

/* Inter Tight — pasta public/fonts/InterTight-Light */
@font-face {
    font-family: 'InterTight-Light';
    src: url("../fonts/InterTight-Light/InterTight-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* ParaType Deca Serif New — pasta public/fonts/Deca-Serif-New */
@font-face {
    font-family: 'Deca Serif New';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Deca Serif New Italic';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New-Italic.otf") format("opentype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Deca Serif New Medium';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New-Medium.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Deca Serif New Medium Italic';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New-Medium-Italic.otf") format("opentype");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Deca Serif New Bold';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New-Bold.otf") format("opentype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Deca Serif New Bold Italic';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New-Bold-Italic.otf") format("opentype");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Deca Serif New Black';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New-Black.otf") format("opentype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Deca Serif New Black Italic';
    src: url("../fonts/Deca-Serif-New/fonnts.com-ParaType-Deca-Serif-New-Black-Italic.otf") format("opentype");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* ClanOT */
.clan-ot-bold {
    font-family: var(--font-family-bold);
}

.clan-ot-news {
    font-family: var(--font-family-news);
}

.clan-ot-book {
    font-family: var(--font-family-primary);
}

.clan-ot-book strong {
    font-family: "clan-ot-bold";
}

/* Montserrat */
.montserrat-medium {
    font-family: 'Montserrat-Medium', sans-serif;
}

.montserrat-regular {
    font-family: 'Montserrat-Regular', sans-serif;
}

.montserrat-bold {
    font-family: 'Montserrat-Bold', sans-serif;
}

.montserrat-extrabold {
    font-family: 'Montserrat-ExtraBold', sans-serif;
}

/* InterTight */
.intertight-light {
    font-family: 'InterTight-Light', sans-serif;
}

/* Deca Serif New */
.montserrat-light {
    font-family: 'Montserrat-Light', sans-serif;
}
.decaserifnew-regular {
    font-family: 'Deca Serif New', sans-serif !important;
}
.decaserifnew-medium {
    font-family: 'Deca Serif New Medium', sans-serif !important;
}
.decaserifnew-medium-italic {
    font-family: 'Deca Serif New Medium Italic', sans-serif !important;
}
.decaserifnew-bold {
    font-family: 'Deca Serif New Bold', sans-serif !important;
}
.decaserifnew-bold-italic {
    font-family: 'Deca Serif New Bold Italic', sans-serif !important;
}
.decaserifnew-black {
    font-family: 'Deca Serif New Black', sans-serif !important;
}
.decaserifnew-black-italic {
    font-family: 'Deca Serif New Black Italic', sans-serif !important;
}
