/* ==================== TEMA: MIDNIGHT ==================== */
[data-bs-theme="midnight"] {
  --bs-body-bg: #0a0a0f;
  --bs-card-bg: #141420;
  --bs-body-color: #e0e0e0;
  --bs-border-color: #1a1a2e;
  --bs-primary: #5a4fcf;
  --bs-primary-rgb: 90, 79, 207;
  --bs-secondary: #2d2d44;
  --bs-success: #0D9394;
  --bs-danger: #EB3D63;
  --bs-warning: #FFAB1D;
  --bs-info: #2092EC;
  --bs-light: #2d2d44;
  --bs-dark: #0a0a0f;
  color-scheme: dark;
}

[data-bs-theme="midnight"] .navbar,
[data-bs-theme="midnight"] .layout-navbar {
  background-color: #0f0f1a;
  border-bottom-color: #1a1a2e;
}

[data-bs-theme="midnight"] .layout-menu {
  background-color: #0f0f1a;
  border-right-color: #1a1a2e;
}

[data-bs-theme="midnight"] .card {
  background-color: #141420;
  border-color: #1a1a2e;
}

/* ==================== TEMA: GAMING ==================== */
[data-bs-theme="gaming"] {
  --bs-body-bg: #0d0221;
  --bs-card-bg: #1a0033;
  --bs-body-color: #00ff00;
  --bs-border-color: #3a0051;
  --bs-primary: #ff006e;
  --bs-primary-rgb: 255, 0, 110;
  --bs-secondary: #3a0051;
  --bs-success: #00f5ff;
  --bs-danger: #ff006e;
  --bs-warning: #ffbe0b;
  --bs-info: #00f5ff;
  --bs-light: #3a0051;
  --bs-dark: #0d0221;
  color-scheme: dark;
  text-shadow: 0 0 10px rgba(0, 255, 0, 0.3);
}

