/* ===========================
   БАННЕР (выбранный адрес)
   =========================== */
.nybm-pickup-banner {
  border: 1px solid #e7ebf0;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 16px 0;
  background: #fff;
  box-shadow: 0 6px 16px rgba(2, 8, 20, .06);
}

.nybm-pickup-title {
  font-size: 22px;
  margin-right: 12px;
}

.nybm-pickup-addr {
  color: #2a3546;
}

.nybm-change {
  margin-left: auto !important;
  color: #92BF29 !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  margin-top: 8px !important;
}

.nybm-pickup-banner {
  margin-bottom: 12px;
}

.pickup-name {
  font-weight: 700;
  font-size: 14px;
  color: #151515;
  margin-bottom: 4px;
}

.pickup-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  /* чтобы можно было зафиксировать бейдж */
  padding-right: 72px;
  /* запас под бейдж справа, как в карточках */
}

.pickup-head .nybm-card__type-badge {
  flex-shrink: 0;
}

.pickup-meta {
  font-size: 14px;
  color: #151515;
  margin-bottom: 2px;
}

.pickup-phone {
  font-size: 14px;
  color: #92BF29;
  font-weight: 700;
  margin-bottom: 6px;
}

.pickup-hours {
  font-size: 13px;
  color: #777;
  margin-top: 6px;
}

/* ===========================
   КНОПКА ОТКРЫТИЯ (Choose clinic)
   =========================== */
.nybm-open {
  padding: 16px 32px !important;
  border-radius: 6px !important;
  background: #151515 !important;
  color: #fff !important;
  font-weight: 400 !important;
  border: none;
  cursor: pointer;
  font-size: 14px !important;
}

/* ===========================
   МОДАЛЬНОЕ ОКНО
   =========================== */
.nybm-modal[aria-hidden="true"] {
  display: none;
}

.nybm-modal {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 20, .6);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.nybm-lock {
  overflow: hidden;
}

.nybm-dialog {
  width: min(760px, 90vw);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 30px 60px rgba(2, 8, 20, .35);
  overflow: hidden;
}

.nybm-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid #eef2f7;
}

.nybm-close {
  background: transparent !important;
  border: none;
  padding: 16px !important;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  color: #151515 !important;
  transition: color .2s ease;
}

.nybm-search {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
}

.nybm-input {
  flex: 1 !important;
  border-radius: 6px !important;
  background: #fff !important;
  font-size: 14px !important;
  border: 1px solid #eef0f3 !important;
}

.nybm-input:focus {
  outline: none;
  /* убрать синий outline */
  border-color: #92BF29;
  /* можно задать свой цвет границы */
  box-shadow: none;
  /* убрать подсветку в Chrome/Safari */
}

.nybm-go {
  padding: 8px 12px !important;
  border-radius: 6px !important;
  background: #92BF29 !important;
  color: #fff;
  border: none;
  font-weight: 400 !important;
  cursor: pointer;
  font-size: 14px !important;
}

.nybm-go:hover {
  background: #151515 !important;
  color: #fff !important;
}

.nybm-results {
  max-height: 60vh;
  overflow: auto;
  padding: 6px 12px 16px;
}

/* ===========================
   КАРТОЧКА ЛОКАЦИИ В ПОИСКЕ
   =========================== */
.nybm-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  margin-top: 10px;
  background: #fff;
  font-size: 14px !important;
}

/* Заголовок + бейдж в попапе */
.nybm-item-head {
  display: flex;
  /* было inline-flex */
  justify-content: flex-start;
  /* можно оставить space-between, но нам не критично */
  align-items: flex-start;
  gap: 8px;
  position: relative;
  /* чтобы прижать бейдж к углу */
  padding-right: 72px;
  /* запас под бейдж справа */
}

.nybm-item-head .nybm-card__type-badge {
  position: absolute;
  top: 0;
  right: 0;
  flex-shrink: 0;
}

.nybm-title {
  font-weight: 800;
  margin-bottom: 4px;
}

.nybm-addr {
  color: #151515;
}

.nybm-sub {
  color: #92BF29;
  font-size: 14px;
  margin-top: 2px;
  font-weight: 600;
}

.nybm-mi {
  margin-top: 6px;
  color: #151515;
  font-weight: 500;
}

.nybm-empty,
.nybm-loading {
  padding: 16px;
  color: #6c7b90;
}

