/*
Theme Name:   FMC Insurance Bazaar
Theme URI:    https://fmcinsurancebazaar.com
Description:  Premium insurance lead-generation child theme for FMC Insurance Bazaar, built on Hello Elementor. Designed for Elementor Free + XPro Theme Builder.
Author:       FMC Group
Author URI:   https://fmcinsurancebazaar.com
Template:     hello-elementor
Version:      1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  fmc-insurance
Tags:         insurance, lead-generation, corporate, elementor, one-column, custom-colors, custom-logo
*/

/* ==========================================================================
   GOOGLE FONTS
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700;800&display=swap');

/* ==========================================================================
   CSS DESIGN SYSTEM — CUSTOM PROPERTIES
   ========================================================================== */
:root {
    /* --- Brand Colors --- */
    --fmc-navy:          #0A1F3F;
    --fmc-navy-90:       rgba(10, 31, 63, 0.9);
    --fmc-navy-80:       rgba(10, 31, 63, 0.8);
    --fmc-navy-light:    #132D54;
    --fmc-navy-dark:     #071428;

    --fmc-royal-blue:    #1A56DB;
    --fmc-blue-light:    #3B82F6;
    --fmc-blue-pale:     #DBEAFE;
    --fmc-blue-hover:    #1E40AF;

    --fmc-gold:          #C8A951;
    --fmc-gold-light:    #E8D5A0;
    --fmc-gold-dark:     #A68B3E;
    --fmc-gold-pale:     #FDF8EC;

    /* --- Neutral Colors --- */
    --fmc-white:         #FFFFFF;
    --fmc-off-white:     #F8FAFC;
    --fmc-gray-50:       #F9FAFB;
    --fmc-gray-100:      #F1F5F9;
    --fmc-gray-200:      #E2E8F0;
    --fmc-gray-300:      #CBD5E1;
    --fmc-gray-400:      #94A3B8;
    --fmc-gray-500:      #64748B;
    --fmc-gray-600:      #475569;
    --fmc-gray-700:      #334155;
    --fmc-gray-800:      #1E293B;
    --fmc-gray-900:      #0F172A;

    /* --- Semantic Colors --- */
    --fmc-success:       #10B981;
    --fmc-success-light: #D1FAE5;
    --fmc-warning:       #F59E0B;
    --fmc-warning-light: #FEF3C7;
    --fmc-error:         #EF4444;
    --fmc-error-light:   #FEE2E2;
    --fmc-info:          #3B82F6;
    --fmc-info-light:    #DBEAFE;
    --fmc-whatsapp:      #25D366;
    --fmc-whatsapp-dark: #128C7E;

    /* --- Typography --- */
    --fmc-font-heading:  'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --fmc-font-body:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Font Sizes */
    --fmc-text-xs:       0.75rem;    /* 12px */
    --fmc-text-sm:       0.875rem;   /* 14px */
    --fmc-text-base:     1rem;       /* 16px */
    --fmc-text-lg:       1.125rem;   /* 18px */
    --fmc-text-xl:       1.25rem;    /* 20px */
    --fmc-text-2xl:      1.625rem;   /* 26px */
    --fmc-text-3xl:      2.125rem;   /* 34px */
    --fmc-text-4xl:      2.625rem;   /* 42px */
    --fmc-text-5xl:      3.25rem;    /* 52px */

    /* --- Spacing Scale --- */
    --fmc-space-1:       0.25rem;    /* 4px */
    --fmc-space-2:       0.5rem;     /* 8px */
    --fmc-space-3:       0.75rem;    /* 12px */
    --fmc-space-4:       1rem;       /* 16px */
    --fmc-space-5:       1.25rem;    /* 20px */
    --fmc-space-6:       1.5rem;     /* 24px */
    --fmc-space-8:       2rem;       /* 32px */
    --fmc-space-10:      2.5rem;     /* 40px */
    --fmc-space-12:      3rem;       /* 48px */
    --fmc-space-16:      4rem;       /* 64px */
    --fmc-space-20:      5rem;       /* 80px */
    --fmc-space-24:      6rem;       /* 96px */
    --fmc-space-32:      8rem;       /* 128px */

    /* --- Border Radius --- */
    --fmc-radius-sm:     4px;
    --fmc-radius-md:     8px;
    --fmc-radius-lg:     12px;
    --fmc-radius-xl:     16px;
    --fmc-radius-2xl:    20px;
    --fmc-radius-full:   9999px;

    /* --- Shadows --- */
    --fmc-shadow-sm:     0 1px 3px rgba(10, 31, 63, 0.04), 0 1px 2px rgba(10, 31, 63, 0.06);
    --fmc-shadow-md:     0 4px 6px rgba(10, 31, 63, 0.04), 0 2px 4px rgba(10, 31, 63, 0.06);
    --fmc-shadow-lg:     0 10px 25px rgba(10, 31, 63, 0.08), 0 4px 10px rgba(10, 31, 63, 0.05);
    --fmc-shadow-xl:     0 20px 40px rgba(10, 31, 63, 0.10), 0 8px 16px rgba(10, 31, 63, 0.06);
    --fmc-shadow-card:   0 4px 20px rgba(10, 31, 63, 0.08);
    --fmc-shadow-card-hover: 0 12px 32px rgba(10, 31, 63, 0.14);
    --fmc-shadow-button: 0 4px 14px rgba(26, 86, 219, 0.30);
    --fmc-shadow-gold:   0 4px 14px rgba(200, 169, 81, 0.30);
    --fmc-shadow-inset:  inset 0 2px 4px rgba(0, 0, 0, 0.06);

    /* --- Transitions --- */
    --fmc-transition-fast:   150ms ease;
    --fmc-transition-base:   250ms ease;
    --fmc-transition-slow:   400ms ease;
    --fmc-transition-smooth: 350ms cubic-bezier(0.4, 0, 0.2, 1);

    /* --- Z-Index Scale --- */
    --fmc-z-dropdown:    1000;
    --fmc-z-sticky:      1020;
    --fmc-z-header:      1030;
    --fmc-z-overlay:     1040;
    --fmc-z-modal:       1050;
    --fmc-z-floating:    1060;
    --fmc-z-tooltip:     1070;

    /* --- Container Widths --- */
    --fmc-container-sm:  640px;
    --fmc-container-md:  768px;
    --fmc-container-lg:  1024px;
    --fmc-container-xl:  1200px;
    --fmc-container-2xl: 1400px;
}

