/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT-PAGE SECTION FIT — each .rd-section fills exactly one viewport
   Applies to Rentalmatch / MagicContract / Rentalscore (.product-page)
   ═══════════════════════════════════════════════════════════════════════════ */

.product-page .rd-section,
.product-page .rd-cta-section {
  min-height: 100vh !important;
  height: auto !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  padding-top: clamp(56px, 8vh, 96px) !important;
  padding-bottom: clamp(48px, 7vh, 84px) !important;
}

/* inner containers stretch full width, content stays centered */
.product-page .rd-section > .rd-container,
.product-page .rd-cta-section > .rd-container {
  width: 100%;
  margin: 0 auto;
}

/* section headers — compact so content has room */
.product-page .rd-section-header,
.product-page .prc-section-header {
  margin-bottom: clamp(24px, 3.5vh, 44px) !important;
}

/* tighten oversized vertical gaps in stacked layouts */
.product-page .rd-section .rd-h2 { margin-bottom: 14px !important; }
.product-page .rd-section .rd-lead { margin-bottom: 0 !important; }

/* On short viewports let sections grow rather than clip */
@media (max-height: 720px) {
  .product-page .rd-section,
  .product-page .rd-cta-section {
    min-height: auto;
    padding-top: clamp(48px, 7vh, 72px) !important;
    padding-bottom: clamp(44px, 6vh, 64px) !important;
  }
}
@media (max-width: 1024px) {
  .product-page .rd-section,
  .product-page .rd-cta-section { min-height: auto; }
}

/* ── Rentalmatch tenant section — compact so it fits one viewport ── */
.product-page--match .rm-tenant-section .rd-container > div[data-rd-reveal]:first-child {
  margin-bottom: clamp(20px, 3vh, 32px) !important;
}
.product-page--match .rm-how { margin-bottom: clamp(20px, 3vh, 32px) !important; }
.product-page--match .rm-nl-wrap { margin-bottom: 0 !important; }
.product-page--match .rm-tenant-section .rd-h2 { margin-bottom: 10px !important; }
.product-page--match .rm-how-grid,
.product-page--match .rm-how-steps { gap: clamp(10px, 1.4vw, 18px) !important; }
.product-page--match .rm-how-step { padding: clamp(14px, 1.8vw, 22px) !important; }
.product-page--match .rm-how-steps { gap: 9px !important; }
.product-page--match .rm-how-step-item { padding: 12px 14px !important; }
.product-page--match .rm-how-score-box { padding: 18px !important; }

/* ── Rentalscore — compact tall section headers + card grids ── */
.product-page--score .rd-section .rd-center { margin-bottom: clamp(22px, 3vh, 36px) !important; }
.product-page--score .rd-section .rd-h2 { margin-bottom: 10px !important; line-height: 1.06 !important; }
.product-page--score .rd-section .rd-lead { margin-top: 0 !important; }
.product-page--score .rd-boost-grid,
.product-page--score .rs-cons-grid { gap: clamp(12px, 1.5vw, 18px) !important; margin-bottom: 18px !important; }
.product-page--score .rs-cons-card,
.product-page--score .rd-boost-card { padding: clamp(16px, 2vw, 24px) !important; }
.product-page--score .rs-cons-card-text,
.product-page--score .rd-boost-result-text { font-size: 0.82rem !important; line-height: 1.5 !important; }
