/* ============================================
   CUSTOM COLOR PALETTE
   ============================================
   This file overrides Bootstrap default colors.
   Edit these CSS variables to change the entire
   application's color scheme.
   ============================================ */

:root {
    /* Primary Colors */
    --bs-primary: #451f99;
    --bs-primary-rgb: 69, 31, 153;

    /* Secondary Colors */
    --bs-secondary: #b6accc;
    --bs-secondary-rgb: 182, 172, 204;

    /* Info Colors */
    --bs-info: #4db5ff;
    --bs-info-rgb: 77, 181, 255;

    /* Success Colors */
    --bs-success: #73cc30;
    --bs-success-rgb: 115, 204, 48;

    /* Warning Colors */
    --bs-warning: #fee23e;
    --bs-warning-rgb: 254, 226, 62;

    /* Danger Colors */
    --bs-danger: #d5294f;
    --bs-danger-rgb: 213, 41, 79;

    /* Light Colors */
    --bs-light: #d4d1d4;
    --bs-light-rgb: 212, 209, 212;

    /* Dark (keeping default) */
    --bs-dark: #212529;
    --bs-dark-rgb: 33, 37, 41;
}

/* ============================================
   BOOTSTRAP COMPONENT OVERRIDES
   ============================================ */

/* Buttons */
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: #3a1a7f;
    --bs-btn-hover-border-color: #3a1a7f;
    --bs-btn-active-bg: #2f1566;
    --bs-btn-active-border-color: #2f1566;
}

.btn-secondary {
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: #a599bd;
    --bs-btn-hover-border-color: #a599bd;
    --bs-btn-active-bg: #9486ae;
    --bs-btn-active-border-color: #9486ae;
    --bs-btn-color: #212529;
}

.btn-info {
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-bg: #3da3e6;
    --bs-btn-hover-border-color: #3da3e6;
    --bs-btn-active-bg: #2d91cc;
    --bs-btn-active-border-color: #2d91cc;
}

.btn-success {
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-bg: #0bc96d;
    --bs-btn-hover-border-color: #0bc96d;
    --bs-btn-active-bg: #0ab25e;
    --bs-btn-active-border-color: #0ab25e;
}

.btn-warning {
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-bg: #fed925;
    --bs-btn-hover-border-color: #fed925;
    --bs-btn-active-bg: #fecf0c;
    --bs-btn-active-border-color: #fecf0c;
    --bs-btn-color: #212529;
}

.btn-danger {
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-bg: #9a1f39;
    --bs-btn-hover-border-color: #9a1f39;
    --bs-btn-active-bg: #831a2f;
    --bs-btn-active-border-color: #831a2f;
}

/* Badges */
.badge.bg-primary {
    background-color: var(--bs-primary) !important;
}

.badge.bg-secondary {
    background-color: var(--bs-secondary) !important;
    color: #212529 !important;
}

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

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

.badge.bg-warning {
    background-color: var(--bs-warning) !important;
    color: #212529 !important;
}

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

/* Alerts */
.alert-primary {
    --bs-alert-bg: rgba(69, 31, 153, 0.1);
    --bs-alert-border-color: var(--bs-primary);
    --bs-alert-color: var(--bs-primary);
}

.alert-secondary {
    --bs-alert-bg: rgba(182, 172, 204, 0.1);
    --bs-alert-border-color: var(--bs-secondary);
    --bs-alert-color: #5a5166;
}

.alert-info {
    --bs-alert-bg: rgba(77, 181, 255, 0.1);
    --bs-alert-border-color: var(--bs-info);
    --bs-alert-color: #2d6b99;
}

.alert-success {
    --bs-alert-bg: rgba(12, 224, 124, 0.1);
    --bs-alert-border-color: var(--bs-success);
    --bs-alert-color: #087049;
}

.alert-warning {
    --bs-alert-bg: rgba(254, 226, 62, 0.1);
    --bs-alert-border-color: var(--bs-warning);
    --bs-alert-color: #997127;
}

.alert-danger {
    --bs-alert-bg: rgba(177, 36, 67, 0.1);
    --bs-alert-border-color: var(--bs-danger);
    --bs-alert-color: var(--bs-danger);
}

/* Text Colors */
.text-primary {
    color: var(--bs-primary) !important;
}

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

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

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

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

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

/* Background Colors */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

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

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

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

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

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

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

/* Links */
.link-primary {
    color: var(--bs-primary) !important;
}

.link-secondary {
    color: var(--bs-secondary) !important;
}

.link-info {
    color: var(--bs-info) !important;
}

.link-success {
    color: var(--bs-success) !important;
}

.link-warning {
    color: var(--bs-warning) !important;
}

.link-danger {
    color: var(--bs-danger) !important;
}

/* Border Colors */
.border-primary {
    border-color: var(--bs-primary) !important;
}

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

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

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

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

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

/* ============================================
   CUSTOM UTILITIES
   ============================================ */

/* Opacity variants for backgrounds */
.bg-primary-subtle {
    background-color: rgba(69, 31, 153, 0.1) !important;
}

.bg-secondary-subtle {
    background-color: rgba(182, 172, 204, 0.1) !important;
}

.bg-info-subtle {
    background-color: rgba(77, 181, 255, 0.1) !important;
}

.bg-success-subtle {
    background-color: rgba(12, 224, 124, 0.1) !important;
}

.bg-warning-subtle {
    background-color: rgba(254, 226, 62, 0.1) !important;
}

.bg-danger-subtle {
    background-color: rgba(177, 36, 67, 0.1) !important;
}

/* ============================================
   PROFILE PAGE ENHANCEMENTS
   ============================================ */

.hover-shadow:hover {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    transform: translateY(-2px);
}

.transition-all {
    transition: all 0.3s ease;
}

.cursor-pointer {
    cursor: pointer;
}

.spacing-y-2>*+* {
    margin-top: 0.5rem;
}