/**
 * Liquid Glass Design System
 * Political Laboratory Website
 * 
 * A modern glassmorphism design system with light/dark theme support
 * and golden brand colors.
 */

/* ========================================
   CSS VARIABLES - THEME SYSTEM
   ======================================== */

/* Light Theme Variables */
[data-bs-theme="light"] {
  /* Brand Colors - Deep Navy + Darker Gold for Light Backgrounds */
  --bs-brand: #0A2540;
  --bs-brand-rgb: 10, 37, 64;
  --bs-brand-emphasis: #061829;
  --bs-accent: #B8941F;           /* Darker gold for better visibility on light */
  --bs-accent-rgb: 184, 148, 31;
  --bs-accent-emphasis: #9A7A1A;  /* Even darker for emphasis */

  /* Bootstrap Color Overrides */
  --bs-primary: #0d6efd;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary: #6c757d;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success: #198754;
  --bs-success-rgb: 25, 135, 84;
  --bs-warning: #ffad07;
  --bs-warning-rgb: 255, 173, 7;
  --bs-danger: #dc3545;
  --bs-danger-rgb: 220, 53, 69;
  --bs-info: #0090ad;
  --bs-info-rgb: 0, 144, 173;

  /* Glass Backgrounds */
  --glass-bg: rgba(255, 255, 255, 0.4);
  --glass-border: rgba(229, 229, 229, 0.5);
  --glass-hover: rgba(255, 255, 255, 0.35);

  /* Glass Variants */
  --glass-primary: rgba(13, 110, 253, 0.1);
  --glass-secondary: rgba(108, 117, 125, 0.1);
  --glass-success: rgba(25, 135, 84, 0.1);
  --glass-warning: rgba(255, 173, 7, 0.1);
  --glass-danger: rgba(220, 53, 69, 0.1);
  --glass-info: rgba(0, 144, 173, 0.1);
  --glass-brand: linear-gradient(
    135deg,
    rgba(10, 37, 64, 0.15),
    rgba(212, 175, 55, 0.15)
  );
}

/* Dark Theme Variables */
[data-bs-theme="dark"] {
  /* Brand Colors - Lighter Navy + Brighter Gold for Dark Backgrounds */
  --bs-brand: #1E4976;
  --bs-brand-rgb: 30, 73, 118;
  --bs-brand-emphasis: #2D5F8D;
  --bs-accent: #FFD966;           /* Brighter gold for better visibility on dark */
  --bs-accent-rgb: 255, 217, 102;
  --bs-accent-emphasis: #FFE699;  /* Even brighter for emphasis */

  /* Bootstrap Color Overrides */
  --bs-primary: #6ea8fe;
  --bs-primary-rgb: 110, 168, 254;
  --bs-secondary: #a7acb1;
  --bs-secondary-rgb: 167, 172, 177;
  --bs-success: #75b798;
  --bs-success-rgb: 117, 183, 152;
  --bs-warning: #ffda6a;
  --bs-warning-rgb: 255, 218, 106;
  --bs-danger: #ea868f;
  --bs-danger-rgb: 234, 134, 143;
  --bs-info: #6edff6;
  --bs-info-rgb: 110, 223, 246;

  /* Glass Backgrounds */
  --glass-bg: rgba(33, 37, 41, 0.4);
  --glass-border: rgba(83, 83, 83, 0.5);
  --glass-hover: rgba(255, 255, 255, 0.15);

  /* Glass Variants */
  --glass-primary: rgba(13, 110, 253, 0.1);
  --glass-secondary: rgba(108, 117, 125, 0.1);
  --glass-success: rgba(25, 135, 84, 0.1);
  --glass-warning: rgba(255, 193, 7, 0.1);
  --glass-danger: rgba(220, 53, 69, 0.1);
  --glass-info: rgba(13, 202, 240, 0.1);
  --glass-brand: linear-gradient(
    135deg,
    rgba(30, 73, 118, 0.15),
    rgba(245, 200, 66, 0.15)
  );
}

