/*
 * Shared vertical rhythm for the Skin Clinic and lifting detail pages.
 * Loaded after each page stylesheet so section spacing can be maintained in
 * one place without flattening the page-specific palette or visual identity.
 */

/* Desktop section rhythm */
:is(.ab-sbv2,.ab-scv3,.ab-slh2,.ab-hfv2,.ab-ltv2,.ab-lcv2) {
    --ab-clinic-section-y: 88px;
    --ab-clinic-section-y-compact: 72px;
    --ab-clinic-heading-gap: 38px;
}

:is(.ab-sbv2-heading,.ab-scv3-heading,.ab-hfv2-heading,.ab-ltv2-heading,.ab-lcv2-heading) {
    margin-bottom: var(--ab-clinic-heading-gap);
}

:is(.ab-sbv2-intro,.ab-scv3-intro,.ab-hfv2-intro,.ab-ltv2-intro,.ab-lcv2-intro) {
    padding-block: var(--ab-clinic-section-y);
}

:is(
    .ab-sbv2-products,.ab-sbv2-fit,.ab-sbv2-principles,.ab-sbv2-process,.ab-sbv2-aftercare,
    .ab-scv3-feature-icons,.ab-scv3-assessment,.ab-scv3-programs,.ab-scv3-fit,.ab-scv3-process,
    .ab-scv3-hair-faq,.ab-scv3-aftercare,
    .ab-slh2-choice,.ab-slh2-features,.ab-slh2-process,
    .ab-hfv2-check,.ab-hfv2-depth,.ab-hfv2-programs,.ab-hfv2-fit,.ab-hfv2-process,
    .ab-ltv2-principle,.ab-ltv2-device,.ab-ltv2-fit,.ab-ltv2-plan,.ab-ltv2-process,
    .ab-lcv2-causes,.ab-lcv2-plan,.ab-lcv2-devices,.ab-lcv2-fit,.ab-lcv2-process
) {
    padding-block: var(--ab-clinic-section-y);
}

:is(.ab-sbv2-related,.ab-scv3-related,.ab-slh2-related,.ab-hfv2-related,.ab-ltv2-related,.ab-lcv2-related) {
    padding-block: 56px;
}

:is(.ab-sbv2-cta,.ab-scv3-cta,.ab-slh2-cta,.ab-hfv2-cta,.ab-ltv2-cta,.ab-lcv2-cta) {
    padding-block: 92px;
}

:is(.ab-sbv2-note,.ab-scv3-note,.ab-hfv2-note,.ab-ltv2-note,.ab-lcv2-note) {
    padding-block: 48px 76px;
}

/* Content-led heights: short copy should not create oversized empty panels. */
.ab-sbv2-product { min-height: 390px !important; }
.ab-sbv2-process .ab-sbv2-process__timeline > li { min-height: 210px !important; }
.ab-sbv2-aftercare article { min-height: 150px !important; }

.ab-scv3-intro figure,
.ab-scv3-intro figure img { min-height: 460px !important; }
.ab-scv3-feature-icons article { min-height: 195px !important; }
.ab-scv3-assessment__list li { min-height: 145px !important; }
.ab-scv3-assessment__feature figure { min-height: 400px !important; }
.ab-scv3-programs article { min-height: 270px !important; }
.ab-scv3-programs article.is-featured { min-height: 400px !important; }
.ab-scv3-programs article.is-featured:not(.has-image) { min-height: 270px !important; }
.ab-scv3-process li { min-height: 210px !important; }
.ab-scv3-aftercare article { min-height: 195px !important; }

.ab-slh2-choice__grid a { min-height: 280px !important; }
.ab-slh2-features article { min-height: 205px !important; }

.ab-hfv2-check article { min-height: 190px !important; }
.ab-hfv2-programs article { min-height: 190px !important; }
.ab-hfv2-process li { min-height: 195px !important; }

.ab-ltv2-device__grid { min-height: 500px !important; }
.ab-ltv2-plan article { min-height: 195px !important; }
.ab-ltv2-process li { min-height: 190px !important; }

.ab-lcv2-causes article { min-height: 195px !important; }
.ab-lcv2-platform { min-height: 460px !important; }
.ab-lcv2-devices article { grid-template-rows: 330px auto; }
.ab-lcv2-process li { min-height: 195px !important; }

@media (max-width: 900px) {
    :is(.ab-sbv2,.ab-scv3,.ab-slh2,.ab-hfv2,.ab-ltv2,.ab-lcv2) {
        --ab-clinic-section-y: 58px;
        --ab-clinic-section-y-compact: 52px;
        --ab-clinic-heading-gap: 28px;
    }

    :is(.ab-sbv2-intro,.ab-scv3-intro,.ab-hfv2-intro,.ab-ltv2-intro,.ab-lcv2-intro) {
        padding-block: 58px 0;
    }

    :is(.ab-sbv2-related,.ab-scv3-related,.ab-slh2-related,.ab-hfv2-related,.ab-ltv2-related,.ab-lcv2-related) {
        padding-block: 48px;
    }

    :is(.ab-sbv2-cta,.ab-scv3-cta,.ab-slh2-cta,.ab-hfv2-cta,.ab-ltv2-cta,.ab-lcv2-cta) {
        padding-block: 68px;
    }

    :is(.ab-sbv2-note,.ab-scv3-note,.ab-hfv2-note,.ab-ltv2-note,.ab-lcv2-note) {
        padding-block: 12px 60px;
    }

    .ab-sbv2-product,
    .ab-sbv2-process .ab-sbv2-process__timeline > li,
    .ab-sbv2-aftercare article,
    .ab-scv3-intro figure,
    .ab-scv3-intro figure img,
    .ab-scv3-feature-icons article,
    .ab-scv3-assessment__list li,
    .ab-scv3-assessment__feature figure,
    .ab-scv3-programs article,
    .ab-scv3-programs article.is-featured,
    .ab-scv3-programs article.is-featured:not(.has-image),
    .ab-scv3-process li,
    .ab-scv3-aftercare article,
    .ab-slh2-features article,
    .ab-hfv2-check article,
    .ab-hfv2-programs article,
    .ab-hfv2-process li,
    .ab-ltv2-device__grid,
    .ab-ltv2-plan article,
    .ab-ltv2-process li,
    .ab-lcv2-causes article,
    .ab-lcv2-platform,
    .ab-lcv2-process li {
        min-height: 0 !important;
    }

    .ab-slh2-choice__grid a { min-height: 190px !important; }
    .ab-ltv2-device__media { height: 390px; }
    .ab-lcv2-platform__media { height: 350px; }
    .ab-lcv2-devices article { grid-template-rows: none; }
}

@media (max-width: 480px) {
    :is(.ab-sbv2,.ab-scv3,.ab-slh2,.ab-hfv2,.ab-ltv2,.ab-lcv2) {
        --ab-clinic-section-y: 54px;
        --ab-clinic-heading-gap: 26px;
    }
}
