@charset "UTF-8";
/* ==========================================================================
   telefonni-seznam.css — doplňkové třídy pro stránku „Telefonní seznam“
   --------------------------------------------------------------------------
   Načítá se AŽ ZA css/intranet.css a nic v něm nepřepisuje natvrdo.
   Obsahuje jen to, co designový systém zatím nemá:
     1. Velké vyhledávací pole a ukázkový rozbalený panel našeptávače
     2. Řádek filtrů (odbor, budova, dostupnost)
     3. Karta kontaktu v plném výpisu
     4. Organizační strom v postranním panelu
     5. Stránkování
     6. Poznámka o ochraně osobních údajů
     7. Responzivita

   Drobečková navigace (.drobecky) a záhlaví stránky (.zahlavi-stranky) jsou
   sdílené komponenty a bydlí v css/intranet.css.
   Všechny barvy jdou přes tokeny z intranet.css, takže stránka funguje
   ve světlém i tmavém režimu bez dalšího zásahu.
   ========================================================================== */


/* ==========================================================================
   1. Vyhledávání — velké pole + ukázkový panel našeptávače
   --------------------------------------------------------------------------
   Panel je v prototypu zobrazený natrvalo, aby bylo vidět, jak našeptávač
   vypadá rozbalený. Proto je v toku stránky (position: static) a nepřekrývá
   filtry pod sebou — v ostrém provozu se vykreslí jako plovoucí vrstva.
   ========================================================================== */

.hledani {
  margin-top: var(--m-4);
}

.naseptavac--velky {
  margin: 0;
}

.naseptavac--velky .naseptavac__pole {
  border-radius: var(--r-xl);
  border-width: 2px;
  padding: 0 16px;
}

.naseptavac--velky .naseptavac__vstup {
  height: 56px;
  font-size: var(--fs-m);
}

/* Ukázkový (trvale rozbalený) panel */
.naseptavac__panel--ukazka {
  position: static;
  margin-top: 8px;
  max-height: none;
  padding: 6px;
  border-radius: var(--r-l);
}

.naseptavac__skupina {
  padding: 4px 0;
  border-top: 1px solid var(--ram-2);
}

.naseptavac__skupina:first-child {
  border-top: 0;
}

.naseptavac__nadpisek {
  margin: 4px 0 2px;
  padding: 0 10px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--text-jemny);
}

.naseptavac__skupina-seznam {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Návrh v panelu — odkaz přes celou šířku, shoda zvýrazněná značkou <mark> */
.naseptavac__polozka--radek {
  display: flex;
  align-items: baseline;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  font-weight: 500;
}

.naseptavac__polozka--radek:hover {
  color: var(--text);
  text-decoration: none;
  background: var(--akcent-zavoj);
}

.naseptavac__polozka--radek .naseptavac__nazev {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  color: var(--text);
  font-size: var(--fs-sm);
}

/* Doplňkový údaj vpravo (odbor, klapka, počet lidí) */
.naseptavac__polozka--radek .naseptavac__doplnek {
  display: block;
  flex: none;
  font-size: var(--fs-s);
  color: var(--text-tlumeny);
  font-variant-numeric: tabular-nums;
}

.naseptavac__polozka mark {
  background: var(--akcent-zavoj);
  color: var(--akcent-text);
  padding: 0 1px;
  border-radius: 3px;
  font-weight: 700;
}

.naseptavac__napoveda {
  margin: 8px 0 0;
  font-size: var(--fs-s);
  color: var(--text-jemny);
}


/* ==========================================================================
   2. Řádek filtrů — odbor, budova, dostupnost
   ========================================================================== */

.filtry {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--m-3);
  margin-top: var(--m-4);
}

.filtry__skupina {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1 1 220px;
  min-width: 0;
}

.filtry__popisek {
  font-size: var(--fs-s);
  font-weight: 600;
  color: var(--text-tlumeny);
}

.filtry__vyber {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--ram);
  border-radius: var(--r-m);
  background: var(--povrch);
  color: var(--text);
  font-size: var(--fs-sm);
  cursor: pointer;
}