/* ===========================
   КНОПКА "Select"
   =========================== */
.nybm-item .nybm-select {
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px !important;

  font-weight: 400;
  background: #fff;
  color: #92BF29;
  border: 1px solid #92BF29;
}

.nybm-select:hover {
  background: #92BF29 !important;
  color: #fff !important;
  border: 1px solid #92BF29 !important;
}

/* ===========================
   ОБЩИЕ ОТСТУПЫ
   =========================== */

/* Мобильная версия: кнопка Select внизу */
@media (max-width: 640px) {
  .nybm-item {
    flex-direction: column;
    align-items: flex-start;
    /* выравнивание текста по левому краю */
  }

  .nybm-item .nybm-select {
    align-self: stretch;
    /* кнопка на всю ширину */
    margin-top: 10px;
    /* отступ сверху от текста */
    text-align: center;
  }
}

/* Контейнер фильтров */
.nybm-locations-filters {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 24px;
}

.nybm-locations-filters input,
.nybm-locations-filters select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #cfd7e3;
  border-radius: 10px;
  font-size: 14px;
}

/* Сетка карточек */
.nybm-locations-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-top: 8px;
}


/* Заголовок + бейдж */
.nybm-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.nybm-card-badge {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  font-weight: 500;
}

.nybm-card-badge.clinic {
  background: #e8f9e0;
  color: #256a00;
}

.nybm-card-badge.lab {
  background: #e0f0ff;
  color: #004b8d;
}

.nybm-card-badge.office {
  background: #f0f0f0;
  color: #444;
}

/* Адрес и описание */
.nybm-location-card p {
  margin: 6px 0;
  font-size: 14px;
  color: #555;
}

/* Список инфо */

.nybm-card-info div {
  display: flex;
  align-items: center;
}

/* Кнопки */
.nybm-card-actions {
  display: flex;
  gap: 8px;
  width: 100%;
}

.nybm-card-actions a {
  flex: 1;
  text-align: center;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s ease;
}

.nybm-card-actions a.directions {
  border: 1px solid #cfd7e3;
  color: #333;
}

.nybm-card-actions a.directions:hover {
  background: #f9fafb;
}

.nybm-card-actions a.book {
  background: #7CDA24;
  color: #fff;
}

.nybm-card-actions a.book:hover {
  opacity: 0.9;
  background: #92BF29;
  color: white;
}


/* ===========================
   Фильтрация локаций
   =========================== */

.nybm-filters-card {
  --brand: #92BF29;
  --ring: rgba(146, 191, 41, .35);
  background: #fff;
  border: 1px solid #e6eed8;
  border-radius: 12px;
  padding: 24px 24px 12px 24px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

/* label + caption */
.nybm-label>span,
.nybm-field>span {
  width: 100% !important;
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #151515;
}

.nybm-label,
.nybm-field {
  width: 100% !important;
  display: block;

  font-size: 14px;
  font-weight: 600;
  color: #151515;
}

/* search */
.nybm-search-wrap {
  position: relative;
}

#nybm-search {
  width: 100% !important;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 6px;
  padding: 14px 44px 14px 16px;
  font-size: 14px;
  outline: none;
  box-shadow: 0 1px 0 #f3f4f6 inset;
}

#nybm-search:focus {
  border-color: var(--brand);
}

.nybm-search-icon {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  color: #9ca3af;
  pointer-events: none;
}

/* row: county / type / button */
.nybm-filters-row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 8px;
}

.nybm-field select {
  width: 100%;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 14px;
  outline: none;
}

.nybm-field select:focus {
  border-color: var(--brand);
}

/* Show button */
.nybm-btn-wrap {
  align-self: end;
}

.nybm-show-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 32px !important;
  border-radius: 6px !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #fff !important;
  background: var(--brand) !important;
  border: 1px solid var(--brand) !important;
  cursor: pointer !important;
}

.nybm-show-btn:hover {
  background: #151515 !important;
  border-color: #151515 !important
}

.nybm-tip {
  margin-top: 12px !important;
  font-size: 14px !important;
  color: #6b7280 !important;
}

/* mobile */
@media (max-width: 720px) {
  .nybm-filters-row {
    grid-template-columns: 1fr;
  }

  .nybm-show-btn {
    width: 100%;
    justify-content: center;
  }
}


