<style>
  /* Mapy / Tabulky mini-UI je na startu schované */
  .ev-mini-section-heading,
  #ev-map-mini-bar,
  .ev-mini-column,
  .ev-mini-top-row {
    display: none;
  }

  /* ============================================
     TLAČÍTKA – jednotný vzhled Načíst + Hledej
     ============================================ */
.ev-btn {
  padding: 0 22px;
  min-height: 42px;      /* místo height */
  min-width: 160px;      /* místo width */
  border-radius: 20px;
  border: none;
  background: #0070f3;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

  .ev-btn:hover {
    background: #0058c2;
  }

  #ev-kraje-root {
    margin-top: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  #ev-kraje-map-wrapper {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #fff;
    padding-bottom: 8px;
  }

  .ev-map-logo {
    position: absolute;
    right: 8px;
    bottom: 6px;
    z-index: 1000;
    display: inline-block;
  }

  .ev-map-logo img {
    height: 18px;
    display: block;
  }
  
#ev-brand-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
}

#ev-filter-znacka-search{
  padding: 7px 10px;
  border-radius: 6px;
  border: 1px solid #d0d7e2;
  font-size: 14px;
  background:#fff;
}

  /* ============================================
     HORNÍ MINI ŘÁDEK – Mapy + Tabulky (starý)
     – kompletně skrytý (nahrazen novým UI)
     ============================================ */
  .ev-mini-top-row {
    position: absolute;
    top: 10px;
    right: 16px;
    z-index: 500;
    display: none;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
  }

  .ev-mini-label {
    font-size: 11px;
    font-weight: 600;
    color: #4b5563;
    margin-right: 4px;
  }

  .ev-mini-group {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }

  /* mini „pill“ tlačítka – společná pro mapy i tabulky */
  .ev-map-mini {
    min-width: auto;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e5edff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-shadow: none;
    transition:
      transform 0.2s ease,
      box-shadow 0.2s ease,
      opacity 0.2s ease,
      background 0.2s ease;
  }

  .ev-map-mini span.ev-map-mini-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 130px;
  }

  .ev-map-mini:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  }

  .ev-map-mini.is-active {
    background: #1d4ed8;
    color: #fff;
  }

  .ev-map-mini-icon {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    border: none;
    background: currentColor;
  }

  /* původní bar chování, aby JS fungoval */
  #ev-map-mini-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  #ev-map-mini-bar:empty {
    display: none;
  }

  @media (max-width: 768px) {
    .ev-mini-top-row {
      top: 8px;
      right: 8px;
      padding: 4px 8px;
    }
    .ev-map-mini {
      min-width: 120px;
    }
  }

  /* ============================================
     FILTRY + VYHLEDÁVÁNÍ
     ============================================ */
   .ev-filter {
     display: grid;
     grid-template-columns: 1fr;     /* 1 sloupec přes celou šířku */
     gap: 16px;
     align-items: start;             /* lepší pro bloky pod sebou */
     margin-top: 12px;
     margin-bottom: 12px;
   }

  .ev-filter-left {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    align-items: end;
    background: #f7f9fc;
    border-radius: 8px;
    padding: 8px 12px;
    width: 100%;
    box-sizing: border-box;
  }

  .ev-filter-block {
    grid-column: span 2;
    background: transparent;
    padding: 0;
  }

  .ev-filter-left .ev-btn {
    grid-column: span 1;
    justify-content: center;
  }

  .ev-filter-block label {
    display: block;
    font-size: 13px;
    color: #555;
    margin-bottom: 4px;
  }

  .ev-filter-block > div {
    display: flex;
    gap: 8px;
  }

  .ev-filter-block select {
    flex: 1 1 0;
    min-width: 0;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid #d0d7e2;
    font-size: 14px;
  }

  .ev-filter-right {
    display: block;
  }

  .ev-filter-search-inline {
    position: relative;
    background: #f7f9fc;
    border-radius: 8px;
    padding: 8px 12px;
    width: 100%;
  }

  /* ================================
   *  VYHLEDÁVÁNÍ FIREM PODLE NÁZVU
   * ================================ */
  #ev-firmy-search { margin: 0; }

  .ev-firmy-search-inner {
    max-width: none;
    margin: 0;
  }

  .ev-firmy-search-label {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
    color: #4b5563;
  }

  .ev-firmy-search-row {
    display: flex;
    gap: 8px;
  }

  .ev-firmy-search-ghostwrap {
    position: relative;
    flex: 1 1 auto;
  }

  #ev-firmy-search-ghost {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 0 12px;
    font-size: 14px;
    color: #b0b0b0;
    pointer-events: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #ev-firmy-search-input {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px;
    font-size: 14px;
    border-radius: 6px;
    border: 1px solid #d1d5db;
    background-color: #ffffff;
    color: #111827;
  }

  #ev-firmy-search-suggestions{
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    margin: 0;
    padding: 0;
    list-style: none;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    max-height: 220px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
    display: none;
    z-index: 20;
  }

  #ev-firmy-search-suggestions li {
    padding: 6px 10px;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 6px;
  }

  #ev-firmy-search-suggestions li span.ev-firmy-name {
    font-weight: 500;
  }

  #ev-firmy-search-suggestions li span.ev-firmy-meta {
    font-size: 12px;
    color: #6b7280;
  }

  #ev-firmy-search-suggestions li:hover {
    background: #f3f4f6;
  }

  /* ============================================
     ZBYTEK PŮVODNÍHO STYLU
     ============================================ */

  #ev-kraje-error {
    color: #b91c1c;
    font-size: 14px;
    margin-bottom: 10px;
  }

  #ev-kraje-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #007bff;
  }

  .ev-table-wrapper {
    margin-top: 8px;
    scroll-margin-top: 120px;
  }

  /* když je sekce sbalená (collapsed), nechceme pod filtry žádný řádek */
  .ev-table-wrapper.collapsed {
    display: none;
  }

  .ev-table-scroll {
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid #eee;
  }

  table.ev-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    min-width: 780px;
  }

  table.ev-table th,
  table.ev-table td {
    font-size: 13px;
    padding: 4px 8px;
    border: 1px solid #eee;
    text-align: right;
    width: 70px;
    box-sizing: border-box;
  }

  table.ev-table th {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
    text-overflow: unset;
    overflow: visible;
  }

  table.ev-table td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  table.ev-table th:first-child,
  table.ev-table td:first-child {
    text-align: left;
    width: 220px;
    white-space: nowrap;
  }

  .ev-row-hover {
    background: #e4edff !important;
  }

  .ev-row-selected {
    background: #c1d6ff !important;
    font-weight: 600;
  }

  table.ev-table tbody tr {
    transition: background-color 0.15s ease;
  }





  .ev-month-nav {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
  }

  .ev-month-nav-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
  }

  .ev-month-nav-row button {
    padding: 4px 10px;
    border-radius: 14px;
    border: 1px solid #d0d7e2;
    background: #fff;
    cursor: pointer;
    font-size: 12px;
  }

  .ev-month-nav-row button:disabled {
    opacity: 0.4;
    cursor: default;
  }

  /* wrapper roků – vystředit */
  .ev-month-years {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 6px;
  }

  .ev-month-years > span {
    margin-right: 4px;
  }

  /* základní vzhled všech ročních tlačítek (kraje, okresy, reg. místa) */
  .ev-kraje-year-btn,
  .ev-okresy-year-btn,
  .ev-reg-year-btn {
    border: none;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    cursor: pointer;
    background: #e5f0ff;
    color: #111827;
  }

  .ev-kraje-year-btn.ev-active-year,
  .ev-okresy-year-btn.ev-active-year,
  .ev-reg-year-btn.ev-active-year {
    background: #0070f3;
    color: #ffffff;
  }

  table.ev-table tr.ev-total-row td {
    font-weight: 700;
    background: #eef2ff;
  }

  table.ev-table tr.ev-total-row:last-child td {
    border-bottom: none;
  }

  .ev-section-title {
    margin-top: 18px;
    margin-bottom: 0;
    font-size: 15px;
    font-weight: 600;
    padding: 8px 10px;
    border-radius: 8px 8px 0 0;
    background: #f7f9fc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }

  .ev-section-title span.ev-section-label {
    flex: 1;
  }

  .ev-section-title span.ev-section-arrow {
    margin-left: 8px;
    font-size: 11px;
    transition: transform 0.15s ease;
  }

  .ev-table-wrapper.collapsed .ev-section-title {
    background: #0070f3;
    color: #fff;
  }

  .ev-table-wrapper.collapsed .ev-section-title span.ev-section-arrow {
    transform: rotate(-90deg);
  }

  .ev-table-wrapper.collapsed .ev-table-scroll,
  .ev-table-wrapper.collapsed .ev-month-nav {
    display: none;
  }

  #ev-regmista-table th.ev-th-left,
  #ev-regmista-table td.ev-td-left {
    text-align: left;
  }

  #ev-firmy-table th.ev-th-left,
  #ev-firmy-table td.ev-td-left {
    text-align: left;
  }

  #ev-firmy-table th.ev-th-right,
  #ev-firmy-table td.ev-td-right {
    text-align: right;
  }

  .ev-th-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    white-space: nowrap;
  }

  .ev-sort-icons {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
  }

  .ev-sort-icon {
    font-size: 12px;
    line-height: 12px;
    cursor: pointer;
    opacity: 0.35;
    user-select: none;
  }

  .ev-sort-icon.active {
    opacity: 1;
    color: #2563eb;
  }

  .leaflet-tooltip.ev-city-label {
    background: #ffffff;
    border-radius: 4px;
    border: 1px solid rgba(0,0,0,0.25);
    box-shadow: 0 0 3px rgba(0,0,0,0.15);
    font-size: 11px;
    font-weight: 600;
    color: #333;
    padding: 2px 4px;
  }

  #ev-regmista-table tbody tr td { cursor: pointer; }

  #ev-loading-overlay {
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.75);
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    z-index: 9999;
  }

  /* ============================================
     MAPY – layout
     ============================================ */
  #ev-kraje-maps-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  #ev-kraje-maps-main {
    position: relative;
  }

  .ev-map {
    width: 100%;
    height: clamp(220px, 35vw, 420px);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e1e4eb;
    background: #ffffff;
    position: relative;
  }

  .ev-map-main {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.98);
    transform-origin: top center;
    transition:
      opacity 0.6s ease,
      transform 0.6s ease,
      height 0.65s ease;
  }

  .ev-map-main.ev-map-main--active {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
  }

  .ev-map-main.ev-map-main--shrinking {
    height: 60px;
    border-radius: 14px;
    transform: translateY(-16px) scale(0.6);
    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
  }

  .ev-map-main.ev-map-main--hidden {
    opacity: 0;
    height: 0;
    pointer-events: none;
    border: none;
    transform: translateY(-20px) scale(0.5);
    box-shadow: none;
  }

  /* HLAVIČKA MAP + TABULEK */

  /* nový horní řádek pod EL-TECH Dashboard – na startu skrytý */
  .ev-main-toggle-row {
    margin-top: 4px;
    margin-bottom: 8px;
    display: none;          /* skryté, JS může přepsat */
    align-items: center;
    gap: 10px;
  }

  /* spodní hlavička "Tabulky" nad sekcemi – na startu skrytá */
  #ev-tables-header {
    margin-top: 4px;
    margin-bottom: 8px;
    display: none;
    align-items: center;
    gap: 10px;
  }

  /* starý header "Mapy" úplně schováme – nepoužívá se */
  #ev-map-header,
  .ev-map-header-row {
    display: none !important;
  }

  .ev-map-header-label,
  .ev-tables-header-label {
    font-size: 14px;
    font-weight: 600;
    color: #4b5563;
  }

  /* menší varianta modrého tlačítka */
  .ev-btn.ev-btn--small {
    height: 32px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 13px;
  }

  /* modré „pilulky“ pro Kraj / Okres / Reg. místo */
  .ev-table-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    height: 32px;
    border-radius: 999px;
    border: none;
    background: #0070f3;
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
  }

  .ev-table-pill:hover {
    background: #0058c2;
  }

  @media (max-width: 768px) {
    #ev-kraje-maps-row { gap: 8px; }
    #ev-kraje-map-wrapper {
      position: static;
      top: auto;
    }
    .ev-map {
      height: 260px;
    }
    .ev-table-wrapper {
      margin-top: 12px;
    }
  }

  /* Přepínač tabulky krajů nad mapou */
  #ev-kraje-table-toggle {
    margin-bottom: 6px;
    display: none;              /* na startu skrytý, zobrazí se až po načtení dat */
    padding: 4px 12px;
    border-radius: 999px;
    border: 1px solid #d0d7e2;
    background: rgba(255,255,255,0.96);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15,23,42,0.12);
  }

  #ev-kraje-table-toggle:hover {
    background: #e5edff;
  }

  /* detail firem – šířky sloupců */
  table.ev-table[data-table="firmy-regmisto"] {
    width: 100%;
    table-layout: fixed;
    min-width: 0;
  }

  table.ev-table[data-table="firmy-regmisto"] th {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
    hyphens: none;
  }

  table.ev-table[data-table="firmy-regmisto"] th .ev-th-inner {
    white-space: normal;
    flex-wrap: wrap;
  }

  table.ev-table[data-table="firmy-regmisto"] td:nth-child(2),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(3),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(5),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(7) {
    white-space: normal;
    overflow-wrap: break-word;
  }

  table.ev-table[data-table="firmy-regmisto"] td:nth-child(1),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(4),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(6),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(8) {
    white-space: nowrap;
  }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(1),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(1) { width: 5%; }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(2),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(2) { width: 22%; }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(3),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(3) { width: 20%; }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(4),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(4) { width: 8%; }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(5),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(5) { width: 15%; }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(6),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(6) { width: 10%; }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(7),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(7) { width: 14%; }

  table.ev-table[data-table="firmy-regmisto"] th:nth-child(8),
  table.ev-table[data-table="firmy-regmisto"] td:nth-child(8) { width: 6%; }

  #ev-firmy-section .ev-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 6px;
  }

  #ev-firmy-section .ev-table-header-right {
    display: flex;
    align-items: center;
    gap: 16px;
  }

  #ev-firmy-section .ev-table-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    margin: 0;
  }

  #ev-firmy-section .ev-table-controls select {
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    font-size: 13px;
  }

  #ev-firmy-section .ev-pagination {
    margin-top: 6px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
    font-size: 13px;
  }

  #ev-firmy-section .ev-pagination div {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  #ev-firmy-section .ev-pagination button {
    padding: 6px 14px;
    border-radius: 999px;
    border: none;
    background: #0070f3;
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
    font-size: 13px;
  }

  #ev-firmy-section .ev-pagination button:hover:not(:disabled) {
    background: #0058c2;
  }

  #ev-firmy-section .ev-pagination button:disabled {
    opacity: 0.5;
    cursor: default;
  }

  #ev-regmista-table .ev-col-celkem {
    font-weight: 700 !important;
    background: #f3f6ff !important;
  }

  /* spodní sekce Registračních míst je na startu skrytá,
     zobrazí se až když jsou k dispozici data */
  #ev-regmista-section {
    display: none;
  }

  .ev-cell-hoverable {
    cursor: pointer;
    transition: background-color 0.12s ease, box-shadow 0.12s ease;
  }

  .ev-cell-hoverable:hover {
    background: #a9c4ff !important;
    box-shadow: inset 0 0 0 1px #6f97ff;
  }

