/* ═══════════════════════════════════════════════════════
   IWTMYL Service Day — Page-Specific CSS
   css/service-day.css

   Scoped to .page-id-24123. All .vp base components are
   handled by vp-system.css (loaded site-wide). This file
   covers only page-unique layout and the .cs- namespace.

   v2.0 — April 2026 (added proof gallery)
   ═══════════════════════════════════════════════════════ */


/* ── REACT MOUNT SECTION ── */
.page-id-24123 .cs-react-section {
  padding: 8px 0 0 !important;
}

.page-id-24123 .cs-react-bridge {
  padding: 20px 0 8px !important;
  border-top: 1px solid #e5eae6 !important;
}

/* ── ABOVE-FOLD TIGHTENING ── */
.page-id-24123 .cs-page .vp-card p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.page-id-24123 .cs-page .vp-steps-card .vp-step {
  padding: 14px 0 !important;
}


/* ══════════════════════════════════════════════════════
   PROOF GALLERY — Legacy Service Day examples
   ══════════════════════════════════════════════════════ */

/* Featured card — full-width hero image */
.page-id-24123 .cs-proof-gallery {
  margin-top: 16px !important;
}

.page-id-24123 .cs-proof-featured {
  position: relative !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 18px !important;
  max-height: 380px !important;
}

.page-id-24123 .cs-proof-featured img {
  width: 100% !important;
  height: 380px !important;
  object-fit: cover !important;
  display: block !important;
}

.page-id-24123 .cs-proof-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: linear-gradient(0deg, rgba(15,36,24,.88) 0%, rgba(15,36,24,.6) 60%, transparent 100%) !important;
  padding: 60px 24px 20px !important;
  color: #fff !important;
}

.page-id-24123 .cs-proof-overlay h3 {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 6px 0 4px !important;
}

.page-id-24123 .cs-proof-overlay p {
  color: rgba(255,255,255,.8) !important;
  font-size: 14px !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* Category tag — used on featured and cards */
.page-id-24123 .cs-proof-tag {
  display: inline-block !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

.page-id-24123 .cs-proof-card .cs-proof-tag {
  background: #eef6f0 !important;
  color: #355842 !important;
}

/* Supporting cards — desktop: 4-col grid (2x2) */
.page-id-24123 .cs-proof-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.page-id-24123 .cs-proof-grid > p,
.page-id-24123 .cs-proof-grid > br {
  display: none !important;
}

.page-id-24123 .cs-proof-card {
  background: #fff !important;
  border: 1px solid #dfe8e1 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.03) !important;
  transition: box-shadow .2s, transform .2s !important;
}

.page-id-24123 .cs-proof-card:hover {
  box-shadow: 0 4px 16px rgba(47,125,77,.08) !important;
  transform: translateY(-2px) !important;
}

.page-id-24123 .cs-proof-card img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  display: block !important;
}

.page-id-24123 .cs-proof-card-body {
  padding: 14px 16px 16px !important;
}

.page-id-24123 .cs-proof-card-body h3 {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1c3a2a !important;
  margin: 6px 0 4px !important;
  line-height: 1.3 !important;
}

.page-id-24123 .cs-proof-card-body p {
  font-size: 13px !important;
  color: #555 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* Secondary (hidden) grid — 4-col to match visible grid */
.page-id-24123 .cs-proof-more .cs-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}


/* ── RESPONSIVE ── */

/* Tablet: 2-col grid */
@media (max-width: 1060px) {
  .page-id-24123 .cs-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: horizontal scroll carousel */
@media (max-width: 900px) {
  .page-id-24123 .cs-proof-grid {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 14px !important;
    padding-bottom: 8px !important;
    grid-template-columns: unset !important;
  }
  .page-id-24123 .cs-proof-card {
    scroll-snap-align: start !important;
    min-width: 82% !important;
    flex-shrink: 0 !important;
  }
  /* Hide scrollbar but keep functionality */
  .page-id-24123 .cs-proof-grid::-webkit-scrollbar {
    height: 4px !important;
  }
  .page-id-24123 .cs-proof-grid::-webkit-scrollbar-thumb {
    background: #d8e7dc !important;
    border-radius: 4px !important;
  }
  .page-id-24123 .cs-proof-featured img {
    height: 260px !important;
  }
  .page-id-24123 .cs-proof-featured {
    max-height: 260px !important;
  }
  .page-id-24123 .cs-react-bridge {
    padding: 16px 0 4px !important;
  }
}

@media (max-width: 600px) {
  .page-id-24123 .cs-react-section {
    padding: 4px 0 0 !important;
  }
  .page-id-24123 .cs-react-bridge {
    padding: 12px 0 4px !important;
  }
  .page-id-24123 .cs-proof-featured img {
    height: 200px !important;
  }
  .page-id-24123 .cs-proof-featured {
    max-height: 200px !important;
  }
  .page-id-24123 .cs-proof-card img {
    height: 160px !important;
  }
}
