/* Styles for products view - responsive grid and improved cards */

/* Ensure services/products section exposes the shared section padding variable
   so page title offset calculation remains consistent with other pages */
.services {
  /* Match articles page top padding so title offset from header is identical */
  --section-padding-top: 2.25rem; /* equals calc(1.25rem (articles --spacing-lg) + 1rem) */
  padding-top: var(--section-padding-top);
}

/* Ensure services title has same computed offset as global normalization (override ordering) */
.services__title {
  margin-top: calc(
    var(--header-height) + var(--page-title-gap) - var(--section-padding-top)
  ) !important;
}

#products .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.services__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.service-card {
  /* Page-specific overrides only — shared visuals are in css/style.css */
  min-height: 320px;
  padding: 1.25rem; /* keep slightly larger padding for product cards */
  border-radius: 12px; /* visual tweak, base radius lives in style.css */
}

.service-card__icon {
  width: 56px;
  height: 56px;
  margin-bottom: 0.75rem;
}

.service-card__title {
  font-size: 1.125rem;
  margin: 0 0 0.5rem 0;
}

.service-card__description {
  color: var(--color-text-secondary);
  line-height: 1.45;
}

.blog-card__link {
  margin-top: 1rem;
  align-self: flex-start;
  color: #39ff14;
  text-decoration: none;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(6, 18, 30, 0.12);
}

.blog__cta {
  text-align: center;
  margin-top: 2.5rem;
}

@media (prefers-color-scheme: dark) {
  .service-card {
    box-shadow: 0 8px 30px rgba(2, 6, 23, 0.6);
  }
  .service-card__description,
  .lead-lg {
    color: #cbd5e1;
  }
}