/* ========================================
   BASE GLASS MORPHISM STYLES
   ======================================== */

/* Base Glass Element */
.glass-element {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  transition: all 0.3s ease;
}

/* Browser Fallback for Unsupported Backdrop Filter */
@supports not (backdrop-filter: blur(20px)) {
  [data-bs-theme="light"] .glass-element {
    background: rgba(255, 255, 255, 0.85);
  }

  [data-bs-theme="dark"] .glass-element {
    background: rgba(33, 37, 41, 0.85);
  }
}

/* Glass Background Utilities */
.bg-glass {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.bg-glass-primary {
  background: var(--glass-primary) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.bg-glass-secondary {
  background: var(--glass-secondary) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.bg-glass-success {
  background: var(--glass-success) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.bg-glass-warning {
  background: var(--glass-warning) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.bg-glass-danger {
  background: var(--glass-danger) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.bg-glass-info {
  background: var(--glass-info) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.bg-glass-brand {
  background: var(--glass-brand) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* ========================================
   BUTTON COMPONENTS
   ======================================== */

/* Base Button Styles */
.btn {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Shimmer Effect on Hover */
.btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transition: left 0.8s ease;
  z-index: 1;
}

[data-bs-theme="dark"] .btn::before {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  );
}

.btn:hover::before {
  left: 100%;
}

/* Ensure button text is above shimmer */
.btn > * {
  position: relative;
  z-index: 2;
}

/* Ripple Animation */
.ripple {
  position: absolute;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transform: scale(0);
  animation: ripple-animation 0.6s linear;
  pointer-events: none;
  z-index: 0;
}

@keyframes ripple-animation {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* Disabled State */
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}

.btn:disabled::before {
  display: none;
}

/* ========================================
   BUTTON VARIANTS - LIGHT THEME
   ======================================== */

/* Primary Button - Using Navy + Gold Theme */
[data-bs-theme="light"] .btn-primary {
  background: linear-gradient(135deg, rgba(10, 37, 64, 0.85), rgba(10, 37, 64, 0.9)) !important;
  border: 1px solid rgba(10, 37, 64, 1) !important;
  color: #FFD966 !important;
  font-weight: 600;
}

[data-bs-theme="light"] .btn-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(6, 24, 41, 0.95), rgba(10, 37, 64, 1)) !important;
  color: #FFE699 !important;
  border-color: rgba(255, 217, 102, 0.5) !important;
  box-shadow: 0 4px 15px rgba(255, 217, 102, 0.4);
}

/* Secondary Button */
[data-bs-theme="light"] .btn-secondary {
  background: rgba(108, 117, 125, 0.25);
  border: 1px solid rgba(108, 117, 125, 0.4);
  color: #6c757d;
}

[data-bs-theme="light"] .btn-secondary:hover:not(:disabled) {
  background: rgba(108, 117, 125, 0.35);
  color: #6c757d;
}

/* Success Button */
[data-bs-theme="light"] .btn-success {
  background: rgba(25, 135, 84, 0.25);
  border: 1px solid rgba(25, 135, 84, 0.4);
  color: #198754;
}

[data-bs-theme="light"] .btn-success:hover:not(:disabled) {
  background: rgba(25, 135, 84, 0.35);
  color: #198754;
}

/* Warning Button */
[data-bs-theme="light"] .btn-warning {
  background: rgb(255, 152, 1, 0.12);
  border: 1px solid rgb(255, 205, 7, 0.4);
  color: #ffad07;
}

[data-bs-theme="light"] .btn-warning:hover:not(:disabled) {
  background: rgba(255, 153, 1, 0.215);
  border: 1px solid rgba(255, 205, 7, 0.546);
  color: #ffa007;
}

/* Danger Button */
[data-bs-theme="light"] .btn-danger {
  background: rgba(220, 53, 69, 0.25);
  border: 1px solid rgba(220, 53, 69, 0.4);
  color: #dc3545;
}

[data-bs-theme="light"] .btn-danger:hover:not(:disabled) {
  background: rgba(220, 53, 69, 0.35);
  color: #dc3545;
}

/* Info Button */
[data-bs-theme="light"] .btn-info {
  background: rgb(59, 214, 248, 0.5);
  border: 1px solid rgb(52, 153, 178, 0.39);
  color: #0090ad;
}

[data-bs-theme="light"] .btn-info:hover:not(:disabled) {
  background: rgba(59, 213, 248, 0.541);
  border: 1px solid rgba(41, 140, 164, 0.39);
  color: #07869f;
}

/* Brand Button (Custom) - Navy + Gold */
[data-bs-theme="light"] .btn-brand {
  background: linear-gradient(
    135deg,
    rgba(10, 37, 64, 0.9),
    rgba(10, 37, 64, 0.95)
  );
  border: 1px solid rgba(10, 37, 64, 1);
  color: #FFD966;  /* Bright gold text for visibility */
  font-weight: 600;
}

[data-bs-theme="light"] .btn-brand:hover:not(:disabled) {
  background: linear-gradient(
    135deg,
    rgba(6, 24, 41, 1),
    rgba(10, 37, 64, 1)
  );
  color: #FFE699;  /* Even brighter on hover */
  border-color: rgba(255, 217, 102, 0.5);
  box-shadow: 0 4px 15px rgba(255, 217, 102, 0.4);
}

/* ========================================
   BUTTON VARIANTS - DARK THEME
   ======================================== */

/* Primary Button - Using Navy + Gold Theme */
[data-bs-theme="dark"] .btn-primary {
  background: linear-gradient(135deg, rgba(30, 73, 118, 0.85), rgba(30, 73, 118, 0.9)) !important;
  border: 1px solid rgba(30, 73, 118, 1) !important;
  color: #FFD966 !important;
  font-weight: 600;
}

[data-bs-theme="dark"] .btn-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(45, 95, 141, 0.95), rgba(30, 73, 118, 1)) !important;
  color: #FFE699 !important;
  border-color: rgba(255, 217, 102, 0.5) !important;
  box-shadow: 0 4px 15px rgba(255, 217, 102, 0.3);
}

/* Secondary Button */
[data-bs-theme="dark"] .btn-secondary {
  background: rgba(108, 117, 125, 0.25);
  border: 1px solid rgba(108, 117, 125, 0.4);
  color: #a7acb1;
}

[data-bs-theme="dark"] .btn-secondary:hover:not(:disabled) {
  background: rgba(108, 117, 125, 0.35);
  color: #a7acb1;
}

/* Success Button */
[data-bs-theme="dark"] .btn-success {
  background: rgba(25, 135, 84, 0.25);
  border: 1px solid rgba(25, 135, 84, 0.4);
  color: #75b798;
}

[data-bs-theme="dark"] .btn-success:hover:not(:disabled) {
  background: rgba(25, 135, 84, 0.35);
  color: #75b798;
}

/* Warning Button */
[data-bs-theme="dark"] .btn-warning {
  background: rgba(255, 193, 7, 0.25);
  border: 1px solid rgba(255, 193, 7, 0.4);
  color: #ffda6a;
}

[data-bs-theme="dark"] .btn-warning:hover:not(:disabled) {
  background: rgba(255, 193, 7, 0.35);
  color: #ffda6a;
}

/* Danger Button */
[data-bs-theme="dark"] .btn-danger {
  background: rgba(220, 53, 69, 0.25);
  border: 1px solid rgba(220, 53, 69, 0.4);
  color: #ea868f;
}

[data-bs-theme="dark"] .btn-danger:hover:not(:disabled) {
  background: rgba(220, 53, 69, 0.35);
  color: #ea868f;
}

/* Info Button */
[data-bs-theme="dark"] .btn-info {
  background: rgba(13, 202, 240, 0.25);
  border: 1px solid rgba(13, 202, 240, 0.4);
  color: #6edff6;
}

[data-bs-theme="dark"] .btn-info:hover:not(:disabled) {
  background: rgba(13, 202, 240, 0.35);
  color: #6edff6;
}

/* Brand Button (Custom) - Navy + Gold Dark Mode */
[data-bs-theme="dark"] .btn-brand {
  background: linear-gradient(
    135deg,
    rgba(30, 73, 118, 0.9),
    rgba(30, 73, 118, 0.95)
  );
  border: 1px solid rgba(30, 73, 118, 1);
  color: #FFD966;  /* Bright gold for dark backgrounds */
  font-weight: 600;
}

[data-bs-theme="dark"] .btn-brand:hover:not(:disabled) {
  background: linear-gradient(
    135deg,
    rgba(45, 95, 141, 1),
    rgba(30, 73, 118, 1)
  );
  color: #FFE699;  /* Even brighter on hover */
  border-color: rgba(255, 217, 102, 0.5);
  box-shadow: 0 4px 15px rgba(255, 217, 102, 0.4);
}

/* ========================================
   OUTLINE BUTTON VARIANTS - LIGHT THEME
   ======================================== */

[data-bs-theme="light"] .btn-outline-primary {
  background: transparent !important;
  border: 2px solid rgba(10, 37, 64, 0.8) !important;
  color: #0A2540 !important;
  font-weight: 600;
}

[data-bs-theme="light"] .btn-outline-primary:hover:not(:disabled) {
  background: rgba(10, 37, 64, 0.1) !important;
  color: #0A2540 !important;
  border-color: #B8941F !important;
  box-shadow: 0 4px 15px rgba(184, 148, 31, 0.3);
}

[data-bs-theme="light"] .btn-outline-secondary {
  background: transparent;
  border: 1px solid rgba(108, 117, 125, 0.6);
  color: #6c757d;
}

[data-bs-theme="light"] .btn-outline-secondary:hover:not(:disabled) {
  background: rgba(108, 117, 125, 0.15);
  color: #6c757d;
}

[data-bs-theme="light"] .btn-outline-success {
  background: transparent;
  border: 1px solid rgba(25, 135, 84, 0.6);
  color: #198754;
}

[data-bs-theme="light"] .btn-outline-success:hover:not(:disabled) {
  background: rgba(25, 135, 84, 0.15);
  color: #198754;
}

[data-bs-theme="light"] .btn-outline-warning {
  background: transparent;
  border: 1px solid rgb(255, 183, 7, 0.72);
  color: #ffad07;
}

[data-bs-theme="light"] .btn-outline-warning:hover:not(:disabled) {
  background: rgba(255, 153, 1, 0.215);
  border: 1px solid rgba(255, 205, 7, 0.546);
  color: #ffa007;
}

[data-bs-theme="light"] .btn-outline-danger {
  background: transparent;
  border: 1px solid rgba(220, 53, 69, 0.6);
  color: #dc3545;
}

[data-bs-theme="light"] .btn-outline-danger:hover:not(:disabled) {
  background: rgba(220, 53, 69, 0.15);
  color: #dc3545;
}

[data-bs-theme="light"] .btn-outline-info {
  background: transparent;
  border: 1px solid rgba(41, 140, 164, 0.39);
  color: #07869f;
}

[data-bs-theme="light"] .btn-outline-info:hover:not(:disabled) {
  background: rgba(59, 213, 248, 0.541);
  border: 1px solid rgba(41, 140, 164, 0.39);
  color: #07869f;
}

[data-bs-theme="light"] .btn-outline-brand {
  background: transparent;
  border: 2px solid rgba(10, 37, 64, 0.8);
  color: #0A2540;
  font-weight: 600;
}

[data-bs-theme="light"] .btn-outline-brand:hover:not(:disabled) {
  background: rgba(10, 37, 64, 0.1);
  color: #0A2540;
  border-color: #B8941F;  /* Darker gold for light backgrounds */
  box-shadow: 0 4px 15px rgba(184, 148, 31, 0.3);
}

/* ========================================
   OUTLINE BUTTON VARIANTS - DARK THEME
   ======================================== */

[data-bs-theme="dark"] .btn-outline-primary {
  background: transparent !important;
  border: 2px solid rgba(30, 73, 118, 0.8) !important;
  color: #2D5F8D !important;
  font-weight: 600;
}

[data-bs-theme="dark"] .btn-outline-primary:hover:not(:disabled) {
  background: rgba(30, 73, 118, 0.1) !important;
  color: #2D5F8D !important;
  border-color: #FFD966 !important;
  box-shadow: 0 4px 15px rgba(255, 217, 102, 0.3);
}

[data-bs-theme="dark"] .btn-outline-secondary {
  background: transparent;
  border: 1px solid rgba(108, 117, 125, 0.6);
  color: #a7acb1;
}

[data-bs-theme="dark"] .btn-outline-secondary:hover:not(:disabled) {
  background: rgba(108, 117, 125, 0.15);
  color: #a7acb1;
}

[data-bs-theme="dark"] .btn-outline-success {
  background: transparent;
  border: 1px solid rgba(25, 135, 84, 0.6);
  color: #75b798;
}

[data-bs-theme="dark"] .btn-outline-success:hover:not(:disabled) {
  background: rgba(25, 135, 84, 0.15);
  color: #75b798;
}

[data-bs-theme="dark"] .btn-outline-warning {
  background: transparent;
  border: 1px solid rgba(255, 193, 7, 0.6);
  color: #ffda6a;
}

[data-bs-theme="dark"] .btn-outline-warning:hover:not(:disabled) {
  background: rgba(255, 193, 7, 0.15);
  color: #ffda6a;
}

[data-bs-theme="dark"] .btn-outline-danger {
  background: transparent;
  border: 1px solid rgba(220, 53, 69, 0.6);
  color: #ea868f;
}

[data-bs-theme="dark"] .btn-outline-danger:hover:not(:disabled) {
  background: rgba(220, 53, 69, 0.15);
  color: #ea868f;
}

[data-bs-theme="dark"] .btn-outline-info {
  background: transparent;
  border: 1px solid rgba(13, 202, 240, 0.6);
  color: #6edff6;
}

[data-bs-theme="dark"] .btn-outline-info:hover:not(:disabled) {
  background: rgba(13, 202, 240, 0.15);
  color: #6edff6;
}

[data-bs-theme="dark"] .btn-outline-brand {
  background: linear-gradient(135deg, rgba(255, 217, 102, 0.9), rgba(255, 217, 102, 0.95)) !important;
  border: 2px solid rgba(255, 217, 102, 1) !important;
  color: #0A2540 !important;  /* Navy text on gold background */
  font-weight: 600;
}

[data-bs-theme="dark"] .btn-outline-brand:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(255, 230, 153, 1), rgba(255, 217, 102, 1)) !important;
  color: #061829 !important;  /* Darker navy on hover */
  border-color: rgba(255, 230, 153, 1) !important;
  box-shadow: 0 4px 20px rgba(255, 217, 102, 0.5);
}

/* ========================================
   CARD COMPONENTS
   ======================================== */

/* Base Glass Card */
.card-glass {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  transition: all 0.3s ease;
}

[data-bs-theme="light"] .card-glass {
  background: rgba(255, 255, 255, 0.4);
}

[data-bs-theme="dark"] .card-glass {
  background: rgba(33, 37, 41, 0.4);
}

/* Card Hover Effect */
.card-glass:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Card Variants - Light Theme */
[data-bs-theme="light"] .card-glass.card-primary {
  background: rgba(13, 110, 253, 0.1);
  border: 1px solid rgba(13, 110, 253, 0.3);
}

[data-bs-theme="light"] .card-glass.card-success {
  background: rgba(25, 135, 84, 0.1);
  border: 1px solid rgba(25, 135, 84, 0.3);
}

[data-bs-theme="light"] .card-glass.card-warning {
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.3);
}

