:root {
    /*--------------------------------------------------
      Win WinLand - Bootstrap 5 Custom Theme (REVISED)
      More balanced, usable palette
    --------------------------------------------------*/

    /* ----- PRIMARY & SECONDARY (Main UI Colors) ----- */
    --bs-primary: #0066b3;
    --bs-primary-rgb: 0, 102, 179;
    --bs-secondary: #BFBFBF;
    --bs-secondary-rgb: 191, 191, 191;

    /* ----- ACCENT COLORS (Bright colors for accents) ----- */
    --bs-accent-cyan: #0094ff;
    --bs-accent-pink: #ff00c7;
    --bs-accent-orange: #ff8a48;
    --bs-accent-purple: #918aca;

    /* Backward-compatible aliases used across project */
    --wwl-blue: var(--bs-accent-cyan);
    --wwl-purple: var(--bs-accent-purple);
    --wwl-magenta: var(--bs-accent-pink);
    --wwl-accent: var(--bs-accent-orange);

    /* ----- BACKGROUND COLORS ----- */
    --bs-dark-bg: #251b3c;
    --bs-light-bg: #f0f5ff;

    /* ----- NEUTRALS ----- */
    --bs-light: #f8f9fa;
    --bs-white: #ffffff;
    --bs-black: #000000;
    --bs-dark: #1a1a2e;
    --bs-gray-600: #6c757d;

    /* ----- BOOTSTRAP FUNCTIONAL COLORS ----- */
    --bs-success: #00b37e;
    --bs-success-rgb: 0, 179, 126;
    --bs-info: var(--bs-accent-cyan);
    --bs-info-rgb: 0, 148, 255;
    --bs-warning: var(--bs-accent-orange);
    --bs-warning-rgb: 255, 138, 72;
    --bs-danger: #e53e3e;
    --bs-danger-rgb: 229, 62, 62;

    /* ----- BODY & TEXT ----- */
    --bs-body-bg: var(--bs-white);
    --bs-body-color: var(--bs-dark);
    --bs-heading-color: var(--bs-dark-bg);

    /* ----- LINK COLORS ----- */
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: var(--bs-accent-pink);

    --wwl-brand-gradient: linear-gradient(90deg, var(--bs-accent-cyan) 0%, var(--bs-accent-purple) 50%, var(--bs-accent-pink) 100%);
}

/* Global links */
a {
    color: var(--bs-link-color);
}

a:hover {
    color: var(--bs-link-hover-color);
}

/* Utility overrides for compiled Bootstrap */
.text-primary { color: var(--bs-primary) !important; }
.bg-primary { background-color: var(--bs-primary) !important; }
.border-primary { border-color: var(--bs-primary) !important; }

.text-secondary { color: var(--bs-secondary) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }

.text-info { color: var(--bs-info) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.border-info { border-color: var(--bs-info) !important; }

.text-success { color: var(--bs-success) !important; }
.bg-success { background-color: var(--bs-success) !important; }
.border-success { border-color: var(--bs-success) !important; }

.text-warning { color: var(--bs-warning) !important; }
.bg-warning { background-color: var(--bs-warning) !important; }
.border-warning { border-color: var(--bs-warning) !important; }

.text-danger { color: var(--bs-danger) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.border-danger { border-color: var(--bs-danger) !important; }

/* BUTTON STYLES */
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #004d88;
    border-color: #004d88;
    color: #fff;
}

.btn-secondary {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    color: #fff;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #a6a6a6;
    border-color: #a6a6a6;
    color: #fff;
}

.btn-success {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
    color: #fff;
}

.btn-success:hover,
.btn-success:focus {
    background-color: #00996c;
    border-color: #00996c;
    color: #fff;
}

.btn-warning {
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
    color: #111;
}

.btn-warning:hover,
.btn-warning:focus {
    background-color: #e17435;
    border-color: #e17435;
    color: #111;
}

.btn-info {
    background-color: var(--bs-info);
    border-color: var(--bs-info);
    color: #fff;
}

.btn-info:hover,
.btn-info:focus {
    background-color: #007acc;
    border-color: #007acc;
    color: #fff;
}

.btn-danger {
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
    color: #fff;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: #cf3535;
    border-color: #cf3535;
    color: #fff;
}

.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

/* GRADIENT BUTTON (for special CTAs) */
.btn-gradient {
    background: linear-gradient(45deg, var(--bs-accent-cyan), var(--bs-accent-pink));
    border: none;
    color: #fff;
}

.btn-gradient:hover,
.btn-gradient:focus {
    background: linear-gradient(45deg, var(--bs-accent-pink), var(--bs-accent-cyan));
    color: #fff;
}

/* BACKGROUND UTILITIES */
.bg-brand-dark {
    background-color: var(--bs-dark-bg);
    color: var(--bs-white);
}

.bg-brand-light {
    background-color: var(--bs-light-bg);
}

/* ACCENT TEXT UTILITIES */
.text-accent-cyan { color: var(--bs-accent-cyan); }
.text-accent-pink { color: var(--bs-accent-pink); }
.text-accent-orange { color: var(--bs-accent-orange); }
.icon-accent { color: var(--bs-accent-purple); }

/* Card style */
.card {
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Brand gradient utilities */
.bg-brand-gradient {
    background: var(--wwl-brand-gradient) !important;
    color: #fff;
}

.gradient-divider {
    height: 3px;
    background: linear-gradient(90deg, var(--bs-accent-cyan), var(--bs-accent-pink));
    width: 60px;
    margin: 1rem 0;
}
