/*
 * Shared vertical rhythm for the Petit Clinic V2 pages.
 * Loaded after page styles. Colour and content remain page-specific.
 */

:is(.ab-pfv2,.ab-pbv2,.ab-thv2,.ab-psbv2) {
  --ab-petit-section-y: 80px;
  --ab-petit-summary-y: 72px;
  --ab-petit-heading-gap: 36px;
}

:is(.ab-pfv2-heading,.ab-pbv2-heading,.ab-thv2-heading,.ab-psbv2-heading) {
  margin-bottom: var(--ab-petit-heading-gap);
}

:is(.ab-pfv2-intro,.ab-pbv2-intro,.ab-thv2-intro,.ab-psbv2-intro) {
  padding-block: var(--ab-petit-section-y);
}

:is(.ab-pfv2,.ab-pbv2,.ab-thv2,.ab-psbv2) .ab-acv2__section {
  padding-block: var(--ab-petit-summary-y);
}

:is(
  .ab-pfv2-purpose,.ab-pfv2-design,.ab-pfv2-products,.ab-pfv2-fit,.ab-pfv2-process,
  .ab-pbv2-areas,.ab-pbv2-products,.ab-pbv2-fit,.ab-pbv2-standard,.ab-pbv2-process,
  .ab-thv2-check,.ab-thv2-direction,.ab-thv2-programs,.ab-thv2-roles,.ab-thv2-fit,.ab-thv2-process,
  .ab-psbv2-condition,.ab-psbv2-plan,.ab-psbv2-products,.ab-psbv2-fit,.ab-psbv2-process
) {
  padding-block: var(--ab-petit-section-y);
}

:is(.ab-pfv2-related,.ab-pbv2-related,.ab-thv2-related,.ab-psbv2-related) {
  padding-block: 48px;
}

:is(.ab-pfv2-cta,.ab-pbv2-cta,.ab-thv2-cta,.ab-psbv2-cta) {
  padding-block: 72px;
}

:is(.ab-pfv2-note,.ab-pbv2-note,.ab-thv2-note,.ab-psbv2-note) {
  padding-block: 36px 56px;
}

/* Keep cards substantial, but let content rather than empty space set the rhythm. */
.ab-pfv2-purpose article { min-height: 200px; }
.ab-pfv2-product { min-height: 450px; }
.ab-pfv2-product--feature { min-height: 520px; }
.ab-pfv2-product__media { height: 280px; }
.ab-pfv2-product--feature .ab-pfv2-product__media { height: 350px; }
.ab-pfv2-process li { min-height: 195px; }

.ab-pbv2-areas article { min-height: 200px; }
.ab-pbv2-product { min-height: 450px; }
.ab-pbv2-product--lead { min-height: 430px; }
.ab-pbv2-product__media { min-height: 280px; }
.ab-pbv2-product--lead .ab-pbv2-product__media { min-height: 400px; }
.ab-pbv2-process li { min-height: 195px; }

.ab-thv2-check article { min-height: 195px; }
.ab-thv2-programs article { min-height: 195px; }
.ab-thv2-process li { min-height: 195px; }

.ab-psbv2-condition article { min-height: 195px; }
.ab-psbv2-products article { min-height: 340px; }
.ab-psbv2-process li { min-height: 195px; }

@media (max-width: 900px) {
  :is(.ab-pfv2,.ab-pbv2,.ab-thv2,.ab-psbv2) {
    --ab-petit-section-y: 56px;
    --ab-petit-summary-y: 52px;
    --ab-petit-heading-gap: 28px;
  }

  :is(.ab-pfv2-intro,.ab-pbv2-intro) {
    padding-block: 56px 0;
  }

  :is(.ab-thv2-intro,.ab-psbv2-intro) {
    padding-block: 56px;
  }

  :is(.ab-pfv2,.ab-pbv2,.ab-thv2,.ab-psbv2) .ab-acv2__section {
    padding-block: var(--ab-petit-summary-y);
  }

  :is(.ab-pfv2-related,.ab-pbv2-related,.ab-thv2-related,.ab-psbv2-related) {
    padding-block: 40px;
  }

  :is(.ab-pfv2-cta,.ab-pbv2-cta,.ab-thv2-cta,.ab-psbv2-cta) {
    padding-block: 56px;
  }

  :is(.ab-pfv2-note,.ab-pbv2-note,.ab-thv2-note,.ab-psbv2-note) {
    padding-block: 8px 48px;
  }

  .ab-pfv2-purpose article,
  .ab-pfv2-product,
  .ab-pfv2-product--feature,
  .ab-pfv2-process li,
  .ab-pbv2-areas article,
  .ab-pbv2-product,
  .ab-pbv2-product--lead,
  .ab-pbv2-process li,
  .ab-thv2-check article,
  .ab-thv2-programs article,
  .ab-thv2-process li,
  .ab-psbv2-condition article,
  .ab-psbv2-products article,
  .ab-psbv2-process li {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  :is(.ab-pfv2,.ab-pbv2,.ab-thv2,.ab-psbv2) {
    --ab-petit-section-y: 52px;
    --ab-petit-summary-y: 48px;
    --ab-petit-heading-gap: 26px;
  }
}
