/**
 * Shared product detail page layout refinements.
 * Loaded by product/*.html via <link rel="stylesheet" href="../css/product-layout.css">.
 * All rules are scoped behind cist- prefixed hooks — no global selectors,
 * no impact on pages that do not opt in.
 */

/* Hero: vertically balance the two columns */
.cist-hero {
  align-items: center;
}

/* Hero: tighten the gallery box so the main image fills it */
.cist-hero .product-gallery {
  padding: var(--space-md);
}
.cist-hero .product-gallery > img {
  width: 100%;
  max-height: none;
  height: auto;
  object-fit: contain;
}

/* Hero key points: 2 columns on mobile, an even row on desktop.
   Grid (not flex-nowrap) so long CMS bullets wrap inside their cells
   instead of overflowing the layout. */
.cist-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px 16px;
  list-style: none;
  padding: 0;
  font-size: 0.9rem;
}
@media (min-width: 768px) {
  .cist-points {
    grid-template-columns: repeat(4, 1fr);
    gap: 4px 12px;
  }
  .cist-points-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Image + content two-column splits (mirrored sections reuse the same class) */
.cist-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: center;
}
@media (min-width: 768px) {
  .cist-split {
    grid-template-columns: 1fr 1fr;
  }
}
.cist-split > div > img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* 2x2 card grids inside split sections */
.cist-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}
@media (min-width: 768px) {
  .cist-card-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Trust badges above hero CTA (all product pages) */
.cist-trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
  margin: var(--space-md, 16px) 0;
}
.cist-trust span {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--color-text-secondary, #555);
}
.cist-trust svg {
  flex: none;
  margin-top: 2px;
  color: var(--color-primary, #2e7d32);
}
.cist-trust strong { font-weight: 600; }
@media (max-width: 480px) {
  .cist-trust { grid-template-columns: 1fr; }
}