[data-bs-theme="light"] .card-glass.card-danger {
  background: rgba(220, 53, 69, 0.1);
  border: 1px solid rgba(220, 53, 69, 0.3);
}

[data-bs-theme="light"] .card-glass.card-brand {
  background: linear-gradient(
    135deg,
    rgba(10, 37, 64, 0.08),
    rgba(212, 175, 55, 0.08)
  );
  border: 1px solid rgba(10, 37, 64, 0.2);
}

/* Card Variants - Dark Theme */
[data-bs-theme="dark"] .card-glass.card-primary {
  background: rgba(13, 110, 253, 0.1);
  border: 1px solid rgba(13, 110, 253, 0.3);
}

[data-bs-theme="dark"] .card-glass.card-success {
  background: rgba(25, 135, 84, 0.1);
  border: 1px solid rgba(25, 135, 84, 0.3);
}

[data-bs-theme="dark"] .card-glass.card-warning {
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.3);
}

[data-bs-theme="dark"] .card-glass.card-danger {
  background: rgba(220, 53, 69, 0.1);
  border: 1px solid rgba(220, 53, 69, 0.3);
}

[data-bs-theme="dark"] .card-glass.card-brand {
  background: linear-gradient(
    135deg,
    rgba(30, 73, 118, 0.15),
    rgba(245, 200, 66, 0.08)
  );
  border: 1px solid rgba(30, 73, 118, 0.3);
}

