/* ==========================================================================
   FREE CAMPS page (free-camps.html)
   Page-specific styles. Requires ../styles.css (global tokens & components).
   ========================================================================== */

/* ---------- Camps ---------- */
.camp-copy h2 { margin-top: 2.5rem; font-size: 1.5rem; font-weight: 600; }
.camp-copy .why { margin-top: 0.75rem; line-height: 1.75; color: var(--muted-foreground); }
.gallery { margin-top: 2rem; display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 40rem) { .gallery { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64rem) { .gallery { grid-template-columns: repeat(4, 1fr); } }
.gallery figure { overflow: hidden; border-radius: var(--radius-2xl); background: var(--card); }
.gallery img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.gallery figcaption { padding: 1rem; font-size: 0.875rem; font-weight: 600; }
.camp-gallery-section { padding-block: 4rem; }

.wellness-band.camp { padding-block: 3.5rem; }
.wellness-band.camp p { max-width: 36rem; line-height: 1.5; color: inherit; }
.wellness-band .btn-row { margin-top: 1.75rem; }
