/* ============================================================
   04-conditions — five real photos, one per condition, each with
   a short blurb and a link. Every selector scoped under
   .sec-04-conditions.
   ============================================================ */

.sec-04-conditions {
  background: radial-gradient(120% 85% at 50% 0%, #ffffff 0%, var(--bone) 50%, #eef1fb 100%);
}

.sec-04-conditions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(1.1rem, 1.8vw, 1.5rem);
}

/* There are 5 cards; auto-fit at a 260px minimum only fits 4 across the
   1200px container, folding the 5th onto its own row. Force the full 5-up
   row once there is room for it, and leave auto-fit to reflow on narrower
   viewports. */
@media (min-width: 1024px) {
  .sec-04-conditions__grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

.sec-04-conditions__card {
  background: var(--white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  border: 1.5px solid transparent;
  transition: border-color 250ms var(--ease-out), box-shadow 250ms var(--ease-out),
    transform 300ms var(--ease-spring);
}

.sec-04-conditions__card:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-lift);
  transform: translateY(-4px);
}

.sec-04-conditions__photo {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
  border-bottom: 5px solid var(--color-green);
}

/* Rotating accent tab, one color per card — the same pastel set used in the
   client's original branding, so the page isn't carrying orange alone. */
.sec-04-conditions__card:nth-child(2) .sec-04-conditions__photo { border-bottom-color: var(--color-pink); }
.sec-04-conditions__card:nth-child(3) .sec-04-conditions__photo { border-bottom-color: var(--color-lavender); }
.sec-04-conditions__card:nth-child(4) .sec-04-conditions__photo { border-bottom-color: var(--color-yellow); }
.sec-04-conditions__card:nth-child(5) .sec-04-conditions__photo { border-bottom-color: var(--color-green); }

.sec-04-conditions__body {
  padding: clamp(1.4rem, 2vw, 1.9rem);
}

.sec-04-conditions__card h3 {
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}

.sec-04-conditions__card p {
  color: var(--text-on-bone-dim);
  font-size: 0.92rem;
  line-height: 1.55;
}

.sec-04-conditions__link {
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--accent-strong);
  text-decoration: none;
  transition: gap 200ms var(--ease-spring), color 200ms var(--ease-out);
}

.sec-04-conditions__link:hover {
  gap: 0.65rem;
}

/* --- Bottom CTA --- */
.sec-04-conditions__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

html.reduced-motion .sec-04-conditions__card {
  transition: none;
}