/* Service Card Specific Styles */
.service-item {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 2rem;
  transition: all 0.3s ease;
}

.service-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.service-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  margin: 0 auto 1rem;
}

[data-bs-theme="light"] .service-icon {
  background: linear-gradient(
    135deg,
    rgba(10, 37, 64, 0.95),
    rgba(10, 37, 64, 1)
  );
}

[data-bs-theme="dark"] .service-icon {
  background: linear-gradient(
    135deg,
    rgba(30, 73, 118, 0.95),
    rgba(30, 73, 118, 1)
  );
}

.service-icon i {
  font-size: 1.5rem;
  color: white;
}

/* ========================================
   FORM COMPONENTS
   ======================================== */

/* Form Inputs - Light Theme */
[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select {
  background: rgba(255, 255, 255, 0.6);
  border: 2px solid rgba(10, 37, 64, 0.3);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  color: var(--bs-body-color);
  transition: all 0.3s ease;
}

[data-bs-theme="light"] .form-control:focus,
[data-bs-theme="light"] .form-select:focus {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(10, 37, 64, 0.8);
  box-shadow: 0 0 0 0.25rem rgba(184, 148, 31, 0.25);
}

/* Form Inputs - Dark Theme */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background: rgba(33, 37, 41, 0.6);
  border: 2px solid rgba(30, 73, 118, 0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  color: var(--bs-body-color);
  transition: all 0.3s ease;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background: rgba(33, 37, 41, 0.8);
  border-color: rgba(255, 217, 102, 0.8);
  box-shadow: 0 0 0 0.25rem rgba(255, 217, 102, 0.25);
}

/* Checkboxes and Radio Buttons - Light Theme */
[data-bs-theme="light"] .form-check-input {
  background-color: rgba(255, 255, 255, 0.4);
  border: 2px solid rgba(10, 37, 64, 0.4);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

[data-bs-theme="light"] .form-check-input:checked {
  background-color: rgba(10, 37, 64, 0.9);
  border-color: rgba(10, 37, 64, 1);
}

[data-bs-theme="light"] .form-check-input:focus {
  border-color: rgba(10, 37, 64, 0.8);
  box-shadow: 0 0 0 0.25rem rgba(212, 175, 55, 0.25);
}

/* Checkboxes and Radio Buttons - Dark Theme */
[data-bs-theme="dark"] .form-check-input {
  background-color: rgba(33, 37, 41, 0.4);
  border: 2px solid rgba(30, 73, 118, 0.5);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

[data-bs-theme="dark"] .form-check-input:checked {
  background-color: rgba(30, 73, 118, 0.9);
  border-color: rgba(30, 73, 118, 1);
}

[data-bs-theme="dark"] .form-check-input:focus {
  border-color: rgba(30, 73, 118, 0.8);
  box-shadow: 0 0 0 0.25rem rgba(245, 200, 66, 0.25);
}

/* Validation States */
.form-control.is-valid,
.form-select.is-valid {
  border-color: var(--bs-success);
}

.form-control.is-invalid,
.form-select.is-invalid {
  border-color: var(--bs-danger);
}

/* ========================================
   ALERT COMPONENTS
   ======================================== */

/* Base Alert Glass */
.alert-glass {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Alert Variants - Light Theme */
[data-bs-theme="light"] .alert-glass {
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(229, 229, 229, 0.5);
}

[data-bs-theme="light"] .alert-glass.alert-primary {
  background: rgba(13, 110, 253, 0.15);
  border: 1px solid rgba(13, 110, 253, 0.3);
  color: #084298;
}

[data-bs-theme="light"] .alert-glass.alert-success {
  background: rgba(25, 135, 84, 0.15);
  border: 1px solid rgba(25, 135, 84, 0.3);
  color: #0f5132;
}

[data-bs-theme="light"] .alert-glass.alert-warning {
  background: rgba(255, 193, 7, 0.15);
  border: 1px solid rgba(255, 193, 7, 0.3);
  color: #997404;
}

[data-bs-theme="light"] .alert-glass.alert-danger {
  background: rgba(220, 53, 69, 0.15);
  border: 1px solid rgba(220, 53, 69, 0.3);
  color: #842029;
}

[data-bs-theme="light"] .alert-glass.alert-info {
  background: rgba(13, 202, 240, 0.15);
  border: 1px solid rgba(13, 202, 240, 0.3);
  color: #055160;
}

[data-bs-theme="light"] .alert-glass.alert-brand {
  background: rgba(10, 37, 64, 0.15);
  border: 1px solid rgba(10, 37, 64, 0.4);
  color: #0A2540;
}

/* Alert Variants - Dark Theme */
[data-bs-theme="dark"] .alert-glass {
  background: rgba(33, 37, 41, 0.4);
  border: 1px solid rgba(83, 83, 83, 0.5);
}

[data-bs-theme="dark"] .alert-glass.alert-primary {
  background: rgba(13, 110, 253, 0.15);
  border: 1px solid rgba(13, 110, 253, 0.3);
  color: #6ea8fe;
}

[data-bs-theme="dark"] .alert-glass.alert-success {
  background: rgba(25, 135, 84, 0.15);
  border: 1px solid rgba(25, 135, 84, 0.3);
  color: #75b798;
}

[data-bs-theme="dark"] .alert-glass.alert-warning {
  background: rgba(255, 193, 7, 0.15);
  border: 1px solid rgba(255, 193, 7, 0.3);
  color: #ffda6a;
}

[data-bs-theme="dark"] .alert-glass.alert-danger {
  background: rgba(220, 53, 69, 0.15);
  border: 1px solid rgba(220, 53, 69, 0.3);
  color: #ea868f;
}

[data-bs-theme="dark"] .alert-glass.alert-info {
  background: rgba(13, 202, 240, 0.15);
  border: 1px solid rgba(13, 202, 240, 0.3);
  color: #6edff6;
}

[data-bs-theme="dark"] .alert-glass.alert-brand {
  background: rgba(30, 73, 118, 0.15);
  border: 1px solid rgba(30, 73, 118, 0.4);
  color: #2D5F8D;
}

/* ========================================
   BADGE COMPONENTS
   ======================================== */

/* Base Badge Glass */
.badge-glass {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid transparent;
}

/* Badge Variants - Light Theme */
[data-bs-theme="light"] .badge-glass.bg-primary {
  background: rgba(13, 110, 253, 0.25) !important;
  border-color: rgba(13, 110, 253, 0.4);
  color: #084298;
}

[data-bs-theme="light"] .badge-glass.bg-success {
  background: rgba(25, 135, 84, 0.25) !important;
  border-color: rgba(25, 135, 84, 0.4);
  color: #0f5132;
}

[data-bs-theme="light"] .badge-glass.bg-warning {
  background: rgba(255, 193, 7, 0.25) !important;
  border-color: rgba(255, 193, 7, 0.4);
  color: #997404;
}

[data-bs-theme="light"] .badge-glass.bg-danger {
  background: rgba(220, 53, 69, 0.25) !important;
  border-color: rgba(220, 53, 69, 0.4);
  color: #842029;
}

[data-bs-theme="light"] .badge-glass.bg-info {
  background: rgba(13, 202, 240, 0.25) !important;
  border-color: rgba(13, 202, 240, 0.4);
  color: #055160;
}

[data-bs-theme="light"] .badge-glass.bg-brand {
  background: linear-gradient(
    135deg,
    rgba(10, 37, 64, 0.9),
    rgba(10, 37, 64, 1)
  ) !important;
  border-color: rgba(255, 217, 102, 0.5);
  color: #FFD966;  /* Bright gold on navy background */
}

/* Badge Variants - Dark Theme */
[data-bs-theme="dark"] .badge-glass.bg-primary {
  background: rgba(13, 110, 253, 0.25) !important;
  border-color: rgba(13, 110, 253, 0.4);
  color: #6ea8fe;
}

[data-bs-theme="dark"] .badge-glass.bg-success {
  background: rgba(25, 135, 84, 0.25) !important;
  border-color: rgba(25, 135, 84, 0.4);
  color: #75b798;
}

[data-bs-theme="dark"] .badge-glass.bg-warning {
  background: rgba(255, 193, 7, 0.25) !important;
  border-color: rgba(255, 193, 7, 0.4);
  color: #ffda6a;
}

[data-bs-theme="dark"] .badge-glass.bg-danger {
  background: rgba(220, 53, 69, 0.25) !important;
  border-color: rgba(220, 53, 69, 0.4);
  color: #ea868f;
}

[data-bs-theme="dark"] .badge-glass.bg-info {
  background: rgba(13, 202, 240, 0.25) !important;
  border-color: rgba(13, 202, 240, 0.4);
  color: #6edff6;
}

[data-bs-theme="dark"] .badge-glass.bg-brand {
  background: linear-gradient(
    135deg,
    rgba(30, 73, 118, 0.9),
    rgba(30, 73, 118, 1)
  ) !important;
  border-color: rgba(255, 217, 102, 0.5);
  color: #FFD966;  /* Bright gold on navy background */
}

/* ========================================
   TEXT COLOR UTILITIES
   ======================================== */

/* Brand Text Colors - Light Theme */
[data-bs-theme="light"] .text-brand {
  color: #0A2540 !important;
}

[data-bs-theme="light"] .text-brand-emphasis {
  color: #061829 !important;
}

[data-bs-theme="light"] .text-accent {
  color: #B8941F !important;  /* Darker gold for light backgrounds */
}

[data-bs-theme="light"] .text-accent-emphasis {
  color: #9A7A1A !important;  /* Even darker for better contrast */
}

/* Brand Text Colors - Dark Theme */
[data-bs-theme="dark"] .text-brand {
  color: #2D5F8D !important;
}

[data-bs-theme="dark"] .text-brand-emphasis {
  color: #4A7BA7 !important;
}

[data-bs-theme="dark"] .text-accent {
  color: #FFD966 !important;  /* Brighter gold for dark backgrounds */
}

[data-bs-theme="dark"] .text-accent-emphasis {
  color: #FFE699 !important;  /* Even brighter for maximum visibility */
}

/* Background Brand Colors */
[data-bs-theme="light"] .bg-brand {
  background-color: #0A2540 !important;
  color: #FFD966 !important;  /* Bright gold text on navy background */
}

[data-bs-theme="dark"] .bg-brand {
  background-color: #1E4976 !important;
  color: #FFD966 !important;  /* Bright gold text on navy background */
}

[data-bs-theme="light"] .bg-accent {
  background-color: #B8941F !important;  /* Darker gold background */
  color: #FFFFFF !important;
}

[data-bs-theme="dark"] .bg-accent {
  background-color: #FFD966 !important;  /* Bright gold background */
  color: #0A2540 !important;  /* Navy text for contrast */
}
