/* ========================================
   MSI Flood Insurance - CSS Variables
   Centralized design tokens for consistency
   ======================================== */

:root {
    /* ========================================
       Colors
       ======================================== */

    /* Brand Colors */
    --color-primary: #18365D;
    --color-primary-hover: #0f2440;
    --color-secondary: #122F53;
    --color-accent: #003468;

    /* Text Colors */
    --color-text-primary: #54585A;
    --color-text-secondary: #404040;
    --color-text-black: #000000;
    --color-text-white: #ffffff;

    /* Background Colors */
    --color-bg-white: #ffffff;
    --color-bg-gray-light: #F3F3F3;
    --color-bg-gray-medium: #f1f1f1;

    /* Link Colors */
    --color-link-blue: #1e40af;
    --color-link-blue-alt: #4f52b2;
    --color-link-hover: #0f2642;

    /* State Colors */
    --color-focus: #1976d2;
    --color-disabled: #A5A5A5;

    /* Error/Alert Colors */
    --color-error: #B00020;
    --color-error-text: #dc3545;
    --color-error-bg: #f8d7da;
    --color-error-border: #f5c6cb;
    --color-error-dark: #721c24;

    /* Warning Colors */
    --color-warning-bg: #fff3cd;
    --color-warning-border: #ffc107;
    --color-warning-text: #856404;

    /* Scrollbar Colors */
    --color-scrollbar-track: #f1f1f1;
    --color-scrollbar-thumb: #888;
    --color-scrollbar-thumb-hover: #555;

    /* Border Colors */
    --color-border-primary: #54585A;
    --color-border-secondary: #122F53;
    --color-border-light: #e5e7eb;

    /* ========================================
       Typography
       ======================================== */

    /* Font Families */
    --font-family-primary: 'Montserrat'; /* Only Montserrat with loads in layout only as font weight 400, synthentic bolding occurs afterwards.  This is a legacy style from the old DTC/DTA react app. */
    --font-family-fallback: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Font Weights */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Font Sizes */
    --font-size-xs: 14px;
    --font-size-sm: 15px;
    --font-size-base: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 24px;
    --font-size-2xl: 30px;

    /* Line Heights */
    --line-height-tight: 18.29px;
    --line-height-normal: 20px;
    --line-height-relaxed: 24px;
    --line-height-loose: 30px;

    /* Letter Spacing */
    --letter-spacing-tight: -0.5px;
    --letter-spacing-normal: 0;

    /* ========================================
       Spacing
       ======================================== */

    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 20px;
    --spacing-2xl: 24px;
    --spacing-3xl: 28px;
    --spacing-4xl: 32px;
    --spacing-5xl: 40px;
    --spacing-6xl: 60px;

    /* ========================================
       Borders & Radii
       ======================================== */

    /* Border Widths */
    --border-width-thin: 1px;
    --border-width-medium: 2px;
    --border-width-thick: 3px;

    /* Border Radius */
    --border-radius-none: 0px;
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 60px;

    /* Border Styles */
    --border-style-solid: solid;
    --border-style-none: none;

    /* ========================================
       Breakpoints
       ======================================== */

    --breakpoint-sm: 375px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;

    /* ========================================
       Transitions & Animations
       ======================================== */

    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;

    /* Specific Transitions */
    --transition-button: all 0.2s ease;
    --transition-button-login: all 0.3s;
    --transition-accordion: max-height 0.5s ease, opacity 0.3s ease, padding-top 0.3s ease;
    --transition-icon: opacity 0.2s ease;

    /* ========================================
       Shadows
       ======================================== */

    --shadow-dropdown: 0px 5px 5px -3px rgba(0, 0, 0, 0.2),
                       0px 8px 10px 1px rgba(0, 0, 0, 0.14),
                       0px 3px 14px 2px rgba(0, 0, 0, 0.12);

    /* ========================================
       Layout
       ======================================== */

    /* Max Widths */
    --max-width-form: 600px;
    --max-width-widget-md: 900px;
    --max-width-widget-lg: 1200px;
    --max-width-widget-xl: 1400px;
    --max-width-footer: 1200px;

    /* Heights */
    --height-header-mobile: 56px;
    --height-header-desktop: 15vh;
    --height-logo-desktop: 10vh;
    --height-input-mobile: 44px;
    --height-input-desktop: 60px;

    /* Z-Index Layers */
    --z-index-dropdown: 1000;

    /* ========================================
       Component-Specific
       ======================================== */

    /* Buttons */
    --button-padding: 0.80em 1.5em;
    --button-border-width: var(--border-width-thick);

    /* Inputs */
    --input-padding: 12px;

    /* Dropdowns */
    --dropdown-min-width: 200px;

    /* FAQ */
    --faq-accordion-max-height: 500px;

    /* Grid Template */
    --grid-template-login: 2fr 3fr; /* 40% / 60% split */
}

/* ========================================
   Usage Examples
   ======================================== */

/*
Example: Using CSS variables

.my-button {
    background-color: var(--color-primary);
    color: var(--color-text-white);
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    padding: var(--button-padding);
    border-radius: var(--border-radius-md);
    transition: var(--transition-button);
}

.my-button:hover {
    background-color: var(--color-primary-hover);
}

@media (min-width: 1024px) {
    .my-container {
        max-width: var(--max-width-widget-lg);
    }
}
*/