[data-bs-theme="gaming"] .navbar,
[data-bs-theme="gaming"] .layout-navbar {
  background: linear-gradient(90deg, #0d0221 0%, #3a0051 100%);
  border-bottom: 2px solid #ff006e;
  box-shadow: 0 0 20px rgba(255, 0, 110, 0.3);
}

[data-bs-theme="gaming"] .layout-menu {
  background: linear-gradient(180deg, #0d0221 0%, #3a0051 100%);
  border-right: 2px solid #ff006e;
  box-shadow: inset 0 0 20px rgba(255, 0, 110, 0.2);
}

[data-bs-theme="gaming"] .card {
  background-color: #1a0033;
  border: 2px solid #ff006e;
  box-shadow: 0 0 15px rgba(255, 0, 110, 0.2);
}

[data-bs-theme="gaming"] a { color: #00f5ff; }
[data-bs-theme="gaming"] a:hover { color: #ff006e; text-shadow: 0 0 10px rgba(255, 0, 110, 0.5); }

/* ==================== TEMA: NATURE ==================== */
[data-bs-theme="nature"] {
  --bs-body-bg: #0f2818;
  --bs-card-bg: #1b5e20;
  --bs-body-color: #c8e6c9;
  --bs-border-color: #2d5a3d;
  --bs-primary: #4caf50;
  --bs-primary-rgb: 76, 175, 80;
  --bs-secondary: #2d5a3d;
  --bs-success: #66bb6a;
  --bs-danger: #ef5350;
  --bs-warning: #ffa726;
  --bs-info: #42a5f5;
  --bs-light: #2d5a3d;
  --bs-dark: #0f2818;
  color-scheme: dark;
}

[data-bs-theme="nature"] .navbar,
[data-bs-theme="nature"] .layout-navbar {
  background: linear-gradient(90deg, #1b5e20 0%, #2d5a3d 100%);
  border-bottom-color: #4caf50;
}

[data-bs-theme="nature"] .layout-menu {
  background: linear-gradient(180deg, #1b5e20 0%, #2d5a3d 100%);
  border-right-color: #4caf50;
}

[data-bs-theme="nature"] .card {
  background-color: #1b5e20;
  border-color: #4caf50;
}

/* ==================== TEMA: ICE ==================== */
[data-bs-theme="ice"] {
  --bs-body-bg: #0a1628;
  --bs-card-bg: #0d2b3f;
  --bs-body-color: #b3e5fc;
  --bs-border-color: #1a3a52;
  --bs-primary: #00bcd4;
  --bs-primary-rgb: 0, 188, 212;
  --bs-secondary: #1a3a52;
  --bs-success: #4dd0e1;
  --bs-danger: #ef5350;
  --bs-warning: #ffa726;
  --bs-info: #29b6f6;
  --bs-light: #1a3a52;
  --bs-dark: #0a1628;
  color-scheme: dark;
}

[data-bs-theme="ice"] .navbar,
[data-bs-theme="ice"] .layout-navbar {
  background: linear-gradient(90deg, #01579b 0%, #1a3a52 100%);
  border-bottom-color: #00bcd4;
  box-shadow: 0 0 20px rgba(0, 188, 212, 0.2);
}

[data-bs-theme="ice"] .layout-menu {
  background: linear-gradient(180deg, #01579b 0%, #1a3a52 100%);
  border-right-color: #00bcd4;
  box-shadow: inset 0 0 20px rgba(0, 188, 212, 0.1);
}

[data-bs-theme="ice"] .card {
  background-color: #0d2b3f;
  border-color: #00bcd4;
  box-shadow: 0 0 10px rgba(0, 188, 212, 0.15);
}

/* ==================== TEMA: FIRE ==================== */
[data-bs-theme="fire"] {
  --bs-body-bg: #2b0e0e;
  --bs-card-bg: #3e1f1a;
  --bs-body-color: #ffccbc;
  --bs-border-color: #5d3333;
  --bs-primary: #ff5722;
  --bs-primary-rgb: 255, 87, 34;
  --bs-secondary: #5d3333;
  --bs-success: #ff7043;
  --bs-danger: #ff5252;
  --bs-warning: #ffb74d;
  --bs-info: #42a5f5;
  --bs-light: #5d3333;
  --bs-dark: #2b0e0e;
  color-scheme: dark;
}

[data-bs-theme="fire"] .navbar,
[data-bs-theme="fire"] .layout-navbar {
  background: linear-gradient(90deg, #bf360c 0%, #5d3333 100%);
  border-bottom: 2px solid #ff5722;
  box-shadow: 0 0 20px rgba(255, 87, 34, 0.3);
}

[data-bs-theme="fire"] .layout-menu {
  background: linear-gradient(180deg, #bf360c 0%, #5d3333 100%);
  border-right: 2px solid #ff5722;
  box-shadow: inset 0 0 20px rgba(255, 87, 34, 0.2);
}

[data-bs-theme="fire"] .card {
  background-color: #3e1f1a;
  border: 2px solid #ff5722;
  box-shadow: 0 0 15px rgba(255, 87, 34, 0.2);
}

/* ==================== TEMA: LIGHT ==================== */
[data-bs-theme="light"] {
  --bs-body-bg: #ffffff;
  --bs-card-bg: #f8f8f8;
  --bs-body-color: #333333;
  --bs-border-color: #e0e0e0;
  --bs-primary: #7367f0;
  --bs-primary-rgb: 115, 103, 240;
  --bs-secondary: #f0f0f0;
  --bs-light: #f0f0f0;
  --bs-dark: #333333;
}

/* ==================== TEMA: DARK ==================== */
[data-bs-theme="dark"] {
  --bs-body-bg: #1a1a2e;
  --bs-card-bg: #252540;
  --bs-body-color: #e0e0e0;
  --bs-border-color: #2d2d44;
  --bs-primary: #7367f0;
  --bs-primary-rgb: 115, 103, 240;
  --bs-secondary: #2d2d44;
  --bs-light: #2d2d44;
  --bs-dark: #1a1a2e;
}

/* ==================== GLOBALES ==================== */
* {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

[data-bs-theme="gaming"] h1,
[data-bs-theme="gaming"] h2,
[data-bs-theme="gaming"] h3,
[data-bs-theme="gaming"] h4,
[data-bs-theme="gaming"] h5,
[data-bs-theme="gaming"] h6 {
  text-shadow: 0 0 15px rgba(255, 0, 110, 0.5);
}

[data-bs-theme="gaming"] .btn {
  border: 2px solid currentColor;
  box-shadow: 0 0 10px rgba(0, 255, 0, 0.2);
}

[data-bs-theme="gaming"] .btn:hover {
  box-shadow: 0 0 20px rgba(255, 0, 110, 0.5);
}

[data-bs-theme="gaming"] .table { border-color: #ff006e; }
[data-bs-theme="gaming"] .table-striped > tbody > tr:nth-of-type(odd) {
  background-color: rgba(255, 0, 110, 0.1);
}

[data-bs-theme="gaming"] .dropdown-menu {
  background-color: #1a0033;
  border-color: #ff006e;
}

[data-bs-theme="gaming"] .dropdown-item:hover {
  background-color: rgba(255, 0, 110, 0.2);
  color: #00f5ff;
}