/* VexzyMarket v3 — точечные правки поверх предоставленного пользователем дизайна. */

/* Навигация должна быть геометрически по центру viewport, независимо от ширины brand/actions. */
.navbar { position: relative; }
.navbar > .nav-links {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

/* Главные фиолетовые источники света — именно мягкое свечение, без читаемого края круга. */
.glow {
  filter: blur(92px);
  -webkit-filter: blur(92px);
  opacity: .82;
  transform: translateZ(0) scale(.92);
  transform-origin: center;
}

/* Подсказка прокрутки двигается постоянно, а не только по hover. */
.scroll-indicator { animation: vexzy-scroll-hint 1.9s ease-in-out infinite; }
.scroll-indicator img { animation: vexzy-scroll-arrow 1.15s ease-in-out infinite; }
@keyframes vexzy-scroll-hint {
  0%,100% { transform: translateY(0); opacity: .78; }
  50% { transform: translateY(6px); opacity: 1; }
}
@keyframes vexzy-scroll-arrow {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}

/* Не показываем выдуманные отзывы. Карточка включается JS только для заполненного админом реального отзыва. */
.review-card[hidden] { display: none !important; }
.reviews-empty {
  grid-column: 1 / -1;
  padding: 28px;
  border: 1px dashed var(--border-accent);
  border-radius: var(--radius-card);
  text-align: center;
  color: var(--muted);
  background: rgba(14,12,21,.55);
}












/* Checkout: существующие quantity/wholesale возможности в визуальном языке макета. */
.purchase-options { padding: 18px 0 2px; display: flex; flex-direction: column; gap: 10px; }
.purchase-options[hidden] { display: none; }
.quantity-row { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 8px; }
.quantity-row .small-action { width: 44px; min-width: 44px; padding: 0; font-size: 18px; }
.quantity-input { width: 100%; text-align: center; }
.wholesale-toggle { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; cursor: pointer; }
.wholesale-toggle[hidden] { display: none; }
.wholesale-toggle input { accent-color: var(--accent); }

/* Реальные иконки методов оплаты из админки не искажаются. */
.payment-method > img { width: 38px; height: 38px; object-fit: contain; border-radius: 8px; }

/* Нижний copyright остаётся один — без трёх тестовых social icon. */
.footer-bottom { justify-content: flex-start; }

@media (max-width: 1024px) {
  .navbar > .nav-links { position: static; transform: none; }
}
@media (max-width: 760px) {
  .glow { filter: blur(70px); -webkit-filter: blur(70px); }
  
}
