/* === custom-aurora.css === */
/* Aurora: modernes, „airy“ Look & Feel mit Gradients & Transluzenz */

/* Basispalette (Light) */
:root,
:root[data-bs-theme="light"] {
  --bs-font-sans-serif: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  --bs-body-bg: #f6f7fb;
  --bs-body-color: #0f172a;
  --bs-secondary: #64748b;

  /* Akzent in Richtung Indigo/Türkis */
  --bs-primary: #5865f2;            /* solide Akzentfarbe */
  --bs-primary-rgb: 88, 101, 242;

  /* Gradients */
  --aurora-primary-grad: linear-gradient(135deg, #5865f2, #22d3ee);
  --aurora-primary-grad-hover: linear-gradient(135deg, #4f46e5, #06b6d4);

  /* Layout & Corners */
  --bs-border-radius: 1rem;
  --radius-lg: 1.25rem;
  --elev-1: 0 6px 24px rgba(15, 23, 42, 0.06);
  --elev-2: 0 12px 40px rgba(15, 23, 42, 0.10);

  /* Surfaces */
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --line: #e5e7eb;

  /* Focus */
  --focus-ring: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

/* Basispalette (Dark) – aktiv per data-bs-theme="dark" */
:root[data-bs-theme="dark"] {
  --bs-body-bg: #0b1220;
  --bs-body-color: #e5e7eb;
  --bs-secondary: #9aa5b1;

  --bs-primary: #7aa2ff;
  --bs-primary-rgb: 122, 162, 255;

  --aurora-primary-grad: linear-gradient(135deg, #7aa2ff, #22d3ee);
  --aurora-primary-grad-hover: linear-gradient(135deg, #5b8cff, #06b6d4);

  --surface: #0f172a;
  --surface-2: #111827;
  --line: #1f2937;

  --elev-1: 0 8px 28px rgba(0, 0, 0, 0.45);
  --elev-2: 0 16px 48px rgba(0, 0, 0, 0.55);

  --focus-ring: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .35);
}

/* Body & Typo */
body {
  background: radial-gradient(1200px 800px at 10% -10%, rgba(88,101,242,.08), transparent 60%),
              radial-gradient(1000px 700px at 90% 0%, rgba(34,211,238,.08), transparent 60%),
              var(--bs-body-bg);
  color: var(--bs-body-color);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Navbar: transluzent + Blur */
.navbar {
  background: color-mix(in oklab, var(--surface) 86%, transparent);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--elev-1);
}

/* Container/Card-Surfaces */
.card, .list-group, .dropdown-menu, .offcanvas, .modal-content {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--elev-1);
}

.card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: var(--elev-2);
  border-color: color-mix(in oklab, var(--bs-primary) 22%, var(--line));
}

/* Buttons */
.btn {
  border-radius: .9rem;
  padding: .55rem 1rem;
  font-weight: 600;
  letter-spacing: .2px;
  transition: transform .05s ease, box-shadow .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:active { transform: translateY(1px) scale(.99); }

.btn-primary {
  background: var(--aurora-primary-grad);
  border: none;
  color: #fff;
  box-shadow: 0 6px 18px rgba(var(--bs-primary-rgb), .25);
}
.btn-primary:hover {
  background: var(--aurora-primary-grad-hover);
  box-shadow: 0 10px 24px rgba(var(--bs-primary-rgb), .35);
}
.btn-outline-primary {
  border-color: color-mix(in oklab, var(--bs-primary) 70%, white);
  color: var(--bs-primary);
}
.btn-outline-primary:hover {
  background: var(--aurora-primary-grad);
  border-color: transparent;
  color: #fff;
}

/* Badges & Pills */
.badge.bg-primary {
  background: var(--aurora-primary-grad) !important;
  box-shadow: 0 6px 16px rgba(var(--bs-primary-rgb), .25);
}

/* Inputs & Forms */
.form-control, .form-select {
  border-radius: .9rem;
  border: 1px solid color-mix(in oklab, var(--line), var(--bs-primary) 8%);
  background: color-mix(in oklab, var(--surface) 94%, transparent);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.form-control:hover, .form-select:hover {
  border-color: color-mix(in oklab, var(--line), var(--bs-primary) 18%);
}
.form-control:focus, .form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: var(--focus-ring);
  background: color-mix(in oklab, var(--surface) 98%, transparent);
}

/* Tables */
.table {
  --bs-table-striped-bg: color-mix(in oklab, var(--surface-2), transparent 35%);
  --bs-table-hover-bg: color-mix(in oklab, var(--surface-2), transparent 15%);
  border-color: var(--line);
}
.table thead th {
  border-bottom: 1px solid var(--line);
  color: color-mix(in oklab, var(--bs-body-color), #64748b 35%);
  font-weight: 700;
}

/* Alerts */
.alert {
  border: 1px solid color-mix(in oklab, var(--bs-primary) 25%, var(--line));
  border-radius: 1rem;
  background: color-mix(in oklab, var(--surface), var(--bs-primary) 6%);
}

/* Progress */
.progress, .progress-bar {
  border-radius: 999px;
}
.progress-bar.bg-primary {
  background: var(--aurora-primary-grad) !important;
}

/* Nav Pills / Tabs */
.nav-pills .nav-link {
  border-radius: 999px;
  color: color-mix(in oklab, var(--bs-body-color), #64748b 20%);
}
.nav-pills .nav-link.active {
  background: var(--aurora-primary-grad);
  box-shadow: 0 8px 20px rgba(var(--bs-primary-rgb), .25);
}

/* Dropdown */
.dropdown-menu {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Modal Header */
.modal-header {
  border-bottom: 1px solid var(--line);
}
.modal-footer {
  border-top: 1px solid var(--line);
}

/* Links */
a {
  text-underline-offset: .15em;
}
a:hover {
  text-decoration: underline;
}

/* Utility: „Glass Card“ (optional für Hero-Bereiche) */
.glass {
  background: color-mix(in oklab, var(--surface) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--line), white 20%);
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
  border-radius: var(--radius-lg);
  box-shadow: var(--elev-2);
}
