/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme for Borealflow
 * Author: Creative Themes
 * Template: blocksy
 * Version: 1.0.0
 */

/* 1. REGISTRO DE FUENTES */
@font-face {
    font-family: 'Host Grotesk';
    src: url('assets/fonts/host-grotesk.woff2') format('woff2-variations'),
         url('assets/fonts/host-grotesk.woff2') format('woff2');
    font-weight: 100 950;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Uncut Sans';
    src: url('assets/fonts/uncut-sans-variable.woff2') format('woff2-variations'),
         url('assets/fonts/uncut-sans-variable.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   2. ASIGNACIÓN GLOBAL (Para Blocksy y General)
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Host Grotesk', sans-serif !important;
    font-weight: 850 !important; 
    letter-spacing: -0.015em !important;
    /* Subimos ligeramente el interlineado base para evitar colisiones */
    line-height: 1.3 !important; 
}

body, p, li, a {
    font-family: 'Uncut Sans', sans-serif !important;
}

/* ==========================================================================
   3. CONTROL MAESTRO PARA ELEMENTOR
   ========================================================================== */

/* Forzar Títulos en Elementor */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-heading h1, 
.elementor-widget-heading h2, 
.elementor-widget-heading h3 {
    font-family: 'Host Grotesk', sans-serif !important;
    font-weight: 850 !important;
    letter-spacing: -0.015em !important; /* Suavizado para evitar colapso horizontal */
    /* Un line-height de 1.25 es el límite seguro para fuentes pesadas */
    line-height: 1.25 !important; 
}

/* Forzar Textos */
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
    font-family: 'Uncut Sans', sans-serif !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

/* Botones estilo Agencia */
.elementor-button {
    font-family: 'Host Grotesk', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-radius: 0px !important; 
    transition: all 0.3s ease !important;
}

.elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* ==========================================================================
   4. RESPONSIVE (Móviles y Tablets)
   ========================================================================== */
@media (max-width: 768px) {
    /* Corregimos el interlineado en móvil; al reducir el tamaño, el line-height debe respirar más, nunca menos */
    .elementor-widget-heading .elementor-heading-title,
    .elementor-heading-title, h1, h2, h3 {
        line-height: 1.25 !important; 
        letter-spacing: -0.005em !important; /* Aliviamos la presión entre letras en pantallas pequeñas */
    }
    
    /* En lugar de un clamp idéntico para todos, dejamos que Elementor o el tema escalen, 
       o si quieres forzar por código, mantén una jerarquía proporcional: */
    h1 { font-size: clamp(32px, 7vw, 40px) !important; }
    h2 { font-size: clamp(26px, 6vw, 32px) !important; }
    h3 { font-size: clamp(22px, 5vw, 26px) !important; }
}