/* ============================================================
   Správa webu — Hostinec U Kohouta
   Světlé, klidné rozhraní. Záměrně jinak než web, ať je
   na první pohled jasné, že jsem v administraci.
   ============================================================ */

:root {
  --a-podklad:  #F4F2EE;
  --a-plocha:   #FFFFFF;
  --a-text:     #1C1A17;
  --a-tlumeny:  #6B655C;
  --a-cara:     #E2DED6;
  --a-cervena:  #9E1F17;
  --a-zelena:   #2F6B3F;
  --a-radius:   10px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--a-podklad);
  color: var(--a-text);
  font-family: "Familjen Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
img { max-width: 100%; display: block; }
h1, h2, h3 { margin: 0; }

:focus-visible { outline: 2px solid var(--a-cervena); outline-offset: 2px; }

/* ---------- hlavička ---------- */

.a-hlavicka {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: .75rem clamp(1rem, 3vw, 2rem);
  background: var(--a-text);
  color: #F4F2EE;
}
.a-znacka { display: flex; align-items: center; gap: .65rem; font-weight: 700; text-decoration: none; }
.a-hlavicka__vpravo { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.a-uzivatel { font-size: .9rem; opacity: .7; }
.a-odkaz-web { font-size: .9rem; opacity: .85; text-decoration: none; }
.a-odkaz-web:hover { opacity: 1; text-decoration: underline; }

/* ---------- rozvržení ---------- */

.a-telo {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
  padding: clamp(1rem, 3vw, 2rem);
  max-width: 1500px;
  margin-inline: auto;
}

/* menu je definované v sekci ROZVRŽENÍ níže */

.a-obsah { min-width: 0; }

/* ---------- typografie ---------- */

.a-titul { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); line-height: 1.15; margin-bottom: .4rem; }
.a-titul--druhy { margin-top: 2.5rem; }
.a-popis { margin: 0 0 1.5rem; max-width: 70ch; color: var(--a-tlumeny); }
.a-popis--male { font-size: .9rem; margin-bottom: 1rem; }

/* ---------- karta ---------- */

.a-karta {
  background: var(--a-plocha);
  border: 1px solid var(--a-cara);
  border-radius: var(--a-radius);
  padding: clamp(1rem, 2.5vw, 1.75rem);
  margin-bottom: 1.25rem;
}
.a-karta__titul {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: 1.15rem;
  margin-bottom: 1.25rem;
}
.a-pocet {
  padding: .1rem .5rem;
  border-radius: 20px;
  background: var(--a-podklad);
  font-size: .8rem;
  font-weight: 600;
  color: var(--a-tlumeny);
}

/* ---------- hlášky ---------- */

