/* ===================================
    ebalua - Base sobre Crafto "Application"
    Variables, tipografías y ajustes globales del template
====================================== */
/* font: tipografías de marca alojadas en el propio servidor */
@font-face {
    font-family: 'Fredoka';
    src: url('../fonts/Fredoka-Variable.woff') format('woff'), url('../fonts/Fredoka-Variable.ttf') format('truetype');
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Sora';
    src: url('../fonts/Sora-Variable.woff') format('woff'), url('../fonts/Sora-Variable.ttf') format('truetype');
    font-weight: 100 800;
    font-style: normal;
    font-display: swap;
}
/* variable: tokens de marca (ver "ebalua-tokens.css" del manual de identidad) */
:root {
    --eb-naranja: #F6AE6E;
    --eb-coral: #F1996D;
    --eb-terracota: #E8814C;
    --eb-teal: #35839C;
    --eb-purpura: #683F9A;
    --eb-crema: #FAF3EC;
    --eb-berenjena: #2E2438;
    --eb-gris-texto: #6B5B73;
    --eb-borde: #E4D8CC;
    --eb-radio-s: 8px;
    --eb-radio-m: 14px;
    --eb-radio-l: 20px;

    --alt-font: 'Fredoka', sans-serif;
    --primary-font: 'Sora', sans-serif;
    --base-color: var(--eb-terracota);
    --dark-gray: var(--eb-berenjena);
    --medium-gray: var(--eb-gris-texto);
}
/* reset */
body {
    font-family: var(--primary-font);
    font-size: 16px;
    line-height: 28px;
    color: var(--eb-gris-texto);
    background-color: var(--eb-crema);
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: var(--alt-font);
    color: var(--eb-berenjena);
    margin-bottom: 25px;
}
::selection {
    background-color: var(--eb-naranja);
    color: var(--eb-berenjena);
}
/* btn */
.btn {
    font-family: var(--primary-font);
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}
.btn.btn-extra-large {
    font-size: 17px;
}
.btn.btn-large {
    font-size: 16px;
}
.btn.btn-medium {
    font-size: 15px;
}
.btn.btn-small {
    font-size: 14px;
}
/* header */
header .navbar-brand img {
    max-height: 38px;
}
.navbar .navbar-nav .nav-link {
    font-family: var(--primary-font);
    font-weight: 600;
    font-size: 15px;
    color: var(--eb-berenjena);
}
header .btn i {
    top: -1px !important;
}
/* cabecera siempre visible (clase fixed-header de Crafto): al saltar a una sección, que el título no quede debajo */
section[id] {
    scroll-margin-top: 90px;
}
header.sticky .navbar.header-light {
    background-color: rgba(250, 243, 236, 0.96) !important;
    box-shadow: 0 6px 30px rgba(46, 36, 56, 0.08);
}
/* footer */
footer .footer-logo img {
    max-height: 38px;
}
footer ul li {
    margin-bottom: 4px;
}
/* scrolling text */
.marquees-text {
    word-break: normal;
}
/* process step style 05 */
.process-step-style-05 .progress-step-separator {
    bottom: inherit;
    height: 100%;
}
/* cabecera: elementos de la derecha */
header .header-icon {
    display: flex;
    align-items: center;
    gap: 22px;
}
header .header-icon .sk-menu-acceder {
    align-items: center;
    gap: 6px;
}
header .sk-menu-corto,
header .sk-boton-corto { display: none; }
header .sk-menu-ia i {
    margin-right: 4px;
    color: var(--eb-purpura);
}
/* media query responsive: la cabecera debe caber completa desde 992px (menú de escritorio de Crafto) */
@media (max-width: 1599px) {
    header .navbar .navbar-nav .nav-link {
        padding-left: 14px;
        padding-right: 14px;
    }
    header .sk-menu-largo { display: none; }
    header .sk-menu-corto { display: inline; }
}
@media (max-width: 1399px) {
    header .container-fluid {
        padding-left: 30px;
        padding-right: 30px;
    }
    header .navbar .navbar-nav .nav-link {
        padding-left: 10px;
        padding-right: 10px;
    }
    header .sk-menu-largo { display: none; }
    header .sk-menu-corto { display: inline; }
    header .header-icon { gap: 14px; }
    header .header-icon .sk-menu-texto { display: none; }
    header .header-icon .sk-menu-acceder {
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        border: 1px solid var(--eb-borde);
        background-color: rgba(255, 255, 255, 0.7);
    }
}
@media (max-width: 1299px) {
    header .navbar .navbar-nav .nav-link {
        padding-left: 8px;
        padding-right: 8px;
    }
    header .header-icon { gap: 12px; }
}
@media (max-width: 1199px) {
    header .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
    header .navbar-brand img {
        max-height: 28px;
    }
    header .navbar .navbar-nav .nav-link {
        font-size: 14px;
        padding-left: 6px;
        padding-right: 6px;
    }
    header .sk-menu-ia i { display: none; }
    header .header-icon { gap: 10px; }
    header .sk-idiomas .sk-idiomas-actual { padding: 6px 10px; }
    header .sk-idiomas .sk-idiomas-actual .icon-feather-chevron-down { display: none; }
    header .sk-boton-largo { display: none; }
    header .sk-boton-corto { display: inline; }
    header .header-button .btn.btn-small {
        padding: 9px 16px;
        font-size: 13px;
    }
}
@media (max-width: 991px) {
    .navbar .navbar-nav .nav-link {
        font-size: 16px;
    }
    header .sk-menu-largo { display: inline; }
    header .sk-menu-corto { display: none; }
}
@media (max-width: 575px) {
    header .sk-boton-largo { display: none; }
    header .sk-boton-corto { display: inline; }
}
