/* Farbpalette für Christina Lerch Psychotherapie */
:root {
  --primary: #998b73ff;
  --primary-light: #b8a98b;
  --primary-dark: #7a6c59;
  --secondary: #e6e1d6;
  --accent: #c2b8a3;
  --success: #7a9983;
  --warning: #998b73;
  --info: #b8a98b;
  --danger: #a37373;
  --background: #f8f6f2;
  --text: #3a3327;
  /* Surfaces */
  --surface: #ffffff;
  --surface-muted: var(--secondary);
}

body {
  background: var(--background);
  color: var(--text);
}

.btn-primary,
.bg-primary,
.text-primary {
  background-color: var(--primary) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
}

/* Remove any theme top stripe/border/shadow on navbar */
.navbar,
.navbar * {
  border-top: 0 !important;
  box-shadow: none !important;
}

/* Ensure navbar background color is flat without gradient/stripe */
.navbar::before,
.navbar::after {
  content: none !important;
  display: none !important;
}

.btn-outline-primary {
  color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.btn-outline-primary:hover {
  background-color: var(--primary) !important;
  color: #fff !important;
}

.text-primary {
  color: var(--primary) !important;
}

.bg-light,
.bg-light-boxed-end {
  background-color: var(--surface-muted) !important;
}

.card {
  background: var(--surface);
  border-color: var(--accent) !important;
}

.alert-success {
  background-color: var(--success) !important;
  color: #fff !important;
}

.alert-warning {
  background-color: var(--warning) !important;
  color: #fff !important;
}

.alert-info {
  background-color: var(--info) !important;
  color: #fff !important;
}

.alert-danger {
  background-color: var(--danger) !important;
  color: #fff !important;
}

footer {
  background: var(--primary-dark);
  color: var(--secondary);
}

hr.bg-warning {
  border-color: var(--warning) !important;
}

/* Remove any theme top stripe/border/shadow on navbar */
.navbar,
.navbar * {
  border-top: 0 !important;
  box-shadow: none !important;
}

/* Ensure navbar background color is flat without gradient/stripe */
.navbar::before,
.navbar::after {
  content: none !important;
  display: none !important;
}

/* Dark mode (Bootstrap data attribute) */
:root[data-bs-theme="dark"] {
  --primary: #bcae95;
  --primary-light: #d0c3a8;
  --primary-dark: #2a241d;
  --secondary: #211d17;
  --accent: #3a3228;
  --success: #679b82;
  --warning: #b39b7d;
  --info: #a79a81;
  --danger: #b37f7f;
  --background: #12110f;
  --text: #ece8df;
  --surface: #1a1713;
  --surface-muted: #211d17;
}

/* Dark mode (OS preference fallback) */
@media (prefers-color-scheme: dark) {
  :root:not([data-bs-theme]) {
    --primary: #bcae95;
    --primary-light: #d0c3a8;
    --primary-dark: #2a241d;
    --secondary: #211d17;
    --accent: #3a3228;
    --success: #679b82;
    --warning: #b39b7d;
    --info: #a79a81;
    --danger: #b37f7f;
    --background: #12110f;
    --text: #ece8df;
    --surface: #1a1713;
    --surface-muted: #211d17;
  }
}

/* Component tweaks for dark mode */
[data-bs-theme="dark"] body {
  background: var(--background);
  color: var(--text);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-bs-theme]) body {
    background: var(--background);
    color: var(--text);
  }
}

[data-bs-theme="dark"] .card {
  background: var(--surface);
  border-color: #3a3228 !important;
  color: var(--text);
}

[data-bs-theme="dark"] .navbar,
[data-bs-theme="dark"] .navbar * {
  color: var(--text) !important;
}

[data-bs-theme="dark"] .navbar .nav-link:hover {
  color: var(--primary) !important;
}

/* Semantic text utilities mapped to palette */
.text-secondary {
  color: var(--secondary) !important;
}

/* Make shapes use currentColor so they adapt to theme variables */
.shape .shape-img svg [fill]:not([fill="none"]),
.shape .shape-img svg path {
  fill: currentColor !important;
}