.filtry__vyber:hover {
  border-color: var(--ram-vyrazny);
}

.filtry__skupina--dostupnost {
  flex: 1 1 100%;
}

.filtry__chipy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Přepínač dostupnosti. Není to .chip z hero — ten má bílý text pro modré
   pozadí a na kartě by nebyl čitelný. */
.filtr-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--ram);
  border-radius: var(--r-pilulka);
  background: var(--povrch);
  color: var(--text-tlumeny);
  font-size: var(--fs-sm);
  font-weight: 600;
  cursor: pointer;
}

.filtr-chip:hover {
  border-color: var(--ram-vyrazny);
  color: var(--text);
}

.filtr-chip[aria-pressed="true"] {
  border-color: var(--akcent);
  background: var(--akcent);
  color: var(--akcent-na-plose);
}

.filtr-chip__pocet {
  font-size: var(--fs-s);
  font-variant-numeric: tabular-nums;
  opacity: .85;
}


/* ==========================================================================
   3. Kontakt v plném výpisu
   ========================================================================== */

.kontakty {
  display: grid;
  gap: 0;
  margin-top: var(--m-3);
  border-top: 1px solid var(--ram-2);
}

.kontakt {
  display: flex;
  align-items: flex-start;
  gap: var(--m-3);
  padding: 14px 0;
  border-bottom: 1px solid var(--ram-2);
}

.kontakt:hover {
  background: var(--povrch-hover);
}

.kontakt__telo {
  flex: 1 1 auto;
  min-width: 0;
}

.kontakt__jmeno {
  margin: 0;
  font-size: var(--fs-m);
  font-weight: 600;
  letter-spacing: -.01em;
}

.kontakt__funkce {
  margin: 2px 0 0;
  font-size: var(--fs-sm);
  color: var(--text-tlumeny);
}

.kontakt__odbor {
  color: var(--text-jemny);
}

/* Mřížka údajů — klapka, mobil, e-mail, budova a místnost */
.kontakt__udaje {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 6px var(--m-4);
  margin: 10px 0 0;
}

.kontakt__udaj {
  display: flex;
  align-items: baseline;
  gap: 7px;
  min-width: 0;
  font-size: var(--fs-sm);
}

.kontakt__popisek {
  margin: 0;
  flex: none;
  width: 58px;
  font-size: var(--fs-s);
  color: var(--text-jemny);
}

.kontakt__hodnota {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.kontakt__stav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
}

/* Zástupce nepřítomného kolegy */
.kontakt__zastup {
  font-size: var(--fs-s);
  color: var(--text-tlumeny);
}

.kontakt__akce {
  flex: none;
  display: flex;
  align-items: center;
  gap: var(--m-2);
}

/* Štítek dostupnosti s ikonou — tečku z .dostupnost nahrazuje ikona, aby stav
   nebyl rozlišený jen barvou (text + tvar ikony nesou informaci samy o sobě). */
.dostupnost--s-ikonou::before {
  display: none;
}

.dostupnost__ikona {
  flex: none;
  width: 13px;
  height: 13px;
}

/* .napsat — sekundární akce vedle kulatého tlačítka .volat */
.napsat {
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: var(--r-l);
  border: 1px solid var(--ram);
  background: var(--povrch);
  color: var(--akcent-text);
  display: grid;
  place-items: center;
  text-decoration: none;
}

.napsat:hover {
  border-color: var(--akcent-text);
  background: var(--akcent-zavoj);
  color: var(--akcent-text);
  text-decoration: none;
}


/* ==========================================================================
   4. Organizační strom (postranní panel)
   --------------------------------------------------------------------------
   Rozbalování řeší <details>/<summary>, bez JavaScriptu.
   ========================================================================== */

.strom {
  margin-top: var(--m-2);
}

.strom__uzel {
  border-bottom: 1px solid var(--ram-2);
}

.strom__uzel:last-child {
  border-bottom: 0;
}

