/* Products-specific layout and photo treatment; colors come from the shared theme. */
.products-page {
  background: var(--gray-50);
  color: var(--gray-700);
  padding-top: 42px;
  min-height: calc(100vh - var(--nav-height));
}

.products-page .section-header { margin-bottom: 26px; }
.products-page .section-header h1 { font-size: 40px; letter-spacing: -1.2px; }
.products-page .section-header p {
  margin: 8px 0 0;
  max-width: none;
  color: #667169;
  font-size: 16px;
}

.products-page .search-bar {
  padding: 16px;
  border: 1px solid #d9ded4;
  border-radius: 12px;
  box-shadow: none;
  gap: 12px;
  margin-bottom: 26px;
}
.products-page .search-bar input,
.products-page .search-bar select {
  min-height: 46px;
  background: white;
  border-color: #d9ded4;
  border-radius: 7px;
}
.products-page .search-bar .btn { min-height: 46px; border-radius: 7px; }
.products-page .search-bar :is(input, select, button):focus-visible {
  outline: 2px solid #517b57;
  outline-offset: 2px;
}

.products-page .prod-card {
  padding: 18px;
  border: 1px solid #d9ded4;
  border-radius: 14px;
  box-shadow: none;
}
.products-page .prod-card:hover { box-shadow: 0 5px 16px rgba(24, 62, 50, .08); }
.products-page .prod-thumb {
  aspect-ratio: 16 / 9;
  border-radius: 9px;
  background: #f0f2ec;
  margin-bottom: 14px;
}
.products-page .prod-thumb img { object-fit: contain; background: #f0f2ec; }
.products-page .prod-thumb-empty[class] { background: #edf1e8; }
.products-page .prod-thumb-ph-icon,
.products-page .prod-thumb-ph-label { color: #5b7c62; }
.products-page .prod-card h4 { color: #183e32; font-size: 20px; line-height: 1.3; }
.products-page .prod-card .text-xs { font-size: 13px; line-height: 1.55; }
.products-page .prod-card > p:empty,
.products-page .prod-card > div:empty { display: none; }
.products-page .prod-card > .flex.items-center.justify-between.mt-sm {
  flex-wrap: wrap;
  gap: 6px;
}
.products-page .prod-card > div:last-child {
  padding-top: 12px;
  border-top: 1px solid #e5e8e0;
  margin-top: 14px;
}
.products-page .badge { font-weight: 500; border-radius: 5px; }
.products-page .badge-gray { background: #edf1e8; color: #435b47; }
.products-page #prod-results .grid { gap: 20px; }

@media (max-width: 640px) {
  .products-page { padding-top: 28px; }
  .products-page .section-header h1 { font-size: 32px; letter-spacing: -.8px; }
  .products-page .search-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .products-page .search-bar input,
  .products-page .search-bar select { min-width: 0; width: 100%; }
  .products-page #prod-search,
  .products-page #prod-dispensary { grid-column: 1 / -1; }
}