/* Export tlačítka – stejné jako jinde */
#ev-firmy-section .ev-export-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

#ev-firmy-section .ev-export-controls button {
  padding: 6px 14px;
  border-radius: 999px;
  border: none;
  background: #0070f3;
  color: #ffffff;
  font-weight: 600;
  cursor: pointer;
  font-size: 13px;
}

#ev-firmy-section .ev-export-controls button:hover {
  background: #0058c2;
}


/* === Celkový řádek "Celkem" ======================== */

/* základní vzhled řádku Celkem */
table.ev-table tr.ev-total-row td,
table.ev-table tr.ev-total-row th {
  background-color: #e8f0ff !important;
  font-weight: 700;
}

/* hover na CELÝ ŘÁDEK – když najedeš kamkoliv,
   ztmaví se celý pruh řádku */
table.ev-table tr.ev-total-row:hover td,
table.ev-table tr.ev-total-row:hover th {
  background-color: #d6e4ff !important;
}

/* měsíční buňky v řádku Celkem — stejné chování jako ostatní buňky tabulky */
table.ev-table tr.ev-total-row td.ev-cell-hoverable:hover {
  background: #a9c4ff !important;
  box-shadow: inset 0 0 0 1px #6f97ff;
}

/* celý řádek je kliknutelný (stejně jako dnes) */
table.ev-table tr.ev-total-row {
  cursor: pointer;
}



  /* ============================================
   NADPISY „Mapy“ a „Tabulky“ – schovat
   ============================================ */

  /* samotné textové labely Mapy / Tabulky */
  .ev-main-toggle-label,
  .ev-tables-header-label {
    display: none !important;
  }

  /* pro jistotu i kontejnery */
  #ev-main-toggle-row,
  #ev-tables-header {
    display: none !important;
  }