/* ===========================
   КАРТОЧКА ЛОКАЦИИ вывод
   =========================== */

/* Анимация маркеров */
.nybm-pin,
.gm-style .nybm-pin {
  transition: transform .25s ease, filter .25s ease;
  transform-origin: center bottom;
  cursor: pointer;
}

.nybm-pin:hover,
.gm-style .nybm-pin:hover {
  transform: translateY(-3px) scale(1.05);
  filter: drop-shadow(0 0 6px rgba(146, 191, 41, 0.35));
}

.nybm-active-pin,
.gm-style .nybm-active-pin {
  transform: scale(1.1);
  filter: drop-shadow(0 0 16px rgba(146, 191, 41, 0.6));
  animation: nybm-pop .3s ease-out;
}

@keyframes nybm-pop {
  0% {
    transform: scale(0.9);
    filter: drop-shadow(0 0 0 rgba(146, 191, 41, 0));
  }

  60% {
    transform: scale(1.12);
    filter: drop-shadow(0 0 18px rgba(146, 191, 41, 0.45));
  }

  100% {
    transform: scale(1.1);
    filter: drop-shadow(0 0 16px rgba(146, 191, 41, 0.6));
  }
}

.nybm-location-card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
  transition: box-shadow .2s ease, transform .08s ease;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  /* или 12/16, как тебе визуально больше понравится */
}

/* Ховер-анимация для карточек грида, как у списка на карте */
.nybm-location-card:hover {
  box-shadow: 0 6px 18px rgba(16, 24, 40, .06);
  transform: translateY(-1px);
}

#nybm-cards {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.nybm-card.wide {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.nybm-card__thumb-wide {
  width: 100%;
  height: 180px !important;
  object-fit: cover;
  object-position: center;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  background-color: #f5f5f5;
  display: block;
}

.nybm-card__body-wide {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}



.nybm-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.nybm-card-head h3 {
  margin: 0 0 6px 0;
  font-size: 15px;
  font-weight: 700;
  color: #151515;
}

.nybm-card-head p {
  margin: 0;
  font-size: 14px;
  color: #151515;
}

.nybm-card-badge {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  font-weight: 400;
  background: #e8f9e0;
  color: #256a00;
}

.nybm-card-info {
  font-size: 14px;
  color: #777;
}

.nybm-card-info a {
  color: #92BF29;
  text-decoration: none;
}

.nybm-card-actions {
  display: flex;
  gap: 8px;
}

.nybm-card-actions a {
  flex: 1;
  text-align: center;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  transition: all .2s ease;
}

.nybm-card-actions a.directions {
  border: 1px solid #cfd7e3;
  color: #151515;
  font-weight: 400;
}

.nybm-card-actions a.book {
  font-weight: 400;
  background: #fff;
  color: #92BF29;
  border: 1px solid #92BF29;
}

.nybm-mapui {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 16px;
  align-items: stretch;
  height: 600px;
  /* фиксируем общую высоту блока */
  max-height: 80vh;
  /* адаптивно ограничиваем по окну */
}

.nybm-mapui__map {
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
}

.nybm-mapui__panel {
  background: #fff;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #eef0f3;
  height: 100%;
}

.nybm-mapui__list {
  overflow-y: auto;
  flex: 1;
  padding: 8px;
}

.nybm-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid #f0f2f5;
  margin: 8px;
  background: #fff;
  cursor: pointer;
  transition: box-shadow .2s, transform .08s;
}

.nybm-card:hover {
  box-shadow: 0 6px 18px rgba(16, 24, 40, .06);
}

.nybm-card.is-active {
  outline: 1px solid #92BF29;
}

.nybm-card__thumb {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  background: #f4f6f8;
  object-fit: cover;
}

.nybm-card__title {
  font-weight: 600;
}

.nybm-card__addr {
  color: #151515;
  font-size: 13px;
  line-height: 1.35;
}

.nybm-card__phone {
  color: #7fb02a;
  font-weight: 700;
  font-size: 14px;
}

/* адаптив */
@media (max-width: 1100px) {
  .nybm-mapui {
    grid-template-columns: 1fr;
    height: auto;
    max-height: none;
  }

  .nybm-mapui__map {
    min-height: 400px;
  }
}

/* ===========================
   Кастомное всплывающее окно карты
   =========================== */