.strom__hlavicka {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 8px 6px;
  border-radius: var(--r-s);
  cursor: pointer;
  list-style: none;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text);
}

.strom__hlavicka::-webkit-details-marker {
  display: none;
}

.strom__hlavicka:hover {
  background: var(--akcent-zavoj);
  color: var(--akcent-text);
}

.strom__sipka {
  flex: none;
  width: 14px;
  height: 14px;
  color: var(--text-jemny);
  transition: transform .18s ease;
}

.strom__uzel[open] > .strom__hlavicka .strom__sipka {
  transform: rotate(90deg);
}

.strom__nazev {
  flex: 1 1 auto;
  min-width: 0;
}

.strom__pocet {
  flex: none;
  padding: 2px 8px;
  border-radius: var(--r-pilulka);
  background: var(--povrch-3);
  color: var(--text-tlumeny);
  font-size: var(--fs-xs);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.strom__deti {
  margin: 0 0 6px;
  padding: 0 0 0 14px;
  list-style: none;
  border-left: 1px solid var(--ram-2);
  margin-left: 12px;
}

.strom__deti .strom__uzel {
  border-bottom: 0;
}

.strom__hlavicka--odbor {
  font-weight: 500;
}

/* List stromu — oddělení, které se už dál nerozbaluje */
.strom__list {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 7px 6px 7px 29px;
  border-radius: var(--r-s);
  font-size: var(--fs-sm);
  color: var(--text-tlumeny);
  text-decoration: none;
}

.strom__list:hover {
  background: var(--akcent-zavoj);
  color: var(--akcent-text);
  text-decoration: none;
}


/* ==========================================================================
   5. Stránkování
   ========================================================================== */

.strankovani {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--m-3);
  margin-top: var(--m-4);
}

.strankovani__info {
  font-size: var(--fs-s);
  color: var(--text-tlumeny);
  font-variant-numeric: tabular-nums;
}

.strankovani__odkazy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.strankovani__odkaz {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--ram);
  border-radius: var(--r-m);
  background: var(--povrch);
  color: var(--akcent-text);
  font-size: var(--fs-sm);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}

.strankovani__odkaz:hover {
  border-color: var(--akcent-text);
  background: var(--akcent-zavoj);
  color: var(--akcent-text);
  text-decoration: none;
}

.strankovani__odkaz[aria-current="page"] {
  background: var(--akcent);
  border-color: var(--akcent);
  color: var(--akcent-na-plose);
}

.strankovani__odkaz--neaktivni {
  color: var(--text-jemny);
  background: var(--povrch-2);
  pointer-events: none;
}

.strankovani__vypustka {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  color: var(--text-jemny);
}


/* ==========================================================================
   6. Poznámka o ochraně osobních údajů
   ========================================================================== */

.ochrana-udaju {
  display: flex;
  align-items: flex-start;
  gap: var(--m-3);
  margin-top: var(--m-4);
  padding: var(--m-4);
  border: 1px solid var(--ram);
  border-left: 4px solid var(--akcent);
  border-radius: var(--r-l);
  background: var(--povrch);
}

.ochrana-udaju__ikona {
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: var(--r-m);
  background: var(--akcent-zavoj);
  color: var(--akcent-text);
  display: grid;
  place-items: center;
}

.ochrana-udaju__nadpis {
  margin: 0 0 4px;
  font-size: var(--fs-sm);
  font-weight: 700;
}

.ochrana-udaju__text {
  margin: 0;
  font-size: var(--fs-s);
  color: var(--text-tlumeny);
  max-width: 88ch;
}

.ochrana-udaju__text + .ochrana-udaju__text {
  margin-top: 6px;
}


/* ==========================================================================
   7. Responzivita
   ========================================================================== */

@media (max-width: 575.98px) {
  .kontakt {
    flex-wrap: wrap;
  }

  .kontakt__akce {
    width: 100%;
    justify-content: flex-start;
    padding-left: 51px;
  }

  .kontakt__popisek {
    width: 52px;
  }

  .strankovani {
    justify-content: center;
  }
}
