/* Baza ofert — nadpisania ładowane po styles.css/fonts.css z ncn.gov.pl (tamte pliki bez zmian). */

/* --- z rdzenia Drupala (hidden.module.css), na którym polega skip link; styles.css tego nie ma --- */
.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
}
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  position: static !important;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
}

/* --- menu mobilne: przycisk zamiast diva z szablonu (tło i widoczność daje styles.css) --- */
.header__menu-mobile {
  border: 0;
  padding: 0;
  cursor: pointer;
}

/* strzałka selecta: styles.css ma ją jako data: SVG, a CSP img-src 'self' blokuje data: */
select { background-image: url("../img/select-strzalka.svg"); }

.admin-znacznik {
  background: #fff3cd;
  padding: 1rem;
  font-weight: bold;
}

/* --- treść: jeden rozmiar tekstu (menu i stopka bez zmian) --- */
.content p,
.content ol,
.content ul,
.content li,
.content label { font-size: 17px; }

/* --- nagłówek z logo --- */
.cell.header__cell { height: 40px; }

/* --- baner: stały tytuł bazy jako link do strony głównej --- */
.top__headline h1.page-title { margin: 25px 0; }
.top__headline h1 a { color: inherit; text-decoration: none; }
.top__headline h1 a:hover,
.top__headline h1 a:focus { text-decoration: underline; }

/* --- wstęp na stronie głównej --- */
.cell.wstep p:first-child { padding-bottom: 1rem; }

/* --- pasek boczny --- */
.baza-ofert-nawigacja h2 { margin-top: 0; }
.szukaj-miasto label { display: block; margin-bottom: 0.25rem; }
.szukaj-miasto input[type="text"] { width: 100%; margin-bottom: 0.5rem; }
.szukaj-miasto button {
  background: #000;
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 0;
  text-decoration: none;
  font-size: 0.9rem;
  margin-top: 1rem;
  font-weight: 700;
  cursor: pointer;
}
/* !important: styles.css ma .sidebar a { color: #d31c3c } o wyższej specyficzności */
.baza-ofert-nawigacja .btn { color: #fff !important; margin-bottom: 1rem; }
/* telefon: styles.css robi z .btn-with-arrow przezroczysty link, biały tekst by zniknął */
@media screen and (max-width: 39.99875em) {
  .baza-ofert-nawigacja .btn { color: #d31c3c !important; }
}
@media screen and (min-width: 64em) {
  .baza-ofert-nawigacja { margin-top: 2rem; }
}
/* drugi przycisk pod listą najnowszych — bez odstępu od góry */
.baza-ofert-nawigacja.baza-ofert-nawigacja--dol { margin-top: 0; }
.najnowsze-naglowek { padding-top: 1rem; }
.sidebar .ostatnie { padding-left: 1rem; }

/* --- listy (stare style inline) --- */
.ostatnie { padding-left: 40px; }
.ostatnie li { line-height: 1.5; padding-bottom: 15px; }
.uczelnia { color: #000; }

.calalista { width: 100%; border-collapse: collapse; }
.calalista th,
.calalista td { padding: 5px 10px 5px 0; border-bottom: 1px solid #ededed; text-align: left; vertical-align: top; }
.calalista th { line-height: 1.1; }
.calalista th.kol-termin { min-width: 142px; }
.calalista th.kol-dodano { min-width: 125px; }
.calalista thead { border-bottom: 4px solid #ededed; }
.calalista tr:hover { background: none; }
/* telefon: wiersz = karta, komórki pod sobą, nazwa kolumny z data-label */
@media screen and (max-width: 39.99875em) {
  .naglowek-listy { padding-bottom: 0; }
  .calalista thead { display: none; }
  .calalista,
  .calalista tbody,
  .calalista tr,
  .calalista td { display: block; width: 100%; }
  .calalista tr { display: flex; flex-direction: column; padding: 0.75rem 0; border-bottom: 1px solid #ededed; }
  /* pierwsza komórka rozbita na stanowisko + link, link „zobacz ofertę” na koniec karty */
  .calalista td:first-child { display: contents; }
  .calalista td:first-child br { display: none; }
  .calalista td:first-child a { order: 1; align-self: flex-start; margin-top: 0.25rem; }
  .calalista td { padding: 2px 0; border-bottom: 0; }
  .calalista td[data-label]::before { content: attr(data-label) ": "; font-weight: bold; }
  .calalista__stanowisko { font-weight: bold; }
}

.paginacja { display: flex; gap: 1.5rem; padding: 1rem 0; }
.powrot { padding: 1rem 0 1rem 0 !important; }

/* --- polityka prywatności (stare style inline) --- */
.rodo { margin-left: 15px; }

/* --- szczegóły --- */
.important { background: #f6f6f6; padding: 15px 20px 18px; }
.oferta h3 { font-size: 1em; margin: 0 0 0.25rem; }
.oferta__tekst { padding: 5px 0 5px 30px; }
@media screen and (max-width: 63.99875em) {
  .oferta__tekst { padding: 5px 0 5px 0; }
}

/* --- panel admina --- */
.panel-admina { padding: 20px; margin: 20px 0; }
.panel-admina--opublikowana { background: #d2efd6; }
.panel-admina--oczekuje { background: #ffe4e8; }
.panel-admina__tytul { font-weight: bold; font-size: 22px; }
.panel-admina__akcja { margin: 0.5rem 0; }

/* --- formularz --- */
.formularz { margin-top: 2rem; }
.formularz__pola .pole { margin-bottom: 13px; }
.important label {
  display: block;
  font-weight: 400;
  padding-bottom: 5px;
}
.formularz__pola input,
.formularz__pola select,
.formularz__pola textarea { width: 100%; max-width: 100%; }
.formularz__pola textarea { resize: vertical; }
#idkonkurs,
#idgrupaNauk,
#idterminSkladania,
#idformaSkladania,
#idkontrolne { max-width: 300px; }
.pole-zgoda input[type="checkbox"] { width: auto; margin: 0 0.5rem 0 0; }
.pole-zgoda label { display: inline; margin-right: 0; }
.pole-zgoda .polityka { color: #e22747 !important; font-weight: bold; }
.formularz__pola button[type="submit"],
.panel-admina__akcja button[type="submit"] {
  border-radius: 0;
  padding: 0.25rem 0.7rem 0.35rem 0.7rem;
  line-height: 22px;
}
.formularz__uwaga { padding: 10px 0; }
.blad-formularza,
.blad-pola { color: #d21132; font-weight: bold; }
.blad-pola { display: block; font-size: 0.9em; }
[aria-invalid="true"] { border-color: #d21132; }

/* honeypot: poza ekranem, nie display:none (część botów to sprawdza) */
.pole-pulapka {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* --- stopka --- */
footer.footer { margin-top: 2rem; }
.footer__podcasty { padding-top: 1rem; }

@media print {
  .header, .nav, .sidebar, .footer, .credits, .panel-admina, .admin-znacznik, .skip-link { display: none; }
}