/* ===============================
 *  Rozdělené rozložení pro mapu okresů
 * =============================== */

#ev-okresy-side-panel {
  display: none;
}

/* panel u mapy okresů – dvě tlačítka pod sebou */
#ev-kraje-maps-main.ev-okresy-split {
  display: flex;
  align-items: stretch;
  gap: 16px;
}

/* v režimu okresů neukazujeme mapu krajů, jen okresy + panel */
#ev-kraje-maps-main.ev-okresy-split #ev-kraje-map-kraje {
  display: none;
}

/* mapa okresů zabere zbytek šířky */
#ev-kraje-maps-main.ev-okresy-split #ev-kraje-map-okresy {
  flex: 1 1 auto;
  width: auto;
}

/* pravý panel – šířka jako tlačítko Vyhledej */
#ev-kraje-maps-main.ev-okresy-split #ev-okresy-side-panel {
  display: flex;
  width: 160px;
  flex: 0 0 160px;
  align-items: flex-start;
  justify-content: center;
  padding-top: 4px;
}

#ev-okresy-side-panel-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;           /* mezera mezi tlačítky */
}

/* Pravý sloupec – pilulky: Kraje / Kraj / Okres / Reg. místo */
#ev-show-kraje-btn,
#ev-current-kraj-btn,
#ev-current-okres-btn,
#ev-current-regmisto-btn {
  width: 210px;              /* trochu širší, ať se text tolik neláme */
  max-width: 100%;
  box-sizing: border-box;

  min-height: 42px;          /* minimální výška jako dřív, ale může růst */
  padding: 8px 16px;         /* víc místa nahoře/dole i po stranách */

  border-radius: 999px;      /* hezká „pilulka“ */
  font-size: 13px;           /* o kousek menší font, vypadá líp na více řádcích */
  font-weight: 700;

  display: flex;
  align-items: center;
  justify-content: center;

  white-space: normal;       /* povolit zalomení textu */
  text-align: center;
  line-height: 1.3;
}

