/* ============================================
   Custom Shower Glass Doors — Navy Color Theme
   Based on logo palette: #364376 navy, #6089B0 steel, #639DDB sky
   ============================================ */

:root, [data-bs-theme=light] {
    --nl-primary: #364376;
    --nl-primary-rgb: 54, 67, 118;
    --nl-primary-text-emphasis: #273058;
    --nl-primary-text-emphasis-rgb: 39, 48, 88;
    --nl-primary-bg-subtle: #E0EDF8;
    --nl-primary-bg-subtle-rgb: 224, 237, 248;
    --nl-primary-border-subtle: #C8DCF0;
    --nl-btn: var(--nl-primary) !important;
    --nl-btn-border-color: var(--nl-primary);
    --nl-btn-color: #fff;
    --nl-btn-hover-bg: var(--nl-primary-text-emphasis);
    --nl-btn-hover-border-color: var(--nl-primary-text-emphasis);
    --nl-btn-hover-color: #fff;

    --nl-secondary: #6089B0;
    --nl-secondary-rgb: 96, 137, 176;
    --nl-secondary-text-emphasis: #4A6F93;
    --nl-secondary-bg-subtle: #EEF4FA;
    --nl-secondary-border-subtle: #D0E3F2;

    --nl-link-color: var(--nl-primary);
    --nl-link-color-rgb: var(--nl-primary-rgb);
    --nl-link-hover-color: var(--nl-primary-text-emphasis);
    --nl-link-hover-color-rgb: var(--nl-primary-text-emphasis-rgb);
    --nl-focus-ring-color: rgba(var(--nl-primary-rgb), .25);

    --nl-pagination-hover-bg: var(--nl-primary-text-emphasis);
    --nl-pagination-hover-border-color: var(--nl-primary-text-emphasis);
    --nl-pagination-active-bg: var(--nl-primary);
    --nl-pagination-active-border-color: var(--nl-primary);
    --swiper-theme-color: #364376;

    /* Brand Core */
    --brand-primary: #364376;
    --brand-primary-dark: #273058;
    --brand-primary-light: #4A5A8F;
    --brand-secondary: #6089B0;
    --brand-secondary-dark: #4A6F93;
    --brand-secondary-light: #7DA3C4;
    --brand-accent: #639DDB;
    --brand-accent-dark: #4A85C4;
    --brand-accent-light: #87B8E8;
    --brand-glass: #E0EDF8;
    --brand-glass-deep: #C8DCF0;

    --brand-bg: #FFFFFF;
    --brand-bg-alt: #F5F8FC;
    --brand-bg-card: #FFFFFF;
    --brand-bg-dark: #364376;
    --brand-bg-overlay: rgba(54, 67, 118, 0.75);

    --brand-text: #1A1F2E;
    --brand-text-body: #2D3648;
    --brand-text-muted: #6B7A99;
    --brand-text-light: #FFFFFF;

    --brand-border: #D1DDED;
    --brand-border-focus: #639DDB;
    --brand-divider: #E8EFF7;

    --brand-success: #2A7A4B;
    --brand-success-bg: #EAF5EE;
    --brand-warning: #B87333;
    --brand-warning-bg: #FDF3E7;
    --brand-error: #C0392B;
    --brand-error-bg: #FDECEA;
    --brand-sale: #C0392B;
    --brand-price: #364376;
    --brand-price-dealer: #2A7A4B;

    --cassiopeia-color-primary: var(--nl-primary);
    --cassiopeia-color-hover: var(--nl-primary-text-emphasis);


    --font-heading: 'DM Sans', 'Inter', system-ui, sans-serif;
    --font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Courier New', monospace;

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;

    --shadow-sm: 0 1px 2px rgba(54,67,118,0.06), 0 1px 3px rgba(54,67,118,0.10);
    --shadow-md: 0 4px 6px rgba(54,67,118,0.06), 0 2px 4px rgba(54,67,118,0.08);
    --shadow-lg: 0 10px 15px rgba(54,67,118,0.08), 0 4px 6px rgba(54,67,118,0.06);
    --shadow-xl: 0 20px 25px rgba(54,67,118,0.10), 0 10px 10px rgba(54,67,118,0.06);
    --shadow-card-hover: 0 20px 40px rgba(99,157,219,0.18), 0 8px 16px rgba(54,67,118,0.10);

    --section-py: 5rem;
    --container-max: 1320px;
    --transition-fast: 0.15s ease;
    --transition-base: 0.2s ease;
    --transition-slow: 0.3s ease;
    --fs-xl:1.5rem;
    --fs-lg:1.25rem;
    --fs-base:1rem;
    --fs-sm:0.875rem;
    --fs-xs:0.725rem;

    --accordion-bg: transparent;

}