/* ==========================================================================
   BASE TYPOGRAPHY
   ========================================================================== */
body {
    font-family: var(--fmc-font-body);
    font-size: var(--fmc-text-base);
    line-height: 1.7;
    color: var(--fmc-gray-800);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fmc-font-heading);
    line-height: 1.3;
    color: var(--fmc-navy);
    margin-bottom: var(--fmc-space-4);
}

h1 { font-size: var(--fmc-text-4xl); font-weight: 700; }
h2 { font-size: var(--fmc-text-3xl); font-weight: 600; }
h3 { font-size: var(--fmc-text-2xl); font-weight: 600; }
h4 { font-size: var(--fmc-text-xl);  font-weight: 600; }
h5 { font-size: var(--fmc-text-lg);  font-weight: 600; }
h6 { font-size: var(--fmc-text-base); font-weight: 600; }

p {
    margin-bottom: var(--fmc-space-4);
    color: var(--fmc-gray-600);
}

a {
    color: var(--fmc-royal-blue);
    text-decoration: none;
    transition: color var(--fmc-transition-fast);
}

a:hover {
    color: var(--fmc-blue-hover);
}

/* ==========================================================================
   RESPONSIVE TYPOGRAPHY
   ========================================================================== */
@media (max-width: 768px) {
    h1 { font-size: 2rem; }       /* 32px */
    h2 { font-size: 1.625rem; }   /* 26px */
    h3 { font-size: 1.375rem; }   /* 22px */
    h4 { font-size: 1.125rem; }   /* 18px */
    body { font-size: 0.9375rem; } /* 15px */
}

/* ==========================================================================
   GLOBAL RESETS FOR ELEMENTOR
   ========================================================================== */
.elementor-page {
    font-family: var(--fmc-font-body);
}

.elementor-heading-title {
    font-family: var(--fmc-font-heading);
}

/* Ensure containers have proper box-sizing */
.elementor-element {
    box-sizing: border-box;
}

/* Remove default Elementor widget margins where needed */
.elementor-widget:not(:last-child) {
    margin-bottom: 0;
}

/* Ensure images are responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Selection color */
::selection {
    background-color: var(--fmc-blue-pale);
    color: var(--fmc-navy);
}
