/* ============================================================
   PRIMETOUCH CLEANING — THEME VARIABLES
   Dark / Light mode via [data-theme] attribute
   ============================================================ */

:root,
[data-theme="light"] {
    /* Brand - FSE Cleaning Services Theme Colors */
    --primary: #46841E;
    --primary-light: #5AA327;
    --primary-dark: #376817;
    --secondary: #1F2937;
    --secondary-light: #374151;
    --accent: #F59E0B;
    
    /* Legacy gold support (for compatibility) */
    --gold: #46841E;
    --gold-light: #5AA327;
    --gold-dark: #376817;
    --navy: #1F2937;
    --navy-mid: #374151;
    --navy-light: #4B5563;

    /* Surfaces */
    --bg-primary: #FFFFFF;
    --bg-secondary: #F6F7FB;
    --bg-card: #FFFFFF;
    --bg-glass: rgba(255, 255, 255, 0.85);
    --bg-overlay: rgba(10, 14, 39, 0.55);

    /* Text */
    --text-primary: #0A0E27;
    --text-secondary: #4A5170;
    --text-muted: #8A92B2;
    --text-inverse: #FFFFFF;

    /* Borders */
    --border: #E2E5F0;
    --border-light: #F0F2F8;
    --border-gold: rgba(70, 132, 30, 0.35);
    --border-primary: rgba(70, 132, 30, 0.35);

    /* States */
    --success: #10B981;
    --warning: #F59E0B;
    --danger: #EF4444;
    --info: #3B82F6;

    /* Shadows */
    --shadow-sm: 0 1px 4px rgba(10, 14, 39, 0.06);
    --shadow-md: 0 4px 20px rgba(10, 14, 39, 0.10);
    --shadow-lg: 0 12px 40px rgba(10, 14, 39, 0.14);
    --shadow-gold: 0 8px 32px rgba(70, 132, 30, 0.25);
    --shadow-primary: 0 8px 32px rgba(70, 132, 30, 0.25);

    /* Gradients - FSE Cleaning Services Style */
    --grad-gold: linear-gradient(135deg, #46841E 0%, #5AA327 50%, #46841E 100%);
    --grad-navy: linear-gradient(135deg, #1F2937 0%, #374151 100%);
    --grad-hero: linear-gradient(160deg, #1F2937 0%, #374151 40%, #4B5563 100%);
    --grad-card: linear-gradient(145deg, #ffffff 0%, #f6f7fb 100%);

    /* Radius */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
    --radius-full: 9999px;

    /* Transitions */
    --trans-fast: 0.15s ease;
    --trans-base: 0.25s ease;
    --trans-slow: 0.45s cubic-bezier(0.4, 0, 0.2, 1);

    /* Spacing */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 40px;
    --space-2xl: 64px;
    --space-3xl: 96px;

    /* Z-index */
    --z-below: -1;
    --z-base: 0;
    --z-raised: 10;
    --z-sticky: 100;
    --z-overlay: 500;
    --z-modal: 1000;
    --z-toast: 2000;
}

[data-theme="dark"] {
    --bg-primary: #070B1E;
    --bg-secondary: #0D1228;
    --bg-card: #111830;
    --bg-glass: rgba(11, 15, 35, 0.92);
    --bg-overlay: rgba(0, 0, 0, 0.65);

    --text-primary: #F0F2FF;
    --text-secondary: #A8B0CC;
    --text-muted: #5C6480;
    --text-inverse: #0A0E27;

    --border: #1E2645;
    --border-light: #151B3A;
    --border-gold: rgba(201, 168, 76, 0.25);

    --shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.5);
    --shadow-gold: 0 8px 32px rgba(201, 168, 76, 0.20);

    --grad-card: linear-gradient(145deg, #111830 0%, #0D1228 100%);
}

/* ── Transition all theme-sensitive properties ── */
*,
*::before,
*::after {
    transition: background-color var(--trans-base),
        border-color var(--trans-base),
        color var(--trans-fast);
}