/* ====================================
   CSS CUSTOM PROPERTIES (VARIABLES)
   Branded for: PRISM Insurance Brokers Limited
   Brand palette: Navy #0d1f42 | Blue #1a4fd6 | Gold #c8a450
   ==================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
    /* ── PRISM Core Brand ── */
    --primary-color:          #0d1f42;   /* Navy — dominant brand colour */
    --secondary-color:        #1a4fd6;   /* Blue — accent / links */
    --accent-color:           #c8a450;   /* Gold — CTA / highlight */
    --neutral-color:          #1e2d50;   /* Deep navy text tone */
    --light-color:            #f4f6fb;   /* PRISM light surface */
    --white-color:            #ffffff;
    --primary-light-color:    #153370;   /* Mid-navy (gradient match) */
    --gradient-match-color:   #0a1220;   /* Dark navy gradient end */

    /* Status Colors */
    --success-color:  #22C55E;
    --warning-color:  #F59E0B;
    --danger-color:   #DC2626;
    --info-color:     #1a4fd6;   /* Mapped to PRISM blue */
    --dark-color:     #080f24;   /* Footer dark */

    /* Text Colors */
    --text-dark:       #1e2d50;   /* PRISM body text */
    --text-light:      #f4f6fb;
    --text-muted:      #6b7799;   /* PRISM muted */
    --text-secondary:  #4a5568;
    --text-accent:     #c8a450;   /* Gold text */

    /* Background Colors */
    --bg-light:  #f4f6fb;   /* PRISM --light */
    --bg-white:  #ffffff;
    --bg-gray:   #f4f6fb;
    --bg-dark:   #080f24;

    /* Gradients — navy to deep-navy (matches PRISM hero) */
    --primary-gradient:  linear-gradient(135deg, #0d1f42 0%, #153370 100%);
    --success-gradient:  linear-gradient(135deg, #22C55E, #38a169);
    --warning-gradient:  linear-gradient(135deg, #F59E0B, #e0a800);
    --danger-gradient:   linear-gradient(135deg, #DC2626, #c82333);
    --gold-gradient:     linear-gradient(135deg, #c8a450 0%, #e0b55c 100%);

    /* Border */
    --border-color:       #dde3f0;   /* PRISM --border */
    --border-light:       #f0f3f9;
    --border-radius:      10px;
    --border-radius-sm:   8px;
    --border-radius-lg:   14px;
    --border-radius-xl:   20px;
    --border-radius-2xl:  28px;

    /* Shadows */
    --shadow-soft:   0 2px 8px rgba(13, 31, 66, 0.08);
    --shadow-medium: 0 8px 28px rgba(13, 31, 66, 0.14);
    --shadow-hard:   0 20px 45px rgba(13, 31, 66, 0.18);
    --shadow-gold:   0 8px 25px rgba(200, 164, 80, 0.25);
    --shadow-color:  rgba(13, 31, 66, 0.1);

    /* Spacing */
    --spacing-xs:  0.25rem;
    --spacing-sm:  0.5rem;
    --spacing-md:  1rem;
    --spacing-lg:  1.5rem;
    --spacing-xl:  2rem;
    --spacing-2xl: 3rem;

    /* Margin */
    --margin-xs:  0.25rem;
    --margin-sm:  0.5rem;
    --margin-md:  1rem;
    --margin-lg:  1.5rem;
    --margin-xl:  2rem;
    --margin-2xl: 3rem;

    /* Padding */
    --padding-xs:  0.25rem;
    --padding-sm:  0.5rem;
    --padding-md:  1rem;
    --padding-lg:  1.5rem;
    --padding-xl:  2rem;
    --padding-2xl: 3rem;

    /* Interactive States */
    --hover-bg:        rgba(26, 79, 214, 0.06);
    --hover-transform: translateY(-2px);
    --transition-fast:   all 0.2s ease;
    --transition-normal: all 0.3s ease;
    --transition-slow:   all 0.5s ease;

    /* Layout */
    --sidebar-width:       250px;
    --header-height:       60px;
    --container-max-width: 1200px;

    /* Typography — PRISM brand fonts */
    --font-family:        'DM Sans', sans-serif;
    --font-family-serif:  'Playfair Display', serif;
    --font-size-xs:   0.75rem;
    --font-size-sm:   0.875rem;
    --font-size-base: 1rem;
    --font-size-lg:   1.125rem;
    --font-size-xl:   1.25rem;
    --font-size-2xl:  1.5rem;
    --font-size-3xl:  1.875rem;
    --font-size-4xl:  2.25rem;

    /* Z-index layers */
    --z-dropdown:       1000;
    --z-sticky:         1020;
    --z-fixed:          1030;
    --z-modal-backdrop: 1040;
    --z-modal:          1050;
    --z-popover:        1060;
    --z-tooltip:        1070;
}
