html,
body {
    height: 100%;
}

.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto -60px;
    padding: 0 0 60px;
}

.wrap > .container {
    padding: 70px 15px 20px;
}

.container-fluid {
    //overflow: auto;
}

.footer {
    height: 60px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    padding-top: 20px;
}

.jumbotron {
    text-align: center;
    background-color: transparent;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: /*"\e113"*/ "\e151";
}

a.desc:after {
    content: /*"\e114"*/ "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}



/* -------- */
table.detail-view th {
        width: 30%;
        max-width: 50%;
}

/*
table.detail-view td {
        width: 75%;
}
*/

/*
.grid-view input[type="checkbox"] {
  transform:scale(1.8, 1.8);
}

*/


.grid-view input[type=radio], 
.grid-view input[type=checkbox] { 

    width:30px; 
    height:30px; 
    margin: 0;
    
}
.grid-view select {height: 30px;}

.question {
      display: inline-block;
      width: 16px;
      margin-left: 4px;    
      margin-right: 4px;    
  }


/*
@media (max-width: 1000px) {
  .navbar-header {
      float: none;
  }
  .navbar-left,.navbar-right {
      float: none !important;
  }
  .navbar-toggle {
      display: block;
  }
  .navbar-collapse {
      border-top: 1px solid transparent;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
  }
  .navbar-fixed-top {
      top: 0;
      border-width: 0 0 1px;
  }
  .navbar-collapse.collapse {
      display: none!important;
  }
  .navbar-nav {
      float: none!important;
      margin-top: 7.5px;
  }
  .navbar-nav>li {
      float: none;
  }
  .navbar-nav>li>a {
      padding-top: 10px;
      padding-bottom: 10px;
  }
  .collapse.in{
      display:block !important;
  }
}

*/
/* Pasek "Przejdź do daty" nad kalendarzami FullCalendar (web/js/fc-datepicker.js). */
.sch-fc-datepicker {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 10px;
}
.sch-fc-datepicker-label {
    margin: 0;
    font-weight: normal;
    font-size: 13px;
    color: #555;
}
.sch-fc-datepicker-input {
    width: auto;
    max-width: 190px;
    display: inline-block;
}

/* ---------------------------------------------------------------------------
   Zdjęcia uczestników (5.28.0) — components/ZdjecieUczestnika.php,
   views/zdjecie-uczestnika/_formularz.php. Okrągłe zdjęcie albo kółko
   z inicjałami; rozmiar z atrybutów width/height (inline dla zastępczego).
   --------------------------------------------------------------------------- */
.ucz-zdjecie {
    display: inline-block;
    flex: none;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
    background-color: #E5E7EB;
}
.ucz-zdjecie--zastepczy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .02em;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    text-decoration: none;
    user-select: none;
}
/* kółko z inicjałami czeka ukryte za <img> — onerror chowa obrazek i pokazuje kółko;
   atrybut hidden musi wygrać z display: inline-flex / inline-block powyżej */
.ucz-zdjecie[hidden] { display: none !important; }
/* listy (obecność, uczestnicy): miniatura przed nazwiskiem — razem w .ucz-osoba,
   żeby w mobilnym trybie kart (komórka = flex) zdjęcie nie odjeżdżało od nazwiska */
.ucz-zdjecie--lista { margin-right: 6px; }
.ucz-osoba { display: inline-flex; align-items: center; min-width: 0; vertical-align: top; }
/* tabela: miniatura (32px) jest wyższa od linii tekstu, a Bootstrap wyrównuje komórki
   do góry — nazwisko obok zdjęcia stało niżej niż imię i reszta wiersza. Wiersz
   z miniaturą wyrównany do środka (vertical-align: top na .ucz-osoba — komórka
   ma wtedy dokładnie wysokość zdjęcia, bez dolnego zapasu linii pod <img>).
   Przeglądarka bez :has() pomija regułę i zostaje dawny układ. */