.nybm-custom-infowindow {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  width: 240px;
  font-family: system-ui, sans-serif;
  animation: fadeIn .25s ease;
}

.nybm-infowindow-inner {
  position: relative;
}

.nybm-infowindow-close {
  position: absolute;
  border: none;
  font-size: 18px;
  cursor: pointer;
}

.nybm-infowindow-body {
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nybm-infowindow-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.nybm-rating {
  color: #FFD700;
  font-size: 13px;
  font-weight: 500;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ====== Layout */
.nybm-mapui {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 16px;
  align-items: stretch
}

.nybm-mapui__map {
  min-height: 540px;
  border-radius: 16px;
  overflow: hidden
}

#nybm-mapui-search {
  border: 1px solid #eef0f3 !important
}

.nybm-mapui__panel {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid #eef0f3
}

.nybm-mapui__panel-head {
  padding: 12px;
  border-bottom: 1px solid #eef0f3 !important
}

.nybm-mapui__panel-head input {
  width: 100%;
  border: 1px solid #e1e5ea;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 14px;
  outline: none
}

#nybm-mapui-search:focus {
  border-color: #92BF29 !important;
}

.nybm-mapui__list {
  overflow: auto;
  padding: 8px;
  max-height: calc(100% - 52px)
}

.nybm-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid #f0f2f5;
  margin: 8px;
  background: #fff;
  cursor: pointer;
  transition: box-shadow .2s, transform .08s
}

.nybm-card:hover {
  box-shadow: 0 6px 18px rgba(16, 24, 40, .06)
}

.nybm-card.is-active {
  outline: 1px solid #92BF29
}

.nybm-card__thumb {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  background: #f4f6f8;
  object-fit: cover
}

.nybm-card__meta {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #555;
  font-size: 13px;
}

.nybm-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #f6f8fa;
  color: #667085;
  font-size: 12px
}

.nybm-chip svg {
  width: 14px;
  height: 14px
}

/* ==== Infocard content inside Google InfoWindow */
.nybm-infobox {
  max-width: 320px;
  font: 13px/1.45 system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial
}

.nybm-infobox b {
  display: block;
  margin: 0 0 6px
}

.nybm-infobox .nybm-small {
  color: #667085;
  font-size: 12px
}

.nybm-infobox .nybm-stars {
  color: #f5b400;
  font-size: 13px;
  margin: 6px 0
}

.nybm-infobox .nybm-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px
}

.nybm-infobox .nybm-actions a {
  display: inline-block;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #e6e8ec;
  text-decoration: none
}

.nybm-infobox .nybm-actions a.primary {
  border-color: #92BF29;
  color: #2f3e12
}

/* ==== Responsive */
@media (max-width:1100px) {
  .nybm-mapui {
    grid-template-columns: 1fr
  }

  .nybm-mapui__panel {
    order: -1
  }

  .nybm-mapui__map {
    min-height: 460px
  }
}

.nybm-card__hours {
  margin-top: 6px;
  font-size: 13px;
  color: #777;
}

.nybm-card__role {
  font-size: 12px;
  color: #92BF29;
}

.nybm-card__role--partner {
  color: #F2B705;
}

.nybm-card__status {
  font-size: 13px;
  color: #151515;
  margin-bottom: 8px;
}

.nybm-card__status .nybm-open-label {
  color: #22c55e;
  font-weight: 500;
}

.nybm-card__status .nybm-closed-label {
  color: #ef4444;
  font-weight: 500;
}


/* ===========================
   Фильтр ролей на карте (All / Without / By appointment)
   =========================== */
.nybm-mapui-role-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

