/*
 * Kolorystyka Szkoły Terapii Zwierząt w interfejsie portalu.
 *
 * Wartości pochodzą z arkusza motywu `trustudio` na stz.edu.pl. Arkusz wczytywany
 * jest PO Bootstrapie i zmienia wyłącznie barwy — typografia, zaokrąglenia
 * i odstępy zostają nietknięte.
 *
 * Bootstrap 5.3 kompiluje część barw do wartości stałych, dlatego samo
 * nadpisanie zmiennych w :root nie wystarcza: komponenty (przyciski, alerty,
 * paginacja) mają własne zmienne i poniżej ustawiamy je osobno.
 */

:root {
  /* paleta źródłowa */
  --stz-maroon: #6D0000;        /* marka: przyciski, akcenty nagłówków        */
  --stz-maroon-hover: #9E0000;  /* hover przycisku                            */
  --stz-maroon-dark: #4F0000;   /* stan aktywny (cień godła w logotypie)      */
  --stz-red: #AA2627;           /* czerwień akcentowa: hover menu, ostrzeżenia*/
  --stz-green: #135110;         /* drugi kolor marki                          */
  --stz-green-tint: #E7EDE7;    /* delikatne tło sekcji                       */
  --stz-panel: #F8FAF8;         /* tło nagłówków kart i tabel                 */
  --stz-band: #EEEEEE;          /* pasy, obramowania                          */
  --stz-text: #4B4B4B;          /* tekst akapitów                             */
  --stz-graphite: #454545;      /* neutralne wyróżnienia (rola „info”)        */
  --stz-amber: #8F5A00;         /* rola „warning” — poza paletą strony        */

  /* role Bootstrapa */
  --bs-primary: var(--stz-maroon);
  --bs-primary-rgb: 109, 0, 0;
  --bs-success: var(--stz-green);
  --bs-success-rgb: 19, 81, 16;
  --bs-danger: var(--stz-red);
  --bs-danger-rgb: 170, 38, 39;
  --bs-info: var(--stz-graphite);
  --bs-info-rgb: 69, 69, 69;
  --bs-warning: var(--stz-amber);
  --bs-warning-rgb: 143, 90, 0;
  --bs-light: #F4F4F4;
  --bs-light-rgb: 244, 244, 244;

  --bs-link-color: var(--stz-maroon);
  --bs-link-color-rgb: 109, 0, 0;
  --bs-link-hover-color: var(--stz-red);
  --bs-link-hover-color-rgb: 170, 38, 39;

  --bs-body-color: var(--stz-text);
  --bs-body-color-rgb: 75, 75, 75;
  --bs-heading-color: #000000;
  --bs-border-color: var(--stz-band);
  --bs-focus-ring-color: rgba(109, 0, 0, 0.25);
}

/* Nagłówki nie mogą nadpisywać narzuconego koloru tekstu.
 *
 * Bootstrap 5.3 renderuje h1–h6 jako `color: var(--bs-heading-color, inherit)`.
 * Ustawienie tej zmiennej globalnie (czerń nagłówków wg stz.edu.pl) sprawiało,
 * że `<h5>` w karcie z klasą `bg-dark text-white` ignorował biel i stawał się
 * czarny na czarnym.
 *
 * Wartością jest `currentColor`, a NIE `inherit`: słowo kluczowe `inherit` w
 * deklaracji zmiennej własnej odnosi się do samej zmiennej (czyli dziedziczy
 * czerń z :root), więc nic by nie naprawiło. `currentColor` użyty na
 * właściwości `color` daje kolor odziedziczony z otoczenia — tu z narzuconej
 * klasami bieli. */
.text-white,
.text-light,
.text-bg-primary,
.text-bg-secondary,
.text-bg-success,
.text-bg-danger,
.text-bg-warning,
.text-bg-info,
.text-bg-dark,
.bg-dark,
.bg-primary,
.bg-success,
.bg-danger,
.bg-secondary,
.table-dark {
  --bs-heading-color: currentColor;
}

/* --- przyciski ---------------------------------------------------------- */