.table > tbody > tr:has(.ucz-zdjecie--lista) > td { vertical-align: middle; }
.ucz-zdjecie-form__usun .btn-link.text-danger { color: #B91C1C; }
/* karta uczestnika: zdjęcie obok nagłówka */
.ucz-naglowek {
    display: flex;
    align-items: center;
    gap: 16px;
}
.ucz-naglowek > h1 { flex: 1 1 auto; min-width: 0; }
.ucz-naglowek .ucz-zdjecie { box-shadow: 0 1px 4px rgba(0, 0, 0, .18); }
.ucz-zdjecie-form { margin: 0 0 12px; }
.ucz-zdjecie-form > summary {
    cursor: pointer;
    color: #2563EB;
    font-weight: 600;
}
.ucz-zdjecie-form__tresc {
    margin-top: 8px;
    padding: 12px 14px;
    max-width: 520px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
}
.ucz-zdjecie-form__plik { max-width: 100%; }
.ucz-zdjecie-form__podglad img {
    display: block;
    max-width: 160px;
    max-height: 160px;
    margin-top: 8px;
    border-radius: 8px;
}
.ucz-zdjecie-form__usun { margin-top: 6px; }
.ucz-zdjecie-form__usun .btn-link { padding-left: 0; }
/* pulpit uczestnika i karty dzieci na pulpicie opiekuna */
.portal-head--zdjecie {
    display: flex;
    align-items: center;
    gap: 14px;
}
.portal-head__zdjecie {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.portal-head__zdjecie a { text-decoration: none; }
.portal-head__zdjecie-link { font-size: 12px; white-space: nowrap; }
.portal-head__tekst { flex: 1 1 auto; min-width: 0; }
.portal-section-head--zdjecie { align-items: center; }
.portal-dziecko__nazwa {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 10px;
}
.portal-section-head .portal-dziecko__nazwa a.portal-dziecko__zdjecie { line-height: 0; }
/* specyficzność wyższa niż .portal-section-head a (portal.css), która inaczej wygrywa */
.portal-section-head a.portal-dziecko__dodaj { font-size: 12px; font-weight: 400; white-space: normal; }
[data-theme="ciemny"] .ucz-zdjecie-form__tresc { border-color: #2A3550; }
[data-theme="ciemny"] .ucz-zdjecie-form > summary { color: #93B4F8; }
@media (max-width: 480px) {
    .ucz-naglowek { gap: 10px; }
    /* !important: kółko z inicjałami ma rozmiar w atrybucie style */
    .ucz-naglowek > .ucz-zdjecie { width: 72px !important; height: 72px !important; font-size: 28px !important; }
}
/* PESEL i numer dowodu — gwiazdki z „Pokaż" (DaneWrazliwe, 5.29.0) */
.dw-pole { display: inline; }
.dw-wartosc {
    font-family: Consolas, "Courier New", monospace;
    letter-spacing: 1px;
    white-space: nowrap;
}
.dw-wartosc--ukryta { color: #6B7280; }
.dw-pole .dw-pokaz { margin-left: 4px; vertical-align: baseline; }
.dw-pole--odsloniete .dw-wartosc {
    background: #FEF3C7;
    border-radius: 3px;
    padding: 0 3px;
}
.dw-komunikat {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 400;
    color: #4B5563;
    white-space: normal;
}
.dw-komunikat--info { color: #1D4ED8; }
.dw-komunikat--blad { color: #B91C1C; }
.dw-komunikat--sukces { color: #047857; }
.dw-limit {
    display: block;
    max-width: 420px;
    margin: 6px 0;
    padding: 8px 10px;
    border: 1px solid #FCD34D;
    border-radius: 6px;
    background: #FFFBEB;
    font-weight: 400;
    white-space: normal;
}
.dw-limit__tekst { display: block; margin-bottom: 6px; font-size: 12px; color: #92400E; }
.dw-limit__uzasadnienie { display: block; margin-bottom: 6px; resize: vertical; }
.dw-limit .dw-popros-zamknij { margin-left: 4px; }
.dw-edycja__podglad { padding: 6px 0; }
.dw-edycja__pole .dw-anuluj { padding-left: 0; }
[data-theme="ciemny"] .dw-wartosc--ukryta { color: #9CA3AF; }
[data-theme="ciemny"] .dw-pole--odsloniete .dw-wartosc { background: #4A3A10; color: #FDE68A; }
[data-theme="ciemny"] .dw-komunikat { color: #9CA3AF; }
[data-theme="ciemny"] .dw-komunikat--info { color: #93B4F8; }
[data-theme="ciemny"] .dw-komunikat--blad { color: #F87171; }
[data-theme="ciemny"] .dw-komunikat--sukces { color: #5BD3A9; }
[data-theme="ciemny"] .dw-limit { background: #2A2410; border-color: #6B5A1E; }
[data-theme="ciemny"] .dw-limit__tekst { color: #FCD34D; }
