/* FirmBaza premium pack v20260928p1 — только главная (index.html).
   Цель: «дорогой» вид за счёт ритма, типографики и спокойных теней.
   Хедер и модалки не затрагиваются. */
/* --- Hero: рейтинг --- */
.hero-rating { letter-spacing: .01em; }
.hero-stars {
  color: #ffc531;
  letter-spacing: .18em;
  font-size: 1rem;
  text-shadow: 0 2px 10px rgba(255, 197, 49, .45);
}
/* --- Hero: полоса источников --- */
.hero-sources {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
}
.hero-sources-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .45);
}
.hero-sources-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .4rem .9rem;
  font-size: .95rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .85);
}
.hero-sources-list i { color: rgba(255, 255, 255, .3); font-style: normal; }
/* --- Тикер: спокойнее и дороже --- */
.jq-ticker {
  background: #101c26 !important;
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  font-size: .9rem !important;
}
.jq-ticker .dot { color: #70dac2 !important; font-size: .6rem; }
/* --- Секции: единый ритм --- */
main > section { scroll-margin-top: 84px; }
.fb-label {
  box-shadow: inset 0 -0.55em 0 rgba(8, 127, 117, .14);
  border-radius: 2px;
}
/* --- Карточки главной: спокойная тень вместо брутальной --- */
#sellers .home-marketplace-grid > article,
.home-map-card {
  border-radius: 20px !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
#sellers .home-marketplace-grid > article:hover,
.home-map-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 44px rgba(16, 62, 70, .14) !important;
}
/* --- Отзывы: кавычка и бейдж --- */
#reviews-carousel .review-card { position: relative; }
#reviews-carousel .review-card::before {
  content: "“";
  position: absolute;
  top: .4rem;
  right: 1.1rem;
  font-size: 3rem;
  line-height: 1;
  color: #0f766e;
  opacity: .14;
  font-family: Georgia, serif;
}
.review-verified {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: .5rem;
  font-size: 12px;
  font-weight: 700;
  color: #047857;
}
.review-verified::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #047857 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/9px no-repeat;
}
/* Точечная навигация отзывов: хит-зона 44px */
.carousel-dot {
  position: relative;
  width: 44px !important;
  height: 44px !important;
  background: transparent !important;
  border: 0;
  cursor: pointer;
}
.carousel-dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #cbd5e1;
  transform: translate(-50%, -50%);
  transition: background .15s ease, transform .15s ease;
}
.carousel-dot.active::after { background: #087f75; transform: translate(-50%, -50%) scale(1.25); }
/* --- Мобильные штрихи --- */
@media (max-width: 640px) {
  .hero-sources-list { font-size: .85rem; gap: .3rem .7rem; }
  .hero-rating { flex-wrap: wrap; text-align: center; padding: 0 1rem; }
  .jq-ticker { font-size: .8rem !important; }
}
@media (max-width: 480px) {
  /* Статы hero: компактнее на узких экранах */
  #hero .grid.grid-cols-3 { gap: .5rem; }
  #hero .stat-tile { padding: .65rem .4rem !important; }
  #hero .stat-tile > div:first-child { font-size: 1.35rem !important; }
  #hero .stat-tile > div:last-child { font-size: 10px !important; }
  /* Квиз: никакой iOS-зум, крупные тап-зоны */
  #quiz input[type="number"],
  #quiz input[type="text"],
  #free-sample input { font-size: 16px !important; }
  #quiz label:has(input[type="radio"]) {
    min-height: 52px;
    font-size: 15px;
    line-height: 1.4;
  }
  #quiz input[type="radio"] { width: 22px; height: 22px; flex-shrink: 0; accent-color: #087f75; }
}
/* Карусель отзывов и таблицы: не перехватывают вертикальный скролл */
#reviews-carousel {
  overscroll-behavior-x: contain;
  scroll-padding-inline: 1.5rem;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 640px) {
  #reviews-carousel { scroll-snap-type: x proximity; }
}
.table-mockup-body,
.overflow-x-auto {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
@media (prefers-reduced-motion: reduce) {
  #sellers .home-marketplace-grid > article:hover,
  .home-map-card:hover { transform: none !important; }
}