.btn-primary {
  --bs-btn-bg: var(--stz-maroon);
  --bs-btn-border-color: var(--stz-maroon);
  --bs-btn-hover-bg: var(--stz-maroon-hover);
  --bs-btn-hover-border-color: var(--stz-maroon-hover);
  --bs-btn-active-bg: var(--stz-maroon-dark);
  --bs-btn-active-border-color: var(--stz-maroon-dark);
  --bs-btn-disabled-bg: var(--stz-maroon);
  --bs-btn-disabled-border-color: var(--stz-maroon);
  --bs-btn-focus-shadow-rgb: 109, 0, 0;
}

.btn-outline-primary {
  --bs-btn-color: var(--stz-maroon);
  --bs-btn-border-color: var(--stz-maroon);
  --bs-btn-hover-bg: var(--stz-maroon);
  --bs-btn-hover-border-color: var(--stz-maroon);
  --bs-btn-active-bg: var(--stz-maroon-dark);
  --bs-btn-active-border-color: var(--stz-maroon-dark);
  --bs-btn-disabled-color: var(--stz-maroon);
  --bs-btn-disabled-border-color: var(--stz-maroon);
  --bs-btn-focus-shadow-rgb: 109, 0, 0;
}

.btn-success {
  --bs-btn-bg: var(--stz-green);
  --bs-btn-border-color: var(--stz-green);
  --bs-btn-hover-bg: #0E3E0C;
  --bs-btn-hover-border-color: #0E3E0C;
  --bs-btn-active-bg: #0E3E0C;
  --bs-btn-active-border-color: #0E3E0C;
  --bs-btn-disabled-bg: var(--stz-green);
  --bs-btn-disabled-border-color: var(--stz-green);
  --bs-btn-focus-shadow-rgb: 19, 81, 16;
}

.btn-outline-success {
  --bs-btn-color: var(--stz-green);
  --bs-btn-border-color: var(--stz-green);
  --bs-btn-hover-bg: var(--stz-green);
  --bs-btn-hover-border-color: var(--stz-green);
  --bs-btn-active-bg: var(--stz-green);
  --bs-btn-active-border-color: var(--stz-green);
  --bs-btn-disabled-color: var(--stz-green);
  --bs-btn-disabled-border-color: var(--stz-green);
  --bs-btn-focus-shadow-rgb: 19, 81, 16;
}

.btn-danger {
  --bs-btn-bg: var(--stz-red);
  --bs-btn-border-color: var(--stz-red);
  --bs-btn-hover-bg: #8E1E1F;
  --bs-btn-hover-border-color: #8E1E1F;
  --bs-btn-active-bg: #8E1E1F;
  --bs-btn-active-border-color: #8E1E1F;
  --bs-btn-disabled-bg: var(--stz-red);
  --bs-btn-disabled-border-color: var(--stz-red);
  --bs-btn-focus-shadow-rgb: 170, 38, 39;
}

.btn-outline-danger {
  --bs-btn-color: var(--stz-red);
  --bs-btn-border-color: var(--stz-red);
  --bs-btn-hover-bg: var(--stz-red);
  --bs-btn-hover-border-color: var(--stz-red);
  --bs-btn-active-bg: var(--stz-red);
  --bs-btn-active-border-color: var(--stz-red);
  --bs-btn-disabled-color: var(--stz-red);
  --bs-btn-disabled-border-color: var(--stz-red);
  --bs-btn-focus-shadow-rgb: 170, 38, 39;
}

.btn-warning {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: var(--stz-amber);
  --bs-btn-border-color: var(--stz-amber);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: #714700;
  --bs-btn-hover-border-color: #714700;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: #714700;
  --bs-btn-active-border-color: #714700;
  --bs-btn-focus-shadow-rgb: 143, 90, 0;
}

.btn-info {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: var(--stz-graphite);
  --bs-btn-border-color: var(--stz-graphite);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: #2E2E2E;
  --bs-btn-hover-border-color: #2E2E2E;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: #2E2E2E;
  --bs-btn-active-border-color: #2E2E2E;
  --bs-btn-focus-shadow-rgb: 69, 69, 69;
}

