/* Store Finder Widget — фирменные цвета Tokeny.Store
   #003388 — основной (тёмно-синий, заголовки)
   #D60017 — акцент (красный, CTA, маркеры)
   #F1F6F6 — фон вторичных блоков
   #4D4D4D — основной текст
*/
:root {
  --tk-primary: #003388;
  --tk-accent:  #D60017;
  --tk-accent-h: #b00012;
  --tk-bg:      #F1F6F6;
  --tk-text:    #4D4D4D;
  --tk-border:  #e3e8ef;
}

.store-finder {
  margin: 0 auto 32px;
  padding: 28px 32px;
  max-width: 1100px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 6px 24px rgba(0, 51, 136, 0.08);
  font-family: inherit;
  color: var(--tk-text);
  box-sizing: border-box;
}
.store-finder__title {
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--tk-primary);
  letter-spacing: -0.2px;
}
.store-finder__subtitle {
  margin: 0 0 20px;
  color: var(--tk-text);
  font-size: 15px;
  opacity: 0.85;
}

/* Поиск */
.store-finder__form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.store-finder__form input[type="text"] {
  flex: 1 1 320px;
  padding: 14px 18px;
  font-size: 16px;
  border: 1.5px solid var(--tk-border);
  border-radius: 14px;
  outline: none;
  font-family: inherit;
  background: #fff;
  color: var(--tk-text);
  transition: border-color .15s, box-shadow .15s;
}
.store-finder__form input::placeholder { color: #9aa3b0; }
.store-finder__form input:focus {
  border-color: var(--tk-primary);
  box-shadow: 0 0 0 4px rgba(0, 51, 136, 0.10);
}
.store-finder__form button[type="submit"] {
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 600;
  background: var(--tk-accent);
  color: #fff;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: background .15s, transform .1s;
  font-family: inherit;
}
.store-finder__form button[type="submit"]:hover { background: var(--tk-accent-h); }
.store-finder__form button[type="submit"]:active { transform: translateY(1px); }
.store-finder__form button[type="submit"]:disabled { background: #c0c4cc; cursor: not-allowed; }
.store-finder__form #store-finder-geo {
  background: #fff;
  border: 1.5px solid var(--tk-border);
  color: var(--tk-primary);
  padding: 14px 18px;
  font-size: 18px;
  border-radius: 14px;
  cursor: pointer;
  flex: 0 0 auto;
  transition: border-color .15s, background .15s;
}
.store-finder__form #store-finder-geo:hover {
  background: rgba(0, 51, 136, 0.05);
  border-color: var(--tk-primary);
}

/* Result-плашка */
.store-finder__result {
  margin-bottom: 16px;
  padding: 14px 18px;
  background: var(--tk-bg);
  border-radius: 14px;
  font-size: 15px;
  line-height: 1.5;
}
.store-finder__result.empty { display: none; }
.store-finder__result.error { background: #fdecee; color: var(--tk-accent); }
.store-finder__result b { color: var(--tk-primary); font-weight: 600; }

/* Карта */
.store-finder__map {
  width: 100%;
  height: 480px;
  border-radius: 16px;
  background: var(--tk-bg);
  margin-bottom: 18px;
  overflow: hidden;
}

/* Список ближайших — вертикальные карточки */
.store-finder__nearest {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}
.store-finder__nearest-item {
  padding: 16px 18px;
  background: var(--tk-bg);
  border-radius: 14px;
  border: 1px solid transparent;
  transition: border-color .15s, background .15s;
}
.store-finder__nearest-item:hover {
  background: #fff;
  border-color: var(--tk-border);
}
.store-finder__address {
  font-size: 15px;
  font-weight: 600;
  color: var(--tk-primary);
  margin: 0 0 8px;
  line-height: 1.35;
}
.store-finder__route {
  display: inline-block;
  padding: 6px 14px;
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background: var(--tk-accent);
  border-radius: 10px;
  text-decoration: none;
  transition: background .15s;
}
.store-finder__route:hover {
  background: var(--tk-accent-h);
  text-decoration: none;
  color: #fff;
}
.store-finder__route:before { content: "🗺 "; }
.store-finder__stock {
  font-size: 13px;
  color: var(--tk-text);
  line-height: 1.45;
  margin: 0;
}
.store-finder__stock + .store-finder__stock { margin-top: 4px; }
.store-finder__stock b { color: var(--tk-primary); font-weight: 600; }
.store-finder__dist {
  display: inline-block;
  padding: 2px 10px;
  background: #fff;
  border-radius: 8px;
  font-weight: 700;
  color: var(--tk-accent);
  font-size: 13px;
  margin-bottom: 8px;
}