/* Pokud má tlačítko větší výšku (např. 3 řádky), zvětšíme radius */
#ev-side-buttons button.ev-btn {
  border-radius: 20px;       /* výchozí */
}
/* větší tlačítka – automaticky detekujeme výšku a zvětšíme radius */
#ev-side-buttons button.ev-btn.tall-btn {
  border-radius: 10px;       /* uprav podle potřeby */
}

/* na začátku je kraj-button skrytý, ukáže se až po výběru okresu */
#ev-current-kraj-btn {
  display: none;
}

@media (max-width: 768px) {
  #ev-kraje-maps-main.ev-okresy-split {
    display: block;
  }
  #ev-kraje-maps-main.ev-okresy-split #ev-kraje-map-kraje {
    display: none;
  }
  #ev-kraje-maps-main.ev-okresy-split #ev-kraje-map-okresy {
    flex: none;
    width: 100%;
  }
  #ev-kraje-maps-main.ev-okresy-split #ev-okresy-side-panel {
    width: 100%;
    flex: none;
    margin-top: 8px;
    justify-content: flex-start;
  }
}
#ev-loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

#ev-loading-overlay.ev-loading-visible {
  display: flex;
}

#ev-brand-list{
  max-height: 320px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 8px; /* aby text nelezel pod scrollbar */
}
  