.btn-link {
  --bs-btn-color: var(--stz-maroon);
  --bs-btn-hover-color: var(--stz-red);
  --bs-btn-active-color: var(--stz-red);
}

/* Plakietki i paski postępu na ciemnym amberze — szablony dopisują do nich
   `text-dark`, co na tym tle byłoby nieczytelne. Wyższa specyficzność niż
   utility, więc wygrywa mimo !important w .text-dark. */
.badge.bg-warning,
.badge.text-bg-warning {
  color: #ffffff !important;
}

/* --- nawigacja --------------------------------------------------------- */

.navbar {
  --bs-navbar-active-color: var(--stz-maroon);
  --bs-navbar-hover-color: var(--stz-red);
}

.nav-tabs {
  --bs-nav-tabs-link-active-color: var(--stz-maroon);
  --bs-nav-link-hover-color: var(--stz-red);
}

.dropdown-menu {
  --bs-dropdown-link-active-bg: var(--stz-maroon);
  --bs-dropdown-link-hover-bg: var(--stz-green-tint);
}

.pagination {
  --bs-pagination-color: var(--stz-maroon);
  --bs-pagination-hover-color: var(--stz-red);
  --bs-pagination-hover-bg: var(--stz-green-tint);
  --bs-pagination-focus-color: var(--stz-red);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(109, 0, 0, 0.25);
  --bs-pagination-active-bg: var(--stz-maroon);
  --bs-pagination-active-border-color: var(--stz-maroon);
}

/* --- karty, tabele, listy ---------------------------------------------- */

.card-header {
  background-color: var(--stz-panel);
}

.table > thead:not(.table-dark) > tr > th {
  background-color: var(--stz-panel);
}

/* Szablony używają ciemnych nagłówków tabel — zamiast czerni marka. */
.table-dark {
  --bs-table-bg: var(--stz-maroon);
  --bs-table-border-color: var(--stz-maroon-hover);
  --bs-table-color: #ffffff;
}

.list-group {
  --bs-list-group-active-bg: var(--stz-maroon);
  --bs-list-group-active-border-color: var(--stz-maroon);
  --bs-list-group-action-hover-bg: var(--stz-green-tint);
}

.progress {
  --bs-progress-bar-bg: var(--stz-maroon);
}

/* --- alerty ------------------------------------------------------------ */

.alert-primary {
  --bs-alert-color: #4B0000;
  --bs-alert-bg: #F3E6E6;
  --bs-alert-border-color: #E2CCCC;
  --bs-alert-link-color: #4B0000;
}

.alert-success {
  --bs-alert-color: #0E3E0C;
  --bs-alert-bg: var(--stz-green-tint);
  --bs-alert-border-color: #D0DCCF;
  --bs-alert-link-color: #0E3E0C;
}

.alert-danger {
  --bs-alert-color: #7D1C1D;
  --bs-alert-bg: #F7E9E9;
  --bs-alert-border-color: #EBD0D0;
  --bs-alert-link-color: #7D1C1D;
}

.alert-warning {
  --bs-alert-color: #6B4400;
  --bs-alert-bg: #FBF2E3;
  --bs-alert-border-color: #F0E1C4;
  --bs-alert-link-color: #6B4400;
}

.alert-info {
  --bs-alert-color: #2E2E2E;
  --bs-alert-bg: #F3F3F3;
  --bs-alert-border-color: #DDDDDD;
  --bs-alert-link-color: #2E2E2E;
}

/* --- formularze -------------------------------------------------------- */

.form-control:focus,
.form-select:focus {
  border-color: #B98080;
  box-shadow: 0 0 0 0.25rem rgba(109, 0, 0, 0.15);
}

.form-check-input:checked {
  background-color: var(--stz-maroon);
  border-color: var(--stz-maroon);
}

.form-check-input:focus {
  border-color: #B98080;
  box-shadow: 0 0 0 0.25rem rgba(109, 0, 0, 0.15);
}

.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23B98080'/%3e%3c/svg%3e");
}

.input-group-text {
  background-color: #F3F3F3;
}