/* Базовый стиль */
.nybm-role-btn {
  border: 1px solid #d1d5db !important;
  background: transparent !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #555 !important;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Ховер для НЕ активных кнопок (обычные — зелёный, partner — жёлтый) */
.nybm-role-btn[data-role="partner"]:not(.is-active):hover {
  border-color: #F2B705 !important;
  color: #151515 !important;
}

.nybm-role-btn:not(.is-active):not([data-role="partner"]):hover {
  border-color: #92BF29 !important;
  color: #151515 !important;
}

/* Активная (All / Without appointment) — зелёный акцент */
.nybm-role-btn.is-active {
  border-color: #92BF29 !important;
  background: rgba(146, 191, 41, 0.06) !important;
  color: #151515 !important;
}

/* Активная By appointment (partner) — жёлтый акцент #F2B705 */
.nybm-role-btn[data-role="partner"].is-active {
  border-color: #F2B705 !important;
  background: rgba(242, 183, 5, 0.06) !important;
  color: #151515 !important;
}

/* Иконка календаря рядом с Without/By appointment (цвет задаём через background-color) */
.nybm-role-icon {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 4px;

  background-color: #92BF29 !important;
  /* базовый цвет — для Without appointment (primary) */
  -webkit-mask-image: url('https://nybestmedical.com/wp-content/uploads/2025/08/calendar.svg');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-image: url('https://nybestmedical.com/wp-content/uploads/2025/08/calendar.svg');
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
}

/* В фильтрах иконка всегда серая, без привязки к роли */
.nybm-mapui-role-filter .nybm-role-icon {
  background-color: #555 !important;
}

/* Делаем бейдж роли флекс-строкой, чтобы иконка и текст были по центру */
.nybm-card__role {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Для By appointment (partner) — жёлтый цвет иконки */
.nybm-card__role--partner .nybm-role-icon {
  background-color: #F2B705 !important;
}

.nybm-card__status:empty,
.nybm-card__meta:empty {
  display: none;
}

.nybm-grid-load-more {
  margin-top: 16px;
  text-align: center;
}

.nybm-grid-load-more__btn {
  padding: 8px 18px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #151515 !important;
  cursor: pointer !important;
  border: none !important;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}

.nybm-grid-load-more__btn:hover {
  background-color: #92BF29 !important;
}

.select-address {
  font-weight: 600 !important;
}

/* Reset как маленький текст */
.nybm-reset-btn {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-left: 12px !important;
  /* чуть отступ от кнопки Show */
  font-size: 13px !important;
  line-height: 1 !important;
  color: #6b7280 !important;
  /* спокойный серый */
  text-decoration: underline !important;
  cursor: pointer !important;
}

/* убираем фокус-рамку браузера, если она мешает */
.nybm-reset-btn:focus {
  outline: none;
}

/* по hover можно сделать чуть темнее */
.nybm-reset-btn:hover {
  color: #111827;
}

/* Скрыть кнопку сброса, если на ней есть атрибут disabled */
.nybm-reset-btn[disabled],
.nybm-reset-btn[disabled="disabled"] {
  display: none;
}

.nybm-clear-field-select {
  margin-left: 16px;
}

/* Бейдж Clinic всегда в правом верхнем углу в грид-карточках */
.nybm-location-card .nybm-card-head {
  position: relative;
  padding-right: 72px;
  /* запас под бейдж, чтобы текст не налезал */
}

.nybm-location-card .nybm-card-badge {
  position: absolute;
  top: 0;
  right: 0;
}

.nybm-mapui-filter {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}

.nybm-mapui-filters {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}

.nybm-mapui-filter span {
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
  color: #555;
}

.nybm-mapui-filter select {
  width: 100%;
  font-size: 13px;
  padding: 4px 8px;
  border: 1px solid #d1d5db !important;
}

.nybm-card__top-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.nybm-card__type-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 500;
  background: #e8f9e0;
  color: #256a00;
  white-space: nowrap;
}

.nybm-card__type-badge.office,
.nybm-card__type-badge--office {
  background: #f3f4f6 !important;
  color: #111827 !important;
}

.nybm-card__type-badge.lab,
.nybm-card__type-badge--lab {
  background: #e0f2fe;
  color: #0f172a;
}

.nybm-mapui-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.92);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nybm-mapui-overlay__inner {
  max-width: 320px;
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
}

/* Хедер грида: фильтр + счётчик справа */
.nybm-grid-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.nybm-grid-summary {
  font-size: 12px;
  line-height: 1.4;
  color: #666666;
  text-align: right;
}

@media (max-width: 768px) {
  .nybm-grid-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .nybm-grid-summary {
    align-self: stretch;
    text-align: left;
  }
}

/* Бейдж Clinic/Office/Lab в правом верхнем углу баннера выбранной локации */
.nybm-pickup-banner .pickup-head {
  position: relative;
  padding-right: 72px;
  /* чтобы заголовок не упирался в бейдж */
}

.nybm-pickup-banner .pickup-head .nybm-card__type-badge {
  position: absolute;
  top: 0;
  right: 0;
}