/* PrimeZone public site — layout helpers on top of app.css */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border);
}

.badge-row { display: flex; gap: 8px; flex-wrap: wrap; }

/* Horizontal scroll product rows on mobile, grid on desktop */
.product-row {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.product-row::-webkit-scrollbar { display: none; }
.product-row .product-card { flex: 0 0 160px; scroll-snap-align: start; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

@media (min-width: 640px) {
  .product-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .product-row { overflow-x: visible; }
  .product-row, .product-grid { grid-template-columns: repeat(5, 1fr); display: grid; }
}

.product-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  transition: transform 0.15s ease;
}
.product-card:hover { transform: translateY(-2px); }
.product-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.product-card .pc-body { padding: 10px 12px 14px; }
.product-card .pc-name { font-size: 13px; font-weight: 600; margin: 0 0 4px; line-height: 1.3; }
.product-card .pc-price { font-size: 14px; font-weight: 700; color: var(--accent-light); }
.product-card .pc-price .old { text-decoration: line-through; color: var(--text-faint); font-weight: 400; font-size: 12px; margin-right: 6px; }

/* Floating support button */
.support-fab {
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--safe-bottom));
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(16, 185, 129, 0.4);
  z-index: 60;
  color: #04140d;
  font-size: 22px;
}
