/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
:root {
    /* ==========================================================================
       SEO Fluid Typography Engine (Clamped Values)
       Formula: clamp(MIN_SIZE, MOBILE_TO_DESKTOP_SCALING, MAX_SIZE)
       ========================================================================== */
       
    /* Body Text: Never drops below 16px (Critical SEO benchmark for mobile legibility) */
    --step-0: clamp(1rem, 0.95rem + 0.22vw, 1.125rem); /* 16px - 18px */
    
    /* Small elements (meta, tags, captions): 13px - 14px */
    --step-neg-1: clamp(0.8125rem, 0.79rem + 0.11vw, 0.875rem); 
    
    /* H5 Elements: 18px - 20px */
    --step-1: clamp(1.125rem, 1.07rem + 0.27vw, 1.25rem); 
    
    /* H4 Elements: 20px - 24px */
    --step-2: clamp(1.25rem, 1.14rem + 0.54vw, 1.5rem); 
    
    /* H3 Elements: 24px - 30px */
    --step-3: clamp(1.5rem, 1.34rem + 0.82vw, 1.875rem); 
    
    /* H2 Elements: 28px - 38px */
    --step-4: clamp(1.75rem, 1.48rem + 1.36vw, 2.375rem); 
    
    /* H1 Elements (Main Headlines): 34px - 48px */
    --step-5: clamp(2.125rem, 1.74rem + 1.9vw, 3rem); 
}

/* ==========================================================================
   Global Element Map Override
   ========================================================================== */
body {
    font-size: var(--step-0) !important;
    line-height: 1.6 !important; /* Golden ratio for long text readability */
    color: #2b2b2b !important;
}

h1, .elementor-heading-title.elementor-size-xl {
    font-size: var(--step-5) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

h2, .hero-grid-main .hero-card-title {
    font-size: var(--step-4) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

h3, .hero-grid-sidebar .hero-card-title {
    font-size: var(--step-3) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

h4, .archive-item-title {
    font-size: var(--step-2) !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

h5 {
    font-size: var(--step-1) !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

/* Custom classes for your category labels and summaries */
.cat-tag {
    font-size: var(--step-neg-1) !important;
}

.hero-card-excerpt, .archive-item-excerpt {
    font-size: var(--step-0) !important;
    line-height: 1.5 !important;
}