.a-hlaska {
  padding: .85rem 1.1rem;
  border-radius: var(--a-radius);
  border-left: 4px solid;
  margin: 0 0 1.25rem;
  font-weight: 500;
}
.a-hlaska--ok    { background: #EAF3EC; border-color: var(--a-zelena); color: #1E4A2B; }
.a-hlaska--chyba { background: #FBECEA; border-color: var(--a-cervena); color: #7A1811; }
.a-hlaska--pozor { background: #FBF3E4; border-color: #C08A2E; color: #6B4A12; }
.a-hlaska--pozor a { color: inherit; font-weight: 600; }

/* ---------- formuláře ---------- */

.a-formular {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 1rem;
}
.a-formular--uzky { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); max-width: 820px; }

.a-pole { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.a-pole--siroke { grid-column: 1 / -1; }
.a-pole--akce { flex-direction: row; align-items: center; gap: .6rem; flex-wrap: wrap; }

.a-pole label { font-size: .85rem; font-weight: 600; color: var(--a-tlumeny); }
.a-pole small { font-size: .82rem; color: var(--a-tlumeny); }

.a-pole input[type="text"],
.a-pole input[type="date"],
.a-pole input[type="time"],
.a-pole input[type="number"],
.a-pole input[type="password"],
.a-pole input[type="email"],
.a-pole input[type="file"],
.a-pole select,
.a-pole textarea {
  width: 100%;
  min-height: 44px;
  padding: .55rem .75rem;
  border: 1px solid var(--a-cara);
  border-radius: 8px;
  background: #fff;
  color: var(--a-text);
  font-family: inherit;
  font-size: 1rem;
}
.a-pole textarea { min-height: 96px; resize: vertical; line-height: 1.6; }
.a-pole input:focus, .a-pole select:focus, .a-pole textarea:focus {
  outline: none;
  border-color: var(--a-text);
  box-shadow: 0 0 0 3px rgba(28, 26, 23, .08);
}

.a-prepinac { flex-direction: row !important; align-items: center; gap: .5rem; font-weight: 400 !important; }
.a-prepinac input { width: 20px; height: 20px; min-height: 0; }

.a-nahled { max-width: 220px; border-radius: 8px; margin-bottom: .5rem; }
.a-mini { width: 60px; height: 45px; object-fit: cover; border-radius: 4px; }

/* ---------- tlačítka ---------- */

.a-tlacitko {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 1.2rem;
  border: 1px solid var(--a-text);
  border-radius: 8px;
  background: var(--a-text);
  color: #fff;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.a-tlacitko:hover { background: #000; }
.a-tlacitko--tise { background: transparent; color: inherit; border-color: currentColor; opacity: .8; }
.a-tlacitko--tise:hover { background: rgba(0, 0, 0, .06); opacity: 1; }
.a-tlacitko--male { min-height: 34px; padding: 0 .7rem; font-size: .85rem; }
.a-tlacitko--smazat { background: transparent; color: var(--a-cervena); border-color: #E3B8B4; }
.a-tlacitko--smazat:hover { background: var(--a-cervena); color: #fff; border-color: var(--a-cervena); }

.a-ikona {
  width: 32px; height: 32px;
  border: 1px solid var(--a-cara);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}
.a-ikona:hover { background: var(--a-podklad); }

.a-inline { display: inline-flex; gap: .2rem; margin: 0; }

.a-ulozit-lista {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem;
  background: var(--a-plocha);
  border: 1px solid var(--a-cara);
  border-radius: var(--a-radius);
  box-shadow: 0 -4px 18px rgba(0, 0, 0, .07);
}
.a-ulozit-lista span { font-size: .9rem; color: var(--a-tlumeny); }

/* ---------- tabulky ---------- */

.a-tabulka { width: 100%; border-collapse: collapse; font-size: .95rem; }
.a-tabulka th {
  text-align: left;
  padding: .5rem .6rem;
  border-bottom: 2px solid var(--a-cara);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--a-tlumeny);
}
.a-tabulka td { padding: .6rem; border-bottom: 1px solid var(--a-cara); vertical-align: middle; }
.a-tabulka tr:last-child td { border-bottom: 0; }
/* POZOR: na <td> nesmí přijít display:flex — buňka by vypadla
   z tabulkového layoutu a přestala se srovnávat se zbytkem řádku.
   Flex proto nese až vnitřní obal. */
.a-tabulka__akce { white-space: nowrap; width: 1%; text-align: right; }
.a-akce {
  display: flex;
  gap: .3rem;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
/* Tlačítka jsou inline-flex, bez tohohle by je prohlížeč
   zarovnával na účaří textu a sedla by o kus níž. */
.a-tabulka__akce .a-tlacitko,
.a-tabulka__akce .a-inline,
.a-tabulka__akce .a-ikona { vertical-align: middle; }

.a-znak { padding: .15rem .5rem; border-radius: 20px; font-size: .8rem; font-weight: 600; }
.a-znak--ano { background: #EAF3EC; color: var(--a-zelena); }
.a-znak--ne  { background: #F0EDE8; color: var(--a-tlumeny); }

.a-menu-tabulka { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.a-menu-tabulka th {
  text-align: left; padding: .4rem .3rem; font-size: .78rem;
  text-transform: uppercase; letter-spacing: .06em; color: var(--a-tlumeny);
}
.a-menu-tabulka td { padding: .2rem .3rem; }
.a-menu-tabulka input { width: 100%; min-height: 42px; padding: .45rem .6rem;
  border: 1px solid var(--a-cara); border-radius: 6px; font-family: inherit; font-size: .95rem; }
.a-menu-tabulka th:nth-child(1), .a-menu-tabulka td:nth-child(1) { width: 6.5rem; }
.a-menu-tabulka th:nth-child(3), .a-menu-tabulka td:nth-child(3) { width: 7rem; }
.a-menu-tabulka th:nth-child(4), .a-menu-tabulka td:nth-child(4) { width: 7rem; }

.a-prazdno {
  padding: 1.5rem;
  border: 1px dashed var(--a-cara);
  border-radius: var(--a-radius);
  color: var(--a-tlumeny);
  text-align: center;
}

/* ---------- dlaždice na přehledu ---------- */

.a-dlazdice { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: .75rem; }
.a-dlazdice__kus {
  display: flex; flex-direction: column; gap: .15rem;
  padding: 1.1rem; border: 1px solid var(--a-cara); border-radius: var(--a-radius);
  text-decoration: none; background: var(--a-podklad);
}
a.a-dlazdice__kus:hover { border-color: var(--a-text); }
.a-dlazdice__kus b { font-size: 1.9rem; line-height: 1.1; }
.a-dlazdice__kus span { font-size: .85rem; color: var(--a-tlumeny); }
.a-dlazdice__kus--stav b { font-size: 1.2rem; }
.a-dlazdice__kus b.je-otevreno { color: var(--a-zelena); }
.a-dlazdice__kus b.je-zavreno  { color: var(--a-cervena); }

.a-napoveda { margin: 0; padding-left: 1.2rem; color: var(--a-tlumeny); }
.a-napoveda li { margin-bottom: .4rem; }
.a-napoveda strong { color: var(--a-text); }

/* ---------- záložky a kategorie lístku ---------- */

.a-zalozky { display: flex; gap: .5rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.a-zalozky a {
  padding: .6rem 1.1rem; border: 1px solid var(--a-cara); border-radius: 8px;
  background: var(--a-plocha); text-decoration: none; font-weight: 600; font-size: .95rem;
}
.a-zalozky a.je-aktivni { background: var(--a-text); color: #fff; border-color: var(--a-text); }

.a-kategorie { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); gap: .6rem; margin-bottom: 1.5rem; }
.a-kategorie__kus { border: 1px solid var(--a-cara); border-radius: var(--a-radius); padding: .75rem; background: var(--a-podklad); }
.a-kategorie__kus.je-vybrana { border-color: var(--a-text); background: #fff; box-shadow: 0 0 0 2px rgba(28,26,23,.08); }
.a-kategorie__kus > a { display: block; text-decoration: none; margin-bottom: .5rem; }
.a-kategorie__kus b { display: block; }
.a-kategorie__kus span { font-size: .85rem; color: var(--a-tlumeny); }
.a-kategorie__akce { display: flex; gap: .25rem; align-items: center; flex-wrap: wrap; }

/* ---------- pozadí sekcí ---------- */

.a-pozadi { display: grid; grid-template-columns: minmax(min(180px, 100%), 280px) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.a-pozadi__nahled img { border-radius: 8px; aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.a-pozadi__prazdno {
  aspect-ratio: 16/10; display: flex; align-items: center; justify-content: center;
  border: 1px dashed var(--a-cara); border-radius: 8px; color: var(--a-tlumeny);
}
.a-pozadi__ovladani { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: .8rem; align-items: end; }

/* ---------- přihlášení ---------- */

.a-prihlaseni-telo { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 1.5rem; }
.a-prihlaseni {
  width: 100%; max-width: 380px; padding: 2rem;
  background: var(--a-plocha); border: 1px solid var(--a-cara); border-radius: 14px;
  text-align: center;
}
.a-prihlaseni__logo { margin: 0 auto 1rem; }
.a-prihlaseni h1 { font-size: 1.5rem; }
.a-prihlaseni__popis { margin: .2rem 0 1.5rem; color: var(--a-tlumeny); font-size: .95rem; }
.a-prihlaseni__formular { display: flex; flex-direction: column; gap: 1rem; text-align: left; }
.a-prihlaseni__formular .a-tlacitko { width: 100%; }

/* ---------- mobil ---------- */

@media (max-width: 900px) {
  .a-telo { grid-template-columns: minmax(0, 1fr); }
  .a-menu { position: static; flex-direction: row; overflow-x: auto; }
  .a-menu a { white-space: nowrap; }
  .a-pozadi { grid-template-columns: minmax(0, 1fr); }
  .a-tabulka, .a-tabulka tbody, .a-tabulka tr, .a-tabulka td { display: block; width: 100%; }
  .a-tabulka thead { display: none; }
  .a-tabulka tr { border: 1px solid var(--a-cara); border-radius: 8px; margin-bottom: .6rem; padding: .5rem; }
  .a-tabulka td { border: 0; padding: .3rem; }
  .a-menu-tabulka, .a-menu-tabulka tbody, .a-menu-tabulka tr, .a-menu-tabulka td { display: block; width: 100%; }
  .a-menu-tabulka thead { display: none; }
  .a-menu-tabulka tr { border: 1px solid var(--a-cara); border-radius: 8px; padding: .5rem; margin-bottom: .6rem; }
  .a-menu-tabulka td { padding: .2rem 0; }
}

/* ============================================================
   EDITOR TEXTU
   ============================================================ */

.a-editor {
  border: 1px solid var(--a-cara);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.a-editor__lista {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .2rem;
  padding: .4rem;
  background: var(--a-podklad);
  border-bottom: 1px solid var(--a-cara);
}

.a-editor__tlacitko {
  min-height: 34px;
  padding: 0 .6rem;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--a-text);
  font-family: inherit;
  font-size: .88rem;
  cursor: pointer;
  white-space: nowrap;
}
.a-editor__tlacitko:hover { background: #fff; border-color: var(--a-cara); }
.a-editor__tlacitko.je-zapnuto { background: var(--a-text); color: #fff; border-color: var(--a-text); }
.a-editor__tlacitko.je-tucne { font-weight: 800; }
.a-editor__tlacitko.je-kurziva { font-style: italic; }
.a-editor__tlacitko.je-podtrzene { text-decoration: underline; }

.a-editor__oddelovac {
  width: 1px;
  height: 22px;
  margin-inline: .25rem;
  background: var(--a-cara);
}

.a-editor__plocha {
  min-height: 160px;
  max-height: 460px;
  overflow-y: auto;
  padding: .9rem 1rem;
  font-size: 1rem;
  line-height: 1.65;
}
.a-editor__plocha:focus { outline: none; box-shadow: inset 0 0 0 2px rgba(28, 26, 23, .1); }

.a-editor__plocha p { margin: 0 0 .75rem; }
.a-editor__plocha p:last-child { margin-bottom: 0; }
.a-editor__plocha h3 { font-size: 1.15rem; margin: 1rem 0 .5rem; }
.a-editor__plocha ul, .a-editor__plocha ol { margin: 0 0 .75rem; padding-left: 1.5rem; }
.a-editor__plocha li { margin-bottom: .2rem; }
.a-editor__plocha a { color: var(--a-cervena); text-decoration: underline; }

.a-editor__napoveda {
  margin: 0;
  padding: .5rem 1rem .6rem;
  border-top: 1px solid var(--a-cara);
  background: var(--a-podklad);
  font-size: .8rem;
  color: var(--a-tlumeny);
}

/* Původní textarea zůstává jako nosič hodnoty, ale schovaná. */
.a-editor__zdroj { display: none !important; }

/* ---------- otevírací doba ---------- */

.a-doba-tabulka { width: 100%; border-collapse: collapse; }
.a-doba-tabulka th {
  text-align: left; padding: .5rem .6rem;
  font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--a-tlumeny);
  border-bottom: 2px solid var(--a-cara);
}
.a-doba-tabulka tbody th {
  font-size: 1rem; text-transform: none; letter-spacing: 0; color: var(--a-text); font-weight: 600;
  border-bottom: 1px solid var(--a-cara); white-space: nowrap;
}
.a-doba-tabulka td { padding: .4rem .6rem; border-bottom: 1px solid var(--a-cara); }
.a-doba-tabulka tr.je-dnes th, .a-doba-tabulka tr.je-dnes td { background: #FBF6E9; }
.a-doba-tabulka input[type="time"],
.a-doba-tabulka input[type="text"] {
  width: 100%; min-height: 42px; padding: .4rem .6rem;
  border: 1px solid var(--a-cara); border-radius: 6px; font-family: inherit; font-size: .95rem;
}
.a-doba-tabulka input[type="time"] { max-width: 8rem; }
.a-doba-tabulka .a-prepinac { justify-content: flex-start; }
.a-dnes {
  display: inline-block; margin-left: .5rem; padding: .1rem .45rem;
  border-radius: 20px; background: var(--a-cervena); color: #fff;
  font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.a-jen-mobil { display: none; }
.a-napoveda code {
  padding: .1rem .35rem; border-radius: 4px;
  background: var(--a-podklad); font-size: .9em;
}

@media (max-width: 900px) {
  .a-doba-tabulka, .a-doba-tabulka tbody, .a-doba-tabulka tr, .a-doba-tabulka td, .a-doba-tabulka th { display: block; width: 100%; }
  .a-doba-tabulka thead { display: none; }
  .a-doba-tabulka tr { border: 1px solid var(--a-cara); border-radius: 8px; padding: .6rem; margin-bottom: .6rem; }
  .a-doba-tabulka td, .a-doba-tabulka tbody th { border-bottom: 0; padding: .25rem 0; }
  .a-doba-tabulka input[type="time"] { max-width: none; }
  .a-jen-mobil { display: inline; }
}

/* ============================================================
   PŘEHLEDNĚJŠÍ ROZVRŽENÍ
   ============================================================ */

.a-telo { grid-template-columns: 268px minmax(0, 1fr); }

/* ---------- boční menu ---------- */

.a-menu {
  position: sticky;
  top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: .5rem;
  background: var(--a-plocha);
  border: 1px solid var(--a-cara);
  border-radius: var(--a-radius);
}

.a-menu__skupina {
  margin: 1rem 0 .3rem;
  padding: 0 .9rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #736C62;   /* 5,2:1 na bílé — původní #9A9287 měl jen 3,1:1 */
}
.a-menu__skupina:first-child { margin-top: .4rem; }

.a-menu a {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .62rem .9rem;
  border-radius: 7px;
  font-size: .95rem;
  line-height: 1.3;
  text-decoration: none;
  color: var(--a-tlumeny);
}
.a-menu a:hover { background: var(--a-podklad); color: var(--a-text); }
.a-menu a.je-aktivni { background: var(--a-text); color: #fff; font-weight: 600; }

.a-menu__ikona { width: 19px; height: 19px; flex-shrink: 0; opacity: .75; }
.a-menu a.je-aktivni .a-menu__ikona { opacity: 1; }

.a-menu-prepinac { display: none; }

/* ---------- hlavička ---------- */

.a-odkaz-web { display: inline-flex; align-items: center; gap: .4rem; }
.a-odkaz-web svg { width: 15px; height: 15px; }
.a-oddel { width: 1px; height: 20px; background: rgba(244, 242, 238, .25); }

/* ---------- záhlaví stránky ---------- */

.a-zahlavi {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.a-zahlavi .a-popis { margin-bottom: 0; }

.a-stav-odznak {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .7rem 1.1rem;
  border: 1px solid var(--a-cara);
  border-radius: var(--a-radius);
  background: var(--a-plocha);
}
.a-stav-odznak b { display: block; font-size: .95rem; }
.a-stav-odznak small { font-size: .82rem; color: var(--a-tlumeny); }
.a-stav-odznak__tecka { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.a-stav-odznak.je-otevreno .a-stav-odznak__tecka { background: var(--a-zelena); box-shadow: 0 0 0 4px rgba(47, 107, 63, .15); }
.a-stav-odznak.je-zavreno  .a-stav-odznak__tecka { background: var(--a-cervena); box-shadow: 0 0 0 4px rgba(158, 31, 23, .15); }

/* ---------- upozornění ---------- */

.a-karta--pozor { border-left: 4px solid #C08A2E; }
.a-upozorneni { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.a-upozorneni li {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
  padding: .8rem 1rem;
  background: #FCF7EC; border-radius: 8px;
}
.a-upozorneni b { display: block; }
.a-upozorneni span { font-size: .88rem; color: var(--a-tlumeny); }

/* ---------- nejčastější úkoly ---------- */

.a-ukoly { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: .7rem; }
.a-ukol {
  display: flex; flex-direction: column; gap: .2rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--a-cara); border-radius: var(--a-radius);
  text-decoration: none; background: var(--a-plocha);
}
.a-ukol:hover { border-color: var(--a-text); background: var(--a-podklad); }
.a-ukol b { font-size: 1.02rem; }
.a-ukol span { font-size: .87rem; color: var(--a-tlumeny); line-height: 1.45; }

/* ---------- seznam akcí na přehledu ---------- */

.a-seznam-akci { list-style: none; margin: 0; padding: 0; }
.a-seznam-akci li {
  display: flex; align-items: center; gap: 1.1rem; flex-wrap: wrap;
  padding: .75rem 0; border-bottom: 1px solid var(--a-cara);
}
.a-seznam-akci li:last-child { border-bottom: 0; }
.a-seznam-akci time { min-width: 5.5rem; }
.a-seznam-akci time b { display: block; font-size: 1.05rem; }
.a-seznam-akci time span, .a-seznam-akci div span { font-size: .85rem; color: var(--a-tlumeny); }
.a-seznam-akci div { flex: 1; min-width: 12rem; }
.a-seznam-akci div b { display: block; }

/* ---------- formulář schovaný pod tlačítkem ---------- */

.a-karta--formular > summary {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 0;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.a-karta--formular > summary::-webkit-details-marker { display: none; }
.a-karta--formular[open] > summary { margin-bottom: 1.25rem; }

.a-plus {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px;
  border-radius: 6px;
  background: var(--a-text); color: #fff;
  font-size: 1.1rem; line-height: 1;
  transition: transform .2s ease;
}
.a-karta--formular[open] .a-plus { transform: rotate(45deg); }

/* ---------- mobil ---------- */

@media (max-width: 900px) {
  .a-telo { grid-template-columns: minmax(0, 1fr); }

  .a-menu-prepinac {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 40px;
    padding: 0 .9rem;
    border: 1px solid rgba(244, 242, 238, .35);
    border-radius: 8px;
    background: transparent;
    color: #F4F2EE;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
  }
  .a-menu-prepinac span {
    display: block; width: 16px; height: 1.5px; background: currentColor;
  }
  .a-menu-prepinac span:nth-child(2) { margin-block: -3px; }
  .a-menu-prepinac span:nth-child(3) { margin-bottom: 0; }

  .a-menu {
    position: static;
    display: none;
    flex-direction: column;
  }
  .a-menu.je-otevrene { display: flex; }
  .a-menu__skupina { margin-top: .75rem; }

  .a-zahlavi { flex-direction: column; }
  .a-stav-odznak { width: 100%; }
}

@media (min-width: 901px) {
  .a-menu { display: flex !important; }
}

.a-prihlaseni__pod {
  margin: 1.25rem 0 0;
  text-align: center;
  font-size: .9rem;
}
.a-prihlaseni__pod a { color: var(--a-tlumeny); }
.a-prihlaseni__pod a:hover { color: var(--a-text); }
.a-prihlaseni__pod .a-tlacitko { width: 100%; }
.a-prihlaseni .a-hlaska { text-align: left; }

@media (max-width: 900px) {
  /* V kartách na mobilu se akce zarovnají doleva jako zbytek obsahu */
  .a-tabulka__akce { width: auto; text-align: left; }
  .a-akce { justify-content: flex-start; margin-top: .4rem; }
}

/* ---------- napojení na menicka.cz ---------- */

.a-zdroj { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.a-zdroj .a-prepinac { font-size: 1rem; }

.a-stav-napojeni { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--a-cara); }

.a-fakta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 1rem; margin: 0; }
.a-fakta dt {
  font-size: .78rem; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: var(--a-tlumeny); margin-bottom: .2rem;
}
.a-fakta dd { margin: 0; font-size: .98rem; }

.a-nahled-menu { margin-top: 1.25rem; border-top: 1px solid var(--a-cara); padding-top: 1rem; }
.a-nahled-menu > summary {
  cursor: pointer; font-size: .9rem; font-weight: 600; color: var(--a-tlumeny);
}
.a-nahled-menu > summary:hover { color: var(--a-text); }
.a-nahled-menu .a-tabulka { margin-top: .75rem; font-size: .9rem; }

/* ---------- odznak s počtem v menu ---------- */
.a-menu__odznak {
  margin-left: auto;
  min-width: 1.4rem;
  padding: .05rem .45rem;
  border-radius: 20px;
  background: var(--a-cervena);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
}

/* ---------- poptávky ---------- */
.a-poptavky { display: flex; flex-direction: column; gap: .9rem; }
.a-poptavka {
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--a-cara);
  border-left: 4px solid var(--a-zelena);
  border-radius: var(--a-radius);
  background: #fff;
}
.a-poptavka.je-vyrizena { border-left-color: var(--a-cara); background: var(--a-podklad); opacity: .85; }
.a-poptavka__hlava { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: .9rem; }
.a-poptavka__hlava b { display: block; font-size: 1.05rem; }
.a-poptavka__hlava span { font-size: .87rem; color: var(--a-tlumeny); }
.a-poptavka__zprava {
  margin: .9rem 0 0;
  padding: .8rem 1rem;
  border-radius: 8px;
  background: var(--a-podklad);
  white-space: normal;
}
.a-poptavka__akce { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }

/* Texty na webu — zaškrtávátko pro návrat k původnímu znění */
.a-prepinac--male { margin-top: .35rem; font-size: .85rem; color: var(--a-tlumeny); }
.a-prepinac--male input { width: 16px; height: 16px; }

/* Přehled — web ještě není zveřejněný */
.a-karta--zverejneni { border-left: 4px solid var(--a-cervena); }
.a-nahled-kod {
  display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap;
  margin: 1rem 0 1.25rem; padding: 1rem 1.25rem;
  border: 1px dashed var(--a-cara); border-radius: var(--a-radius);
}
.a-nahled-kod__popisek { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--a-tlumeny); }
.a-nahled-kod__kod { font-size: 1.6rem; letter-spacing: .18em; font-variant-numeric: tabular-nums; }
.a-nahled-kod .a-popis { margin: 0; flex: 1; min-width: 16rem; }
.a-nahled-kod code { word-break: break-all; }

/* Uživatelé — chybějící údaj */
.a-tlumene { color: var(--a-tlumeny); }