[data-bs-theme=dark] {
    --nl-primary: #4A5A8F;
    --nl-primary-rgb: 74, 90, 143;
    --nl-primary-text-emphasis: #639DDB;
    --nl-primary-text-emphasis-rgb: 99, 157, 219;
    --nl-primary-bg-subtle: #1E2849;
    --nl-primary-bg-subtle-rgb: 30, 40, 73;
    --nl-primary-border-subtle: #2D3F6A;
    --nl-btn: var(--nl-primary) !important;
    --nl-btn-border-color: var(--nl-primary);
    --nl-btn-color: #fff;
    --nl-btn-hover-bg: var(--nl-primary-text-emphasis);
    --nl-btn-hover-border-color: var(--nl-primary-text-emphasis);
    --nl-btn-hover-color: #fff;

    --nl-secondary: #6089B0;
    --nl-secondary-rgb: 96, 137, 176;
    --nl-secondary-text-emphasis: #7DA3C4;
    --nl-secondary-bg-subtle: #1A2841;
    --nl-secondary-border-subtle: #2D4A6A;

    --nl-link-color: var(--nl-primary);
    --nl-link-color-rgb: var(--nl-primary-rgb);
    --nl-link-hover-color: var(--nl-primary-text-emphasis);
    --nl-link-hover-color-rgb: var(--nl-primary-text-emphasis-rgb);
    --nl-focus-ring-color: rgba(var(--nl-primary-rgb), .25);

    --nl-pagination-hover-bg: var(--nl-primary-text-emphasis);
    --nl-pagination-hover-border-color: var(--nl-primary-text-emphasis);
    --nl-pagination-active-bg: var(--nl-primary);
    --nl-pagination-active-border-color: var(--nl-primary);
    --swiper-theme-color: #4A5A8F;
}

/* Component Overrides */
.bg-light .text-primary { color: #273058 !important; }

.btn-primary, .product-card:hover .product-card-button {
    --nl-btn-color: #fff;
    --nl-btn-bg: var(--nl-primary);
    --nl-btn-border-color: var(--nl-primary);
    --nl-btn-hover-color: #fff;
    --nl-btn-hover-bg: var(--nl-primary-text-emphasis);
    --nl-btn-hover-border-color: var(--nl-primary-text-emphasis);
    --nl-btn-focus-shadow-rgb: var(--nl-primary-bg-subtle-rgb);
    --nl-btn-active-color: #fff;
    --nl-btn-active-bg: var(--nl-primary-text-emphasis);
    --nl-btn-active-border-color: var(--nl-primary-text-emphasis);
    --nl-btn-active-shadow: inset 0 3px 5px rgba(var(--nl-primary-bg-subtle-rgb), .125);
    --nl-btn-disabled-color: #fff;
    --nl-btn-disabled-bg: var(--nl-primary-bg-subtle);
    --nl-btn-disabled-border-color: var(--nl-primary-bg-subtle);
    font-family: var(--font-heading), sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.btn-outline-primary {
    --nl-btn-color: var(--nl-primary);
    --nl-btn-border-color: var(--nl-primary);
    --nl-btn-hover-color: #fff;
    --nl-btn-hover-bg: var(--nl-primary);
    --nl-btn-hover-border-color: var(--nl-primary);
    --nl-btn-focus-shadow-rgb: var(--nl-primary-bg-subtle-rgb);
    --nl-btn-active-color: #fff;
    --nl-btn-active-bg: var(--nl-primary);
    --nl-btn-active-border-color: var(--nl-primary);
    --nl-btn-active-shadow: inset 0 3px 5px rgba(var(--nl-primary-bg-subtle-rgb), .125);
    --nl-btn-disabled-color: #fff;
    --nl-btn-disabled-bg: transparent;
    --nl-btn-disabled-border-color: var(--nl-primary);
    --nl-gradient: none;
    font-family: var(--font-heading), sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pagination {
    --nl-pagination-active-bg: var(--nl-primary);
    --nl-pagination-active-border-color: var(--nl-primary);
}

.swiper-pagination-bullet-active { background: var(--nl-secondary); }
.swiper-pagination-bullet { border: 2px solid var(--nl-secondary-border-subtle); }
.swiper-button-prev:hover,
.swiper-button-next:hover { background-color: var(--nl-secondary); }

.form-control:focus { border-color: var(--nl-primary-border-subtle); }

.bg-primary-gradient {
    background: linear-gradient(180deg, #4A5A8F, #364376 47.92%, #1E2849);
}

.bg-dark { background-color: #1E2849 !important; }

.brand-accent-light {color: var(--brand-accent-light);}


.min-vh-25 {min-height: 25vh!important;}
.min-vh-50 {min-height: 50vh!important;}
.min-vh-75 {min-height: 75vh!important;}
.min-vh-90 {min-height: 90vh!important;}
.min-vh-100 {min-height: 100vh!important;}