.ev-loading-box {
  background: #ffffff;
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 15px 35px rgba(15, 23, 42, 0.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 220px;
}

.ev-loading-circle {
  position: relative;
  width: 80px;
  height: 80px;
  margin-bottom: 10px;
}

.ev-loading-circle svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.ev-loading-circle circle.bg {
  fill: none;
  stroke: #e5e7eb;
  stroke-width: 6;
}

.ev-loading-circle circle.progress {
  fill: none;
  stroke: #0070f3;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-dasharray: 201;
  stroke-dashoffset: 201;
  transition: stroke-dashoffset 0.15s linear;
}

.ev-loading-percent {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  color: #0f172a;
}

.ev-loading-text {
  font-size: 14px;
  color: #4b5563;
  margin-top: 2px;
}
/* ---------- SCHOVAT PATIČKU DIVI NA TÉTO STRÁNCE ---------- */
footer#main-footer,
#main-footer,
#footer-bottom,
footer.et-l.et-l--footer {
  display: none !important;
}

.ev-filter-left{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
  background: #f7f9fc;
  border-radius: 8px;
  padding: 8px 12px;
  width: 100%;
  box-sizing: border-box;
}

/* nové single filtry (po 3 na řádek) */
.ev-filter-block--single{
  grid-column: span 2;
}

/* aby disabled select vypadal jasně */
.ev-filter-block select:disabled{
  opacity: .55;
  cursor: not-allowed;
}
/* --- A–Z panel pro značky --- */
.ev-az { margin-top: 8px; }
.ev-az-btn {
  width: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  cursor: pointer;
  text-align: left;
}
.ev-az-panel{
  margin-top: 8px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 10px;
  background: #fff;
}
.ev-az-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.ev-az-clear{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 6px 10px;
  background:#fff;
  cursor:pointer;
}
.ev-az-hint{ font-size: 12px; opacity: .7; }
.ev-az-grid{
  display:grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 6px;
}
.ev-az-letter{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 8px 0;
  background:#fff;
  cursor:pointer;
  font-weight: 600;
}
.ev-az-letter.is-on{
  border-color: rgba(0,0,0,.35);
  box-shadow: 0 0 0 2px rgba(0,0,0,.06) inset;
}
@media (max-width: 980px){
  .ev-az-grid{ grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
/* A–Z záložky pod mapou (výběr značky) */
.ev-brand-tabs-bar{
  margin: 10px 0 14px 0;
  padding: 10px 12px;
  background: #f7f9fc;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.06);

  display: flex;
  flex-direction: column;   /* nadpis + abeceda pod sebou */
  align-items: center;      /* vše na střed */
  text-align: center;
  gap: 8px;
}

/* nový nadpis (musí existovat v HTML jako .ev-brand-tabs-heading) */
.ev-brand-tabs-heading{
  font-weight: 800;
  opacity: .85;
}

/* samotná A–Z řada */
.ev-brand-tabs{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;              /* větší mezery mezi písmeny */
  padding: 8px 0;
}

/* jednotlivé písmeno */
.ev-brand-tab{
  border: 1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius: 12px;
  padding: 7px 10px;
  cursor:pointer;
  font-weight: 800;
  min-width: 38px;
  text-align:center;
}

/* vybrané písmeno (modrá) */
.ev-brand-tab.is-on{
  background: var(--ev-blue, #1e66ff);
  border-color: var(--ev-blue, #1e66ff);
  color: #fff;
  margin: 2px;
  box-shadow: none;
}

/* info o vybrané značce */
.ev-brand-picked{
  font-weight: 700;
  opacity: .8;
  padding: 6px 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  display: inline-block;
}
  
/* seznam značek – udělej z toho přehlednou mřížku */
#ev-brand-list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 6px 14px;
  padding: 10px 0;
}

/* jednotlivá značka jako „řádek“ (ať se to nelepí) */
.ev-brand-link{
  display: block;
  padding: 6px 8px;
  border-radius: 10px;
  text-decoration: none;
}
.ev-brand-link:hover{
  background: rgba(0,0,0,.04);
}
/* ===============================
   MULTI VÝBĚR ZNAČEK (stejné jako A-Z)
=============================== */

.ev-brand-letters{
  background:#f1f3f6;
  padding:14px 16px;
  border-radius:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ev-brand-pill{
  padding:6px 12px;
  border-radius:10px;
  border:1px solid #d5dae3;
  background:#fff;
  font-size:13px;
  cursor:pointer;
  user-select:none;
}

.ev-brand-pill:hover{
  background:#eef3ff;
}

.ev-brand-pill.active{
  background:#2563eb;
  color:#fff;
  border-color:#2563eb;
}

.ev-brand-selected{
  margin-top:6px;
  font-size:13px;
  color:#555;
}
</style>
