/* NK MegaMenu: okresy 1.1.3. Izolované styly včetně vlastního dropdownu. */
.nkmm-panel .nkmm-panel__inner {
  max-height: 80vh;
  max-height: 80dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* Křížek má vyhrazený samostatný řádek; nekoliduje s obsahem. */
.nkmm-panel .nkmm-panel__toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 53px;
  padding: 6px clamp(12px, 2vw, 26px) 0;
}
.nkmm-panel .nkmm-panel__toolbar .nkmm-close {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 7px;
  box-shadow: none;
  color: #142d44;
  font: normal 39px/1 Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}
.nkmm-panel .nkmm-panel__toolbar .nkmm-close:hover { background: #f0f4f8; }
.nkmm-panel .nkmm-panel__toolbar .nkmm-close:focus-visible {
  outline: 2px solid #00427a;
  outline-offset: 2px;
}
.nkmm-panel .nkmm-content { padding-top: 9px; }

.nkmm-panel .nkmm-district-picker {
  box-sizing: border-box;
  margin: 0 0 22px;
  padding: 23px 25px 19px;
  border: 1px solid #dce3eb;
  border-radius: 8px;
  background: #f6f8fb;
  color: #193147;
  font: 400 15px/1.45 'Lato', Arial, sans-serif;
}
.nkmm-district-picker *, .nkmm-district-picker *::before, .nkmm-district-picker *::after { box-sizing: border-box; }
.nkmm-district-picker [hidden] { display: none !important; }
.nkmm-panel .nkmm-district-picker__title {
  margin: 0 0 3px;
  padding: 0;
  border: 0;
  color: #00427a;
  font: 700 21px/1.3 'Lato', Arial, sans-serif;
  text-transform: none;
}
.nkmm-panel .nkmm-district-picker__heading p { margin: 0 0 18px; color: #586d80; font-size: 14px; }
.nkmm-panel .nkmm-district-picker__search-field { margin-bottom: 17px; }
.nkmm-panel .nkmm-district-picker__search-field > label {
  display: block;
  margin-bottom: 7px;
  color: #293f52;
  font-size: 13px;
  font-weight: 700;
}
.nkmm-district-picker__search-wrap { position: relative; }
.nkmm-district-picker__search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #637c92;
}
.nkmm-panel .nkmm-district-picker__search-wrap input[type="search"] {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 10px 45px 10px 44px;
  border: 1px solid #bccad7;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
  color: #193147;
  font: 400 15px/1.35 'Lato', Arial, sans-serif;
  appearance: none;
  -webkit-appearance: none;
}
.nkmm-panel .nkmm-district-picker__search-wrap input[type="search"]:focus {
  border-color: #00427a;
  outline: 2px solid rgba(0,66,122,.17);
  outline-offset: 0;
}
.nkmm-district-picker__search-wrap input[type="search"]::-webkit-search-cancel-button { display: none; }
.nkmm-panel .nkmm-district-picker__search-clear {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #526577;
  font: 25px/1 Arial, sans-serif;
  cursor: pointer;
}
.nkmm-panel .nkmm-district-picker__search-clear:hover { background: #e8eef4; }
.nkmm-panel .nkmm-district-picker__browse { border-top: 1px solid #e0e6ed; padding-top: 16px; }
.nkmm-district-picker__browse-label { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.nkmm-district-picker__browse-title { display: flex; align-items: center; gap: 8px; color: #20394e; font-size: 14px; font-weight: 700; }
.nkmm-district-picker__browse-title svg { flex: 0 0 auto; color: #547189; }
.nkmm-district-picker__region-control { position: relative; width: min(100%, 248px); }
.nkmm-district-picker__region-control > label.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
.nkmm-panel .nkmm-district-picker__region-control select {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 43px;
  min-height: 43px;
  margin: 0;
  padding: 8px 11px;
  border: 1px solid #bccad7;
  border-radius: 7px;
  background: #fff;
  color: #173b55;
  font: 600 14px/1.35 'Lato', Arial, sans-serif;
}
/* V JS režimu nahrazuje native select přístupný vlastní dropdown. */
.nkmm-district-picker__region-control.is-enhanced > select { display: none !important; }
.nkmm-district-picker__dropdown { position: relative; width: 100%; }
.nkmm-panel .nkmm-district-picker__dropdown-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 43px;
  margin: 0;
  padding: 9px 13px;
  border: 1px solid #bccad7;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
  color: #00427a;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  font: 700 14px/1.3 'Lato', Arial, sans-serif;
  cursor: pointer;
}
.nkmm-panel .nkmm-district-picker__dropdown-button:hover { border-color: #769ebc; background: #fff; }
.nkmm-panel .nkmm-district-picker__dropdown-button:focus-visible { outline: 2px solid #00427a; outline-offset: 2px; }
.nkmm-district-picker__chevron {
  display: block;
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-top: -4px;
  border-right: 2px solid #577184;
  border-bottom: 2px solid #577184;
  transform: rotate(45deg);
  transition: transform .18s ease, margin .18s ease;
}
.nkmm-district-picker__dropdown.is-open .nkmm-district-picker__chevron { transform: rotate(225deg); margin-top: 5px; }
.nkmm-district-picker__dropdown-list {
  position: absolute;
  z-index: 30;
  top: calc(100% + 5px);
  right: 0;
  left: 0;
  max-height: 260px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 5px;
  border: 1px solid #c7d5e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 9px 25px rgba(22,46,68,.18);
}
.nkmm-panel .nkmm-district-picker__option {
  display: block;
  width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 8px 12px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  box-shadow: none;
  color: #20394e;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  font: 400 14px/1.3 'Lato', Arial, sans-serif;
  cursor: pointer;
}
.nkmm-panel .nkmm-district-picker__option:hover,
.nkmm-panel .nkmm-district-picker__option:focus-visible { background: #edf4fa; color: #00427a; outline: none; }
.nkmm-panel .nkmm-district-picker__option[aria-selected="true"] {
  background: #e5eff8;
  color: #00427a;
  font-weight: 700;
}
.nkmm-panel .nkmm-district-picker__option[aria-selected="true"]::after { content: '✓'; float: right; color: #00427a; }
.nkmm-district-picker__results { margin-top: 13px; }
.nkmm-district-picker__group-header { display: none; }
.nkmm-district-picker.is-searching .nkmm-district-picker__group-header { display: block; margin: 14px 0 8px; color: #21384d; font-size: 14px; }
.nkmm-district-picker.is-searching .nkmm-district-picker__results { margin-top: 3px; }
.nkmm-district-picker__search-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 8px;
  padding-top: 14px;
  border-top: 1px solid #e0e6ed;
  color: #536a7d;
  font-size: 13px;
}
.nkmm-district-picker__search-summary strong { font-weight: 700; }
.nkmm-district-picker__links { display: flex; gap: 8px; flex-wrap: wrap; }
.nkmm-content .nkmm-district-picker__links a {
  display: inline-flex;
  align-items: center;
  min-height: 35px;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid #d3dee7;
  border-radius: 6px;
  background: #fff;
  color: #00427a !important;
  font-size: 14px;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease;
}
.nkmm-content .nkmm-district-picker__links a:hover { background: #e5f0fa; border-color: #85adc9; text-decoration: none; }
.nkmm-district-picker__footer { display: flex; justify-content: flex-end; margin-top: 11px; }
.nkmm-content .nkmm-district-picker__footer a {
  color: #00427a !important;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.nkmm-content .nkmm-district-picker__footer a:hover { color: #0064a6 !important; }
.nkmm-district-picker__empty { margin: 14px 0 0; color: #526577; font-size: 14px; }
@media (max-width: 781px) {
  .nkmm-panel .nkmm-panel__toolbar { height: 49px; padding-right: 12px; }
  .nkmm-panel .nkmm-content { padding-top: 5px; }
  .nkmm-panel .nkmm-district-picker { padding: 17px 15px 16px; margin-bottom: 15px; }
  .nkmm-district-picker__browse-label { align-items: stretch; }
  .nkmm-district-picker__browse-title { width: 100%; }
  .nkmm-district-picker__region-control { width: 100%; }
  .nkmm-district-picker__links { gap: 7px; }
  .nkmm-content .nkmm-district-picker__links a { min-height: 39px; }
}
@media (prefers-reduced-motion: reduce) {
  .nkmm-content .nkmm-district-picker__links a, .nkmm-district-picker__chevron { transition: none; }
}
