/*
 * Shared vertical rhythm for Surgery Clinic V2 pages.
 * This file is loaded after the page-specific styles so spacing and fixed
 * heights can be maintained without changing each page palette or content.
 */

:is(.ab-sev2,.ab-snv2,.ab-scv2,.ab-spv2) {
    --ab-surgery-section-y: 88px;
    --ab-surgery-section-y-summary: 80px;
    --ab-surgery-heading-gap: 38px;
}

:is(.ab-sev2-heading,.ab-snv2-heading,.ab-scv2-heading,.ab-spv2-heading) {
    margin-bottom: var(--ab-surgery-heading-gap);
}

:is(.ab-sev2-intro,.ab-snv2-intro,.ab-scv2-intro,.ab-spv2-intro) {
    padding-block: var(--ab-surgery-section-y);
}

.ab-spv2--mini-lift .ab-spv2-intro--lift,
.ab-spv2--double-chin .ab-spv2-intro--lift {
    padding-block: var(--ab-surgery-section-y) 0;
}

.ab-spv2--mini-lift .ab-spv2-intro--lift header,
.ab-spv2--double-chin .ab-spv2-intro--lift header {
    padding-bottom: var(--ab-surgery-section-y);
}

:is(.ab-sev2,.ab-snv2,.ab-scv2,.ab-spv2) .ab-acv2__section {
    padding-block: var(--ab-surgery-section-y-summary);
}

:is(
    .ab-sev2-check,.ab-sev2-methods,.ab-sev2-fit,.ab-sev2-design,.ab-sev2-process,.ab-sev2-recovery,
    .ab-snv2-structure,.ab-snv2-methods,.ab-snv2-fit,.ab-snv2-design,.ab-snv2-process,.ab-snv2-recovery,
    .ab-scv2-types,.ab-scv2-assess,.ab-scv2-options,.ab-scv2-fit,.ab-scv2-process,.ab-scv2-course,
    .ab-spv2-features,.ab-spv2-fit,.ab-spv2-assess,.ab-spv2-process
) {
    padding-block: var(--ab-surgery-section-y);
}

:is(.ab-sev2-related,.ab-snv2-related,.ab-scv2-related,.ab-spv2-related) {
    padding-block: 56px;
}

:is(.ab-sev2-cta,.ab-snv2-cta,.ab-scv2-cta,.ab-spv2-cta) {
    padding-block: 92px;
}

:is(.ab-sev2-note,.ab-snv2-note,.ab-scv2-note,.ab-spv2-note) {
    padding-block: 48px 76px;
}

/* Content-led card heights prevent short copy from creating empty panels. */
.ab-sev2-methods article { min-height: 260px !important; }
.ab-sev2-process li { min-height: 210px !important; }
.ab-snv2-process li { min-height: 195px !important; }
.ab-scv2-types article,
.ab-scv2-options article,
.ab-scv2-process li { min-height: 195px !important; }
.ab-spv2-process li { min-height: 195px !important; }

@media (max-width: 900px) {
    :is(.ab-sev2,.ab-snv2,.ab-scv2,.ab-spv2) {
        --ab-surgery-section-y: 58px;
        --ab-surgery-section-y-summary: 56px;
        --ab-surgery-heading-gap: 28px;
    }

    :is(.ab-sev2-intro,.ab-snv2-intro,.ab-spv2-intro) {
        padding-block: 58px 0;
    }

    .ab-scv2-intro {
        padding-block: 58px;
    }

    .ab-spv2--mini-lift .ab-spv2-intro--lift,
    .ab-spv2--double-chin .ab-spv2-intro--lift {
        padding-block: 58px 0;
    }

    .ab-spv2--mini-lift .ab-spv2-intro--lift header,
    .ab-spv2--double-chin .ab-spv2-intro--lift header {
        padding-bottom: 0;
    }

    :is(.ab-sev2,.ab-snv2,.ab-scv2,.ab-spv2) .ab-acv2__section {
        padding-block: var(--ab-surgery-section-y-summary);
    }

    :is(.ab-sev2-related,.ab-snv2-related,.ab-scv2-related,.ab-spv2-related) {
        padding-block: 48px;
    }

    :is(.ab-sev2-cta,.ab-snv2-cta,.ab-scv2-cta,.ab-spv2-cta) {
        padding-block: 68px;
    }

    :is(.ab-sev2-note,.ab-snv2-note,.ab-scv2-note,.ab-spv2-note) {
        padding-block: 12px 60px;
    }

    .ab-sev2-methods article,
    .ab-sev2-process li,
    .ab-snv2-process li,
    .ab-scv2-types article,
    .ab-scv2-options article,
    .ab-scv2-process li,
    .ab-spv2-process li {
        min-height: 0 !important;
    }

    /* Short eye-surgery steps should follow their content instead of reading as tall cards. */
    .ab-sev2-process li {
        padding-block: 18px !important;
    }
}

@media (max-width: 480px) {
    :is(.ab-sev2,.ab-snv2,.ab-scv2,.ab-spv2) {
        --ab-surgery-section-y: 54px;
        --ab-surgery-section-y-summary: 52px;
        --ab-surgery-heading-gap: 26px;
    }
}
