body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }
.banner-img { width: 320px; height: 150px; object-fit: cover; border-radius: 0; }
.bg-header { background-color: #fff; color: black; }
.card-img-top { height: 90px; object-fit: contain; object-position: center; display: block; margin: auto; border-radius: 0 !important; }
/* .card { border-radius: 0 !important; }       */
/* .btn { border-radius: 0 !important; } */

/* Menu */
aside .card,
aside .card-header,
aside .list-group-item {
border-radius: 0 !important;
}
/* Nagłówek menu */
.card-header {
background-color: #dc3545;
color: #fff;
text-transform: uppercase;
}

/* Elementy listy */
.list-group-item {
background-color: #f8f9fa;
color: #333;
text-transform: uppercase;
position: relative;
padding-right: 2rem;
transition: background-color 0.2s ease;
border: none;
}

/* Strzałka po prawej */
.list-group-item::after {
content: "❯";
font-weight: bold;
color: #dc3545;
position: absolute;
right: 1rem;
top: 50%;
transform: translateY(-50%);
font-size: 1rem;
line-height: 1;
}

/* Hover efekt */
.list-group-item:hover {
background-color: #e2e6ea;
}

/* Aktywna pozycja */
.list-group-item.active {
background-color: #dee2e6; /* szare tło */
color: #000;
}
.list-group-item.active::after {
color: #333; /* mniej kontrastowa strzałka dla aktywnego */
}

/*Paginacja*/

.page-link {
    color: #dc3545;
  }
  .page-item.active .page-link {
    background-color: #dc3545;
    color: #fff;
    border-color: #dc3545;
  }
  .page-link:hover {
    background-color: #f8d7da;
    color: #dc3545;
  }

/*Ułatwienia dostępu*/
/* Rozmiar tekstu */
body.text-md {
    font-size: 1.15em;
  }
  body.text-xl {
    font-size: 1.3em;
  }
  
  /* Odstępy w tekście */
  body.text-spacious p,
  body.text-spacious li,
  body.text-spacious td,
  body.text-spacious th {
    line-height: 1.8;
    letter-spacing: 0.05em;
    word-spacing: 0.1em;
  }

  /* 🔡 Rozsuwanie liter */
body.letter-wide p,
body.letter-wide li,
body.letter-wide td,
body.letter-wide th {
  letter-spacing: 0.12em;
}
  
  body.high-contrast {
    background-color: #000 !important;
    color: #fff !important;
  }
  body.night-mode {
    background-color: #1c1c1c !important;
    color: #ccc !important;
  }
  #accessibility-bar button:focus {
    outline: 2px dashed #dc3545;
    outline-offset: 2px;
  }

  /* Wysoki kontrast: globalne elementy */
body.high-contrast,
body.high-contrast main,
body.high-contrast footer,
body.high-contrast .card,
body.high-contrast .list-group-item,
body.high-contrast .card-header,
body.high-contrast .bg-header,
body.high-contrast #accessibility-bar {
  background-color: #000 !important;
  color: #fff !important;
}

/* Linki w trybie kontrastu */
body.high-contrast a {
  color: #0ff !important;
  text-decoration: underline;
}

/* Elementy hover/aktywne */
body.high-contrast .list-group-item:hover {
  background-color: #222 !important;
}
body.high-contrast .list-group-item.active {
  background-color: #333 !important;
  color: #fff !important;
}
body.high-contrast .list-group-item.active::after {
  color: #ccc !important;
}

/* Ikony, strzałki, przyciski */
body.high-contrast .page-link {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}
body.high-contrast .page-item.active .page-link {
  background-color: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}
body.high-contrast .btn-outline-danger {
  border-color: #fff !important;
  color: #fff !important;
}
body.high-contrast .btn-outline-danger:hover {
  background-color: #fff !important;
  color: #000 !important;
}

/* Miniatury, obrazki w kartach */
body.high-contrast .card-img-top {
  filter: grayscale(100%) contrast(150%);
  background-color: #000;
}

/* Tło i kolor dla ogólnych elementów */
body.night-mode,
body.night-mode main,
body.night-mode footer,
body.night-mode .card,
body.night-mode .card-header,
body.night-mode .list-group-item,
body.night-mode #accessibility-bar,
body.night-mode .bg-header {
  background-color: #1c1c1c !important;
  color: #ccc !important;
}

/* Hover / aktywne pozycje */
body.night-mode .list-group-item:hover {
  background-color: #2a2a2a !important;
}
body.night-mode .list-group-item.active {
  background-color: #333 !important;
  color: #fff !important;
}
body.night-mode .list-group-item.active::after {
  color: #ccc !important;
}

/* Linki w dark mode */
body.night-mode a {
  color: #9cf !important;
  text-decoration: underline;
}

/* Paginacja i przyciski */
body.night-mode .page-link {
  background-color: #1c1c1c !important;
  color: #ccc !important;
  border-color: #ccc !important;
}
body.night-mode .page-item.active .page-link {
  background-color: #ccc !important;
  color: #000 !important;
}
body.night-mode .btn-outline-danger {
  border-color: #ccc !important;
  color: #ccc !important;
}
body.night-mode .btn-outline-danger:hover {
  background-color: #ccc !important;
  color: #000 !important;
}

/* Miniaturki i obrazki w kartach */
body.night-mode .card-img-top {
  filter: brightness(0.8) contrast(120%);
  background-color: #2a2a2a;
}
/* Belka dostępności — tryb nocny */
body.night-mode #accessibility-bar button {
    background-color: #2a2a2a !important;
    color: #ccc !important;
    border-color: #666 !important;
  }
  
  body.night-mode #accessibility-bar button:hover {
    background-color: #444 !important;
    color: #fff !important;
  }
  
  /* Belka dostępności — wysoki kontrast */
  body.high-contrast #accessibility-bar button {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #fff !important;
  }
  
  body.high-contrast #accessibility-bar button:hover {
    background-color: #fff !important;
    color: #000 !important;
  }

  /* Ułatwienia w nagłówku */
#accessibility-bar button {
    padding: 0.35em 0.5em;
    font-size: 0.9em;
  }
  
  /* Tryb kontrastu / nocny */
  body.night-mode #accessibility-bar button,
  body.high-contrast #accessibility-bar button {
    background-color: transparent !important;
    color: #fff !important;
    border: 1px solid #fff !important;
  }
  body.night-mode #accessibility-bar button:hover,
  body.high-contrast #accessibility-bar button:hover {
    background-color: #fff !important;
    color: #000 !important;
  }