/* ==========================================================================
   KDE Breeze — Bootstrap 5 Theme
   Inspired by the KDE Plasma Breeze desktop environment style.
   Include AFTER bootstrap.min.css.
   ========================================================================== */

:root {
  /* KDE Breeze Light Palette */
  --breeze-primary: #3daee9;
  --breeze-primary-rgb: 61, 174, 233;
  --breeze-primary-hover: #2980b9;
  --breeze-on-primary: #ffffff;

  --breeze-bg: #eff0f1;
  --breeze-surface: #ffffff;
  --breeze-surface-alt: #fcfcfc;
  --breeze-border: #babdbf;
  --breeze-border-subtle: #d3d5d7;

  --breeze-foreground: #232629;
  --breeze-foreground-muted: #7f8c8d;

  --breeze-radius: 4px;

  /* Bootstrap Core Overrides */
  --bs-primary: var(--breeze-primary);
  --bs-primary-rgb: var(--breeze-primary-rgb);
  --bs-secondary: #7f8c8d;
  --bs-secondary-rgb: 127, 140, 141;
  --bs-success: #27ae60;
  --bs-success-rgb: 39, 174, 96;
  --bs-info: #2980b9;
  --bs-info-rgb: 41, 128, 185;
  --bs-warning: #f39c12;
  --bs-warning-rgb: 243, 156, 18;
  --bs-danger: #da4453;
  --bs-danger-rgb: 218, 68, 83;
  --bs-light: var(--breeze-surface-alt);
  --bs-light-rgb: 252, 252, 252;
  --bs-dark: var(--breeze-foreground);
  --bs-dark-rgb: 35, 38, 41;

  --bs-body-bg: var(--breeze-bg);
  --bs-body-color: var(--breeze-foreground);
  --bs-emphasis-color: #000000;
  --bs-secondary-color: var(--breeze-foreground-muted);
  --bs-tertiary-color: var(--breeze-foreground-muted);
  --bs-secondary-bg: var(--breeze-surface-alt);
  --bs-tertiary-bg: var(--breeze-surface);
  --bs-border-color: var(--breeze-border);

  --bs-font-sans-serif: "Noto Sans", "Hack", system-ui, -apple-system, sans-serif;
  --bs-font-monospace: "Hack", "Noto Sans Mono", monospace;

  --bs-border-radius: var(--breeze-radius);
  --bs-border-radius-sm: 2px;
  --bs-border-radius-lg: 6px;

  --bs-focus-ring-width: 2px;
  --bs-focus-ring-opacity: 1;
  --bs-focus-ring-color: var(--breeze-primary);
}

[data-bs-theme="dark"] {
  --breeze-primary: #3daee9;
  --breeze-primary-rgb: 61, 174, 233;
  --breeze-primary-hover: #1d99f3;
  --breeze-on-primary: #ffffff;

  --breeze-bg: #212529;
  --breeze-surface: #31363b;
  --breeze-surface-alt: #2a2e32;
  --breeze-border: #474d52;
  --breeze-border-subtle: #3a3f44;

  --breeze-foreground: #fcfcfc;
  --breeze-foreground-muted: #a1a9b1;

  --bs-primary: var(--breeze-primary);
  --bs-primary-rgb: var(--breeze-primary-rgb);
  --bs-secondary: #a1a9b1;
  --bs-secondary-rgb: 161, 169, 177;
  --bs-success: #2ecc71;
  --bs-success-rgb: 46, 204, 113;
  --bs-info: #1d99f3;
  --bs-info-rgb: 29, 153, 243;
  --bs-warning: #f1c40f;
  --bs-warning-rgb: 241, 196, 15;
  --bs-danger: #ed1556;
  --bs-danger-rgb: 237, 21, 86;
  --bs-light: var(--breeze-surface-alt);
  --bs-light-rgb: 42, 46, 50;
  --bs-dark: var(--breeze-foreground);
  --bs-dark-rgb: 252, 252, 252;

  --bs-body-bg: var(--breeze-bg);
  --bs-body-color: var(--breeze-foreground);
  --bs-emphasis-color: #ffffff;
  --bs-secondary-color: var(--breeze-foreground-muted);
  --bs-tertiary-color: var(--breeze-foreground-muted);
  --bs-secondary-bg: var(--breeze-surface-alt);
  --bs-tertiary-bg: var(--breeze-surface);
  --bs-border-color: var(--breeze-border);
}

body {
  font-family: var(--bs-font-sans-serif);
  background-color: var(--breeze-bg);
  color: var(--breeze-foreground);
}

.card {
  background-color: var(--breeze-surface);
  border: 1px solid var(--breeze-border);
  border-radius: var(--breeze-radius);
}

.btn {
  border-radius: var(--breeze-radius);
  font-weight: 500;
  padding: 0.375rem 0.875rem;
  border: 1px solid var(--breeze-border);
}

.btn-primary {
  background-color: var(--breeze-primary);
  border-color: var(--breeze-primary);
  color: var(--breeze-on-primary);
}

.btn-primary:hover, .btn-primary:focus {
  background-color: var(--breeze-primary-hover);
  border-color: var(--breeze-primary-hover);
}

.form-control, .form-select {
  background-color: var(--breeze-surface);
  border: 1px solid var(--breeze-border);
  border-radius: var(--breeze-radius);
  color: var(--breeze-foreground);
}

.form-control:focus, .form-select:focus {
  border-color: var(--breeze-primary);
  box-shadow: 0 0 0 2px rgba(61, 174, 233, 0.3);
}

.navbar {
  background-color: var(--breeze-surface) !important;
  border-bottom: 1px solid var(--breeze-border);
}

.dropdown-menu {
  background-color: var(--breeze-surface);
  border: 1px solid var(--breeze-border);
  border-radius: var(--breeze-radius);
}

.modal-content {
  background-color: var(--breeze-surface);
  border: 1px solid var(--breeze-border);
  border-radius: var(--breeze-radius);
}
