/* ==========================================================================
   Actiefhost Site-Wide Spacing & Vertical Rhythm Harmonizer
   Establishes consistent, professional vertical spacing across all landing pages
   (SiteGround / Bluehost balanced standards).
   ========================================================================== */

:root {
    --ah-section-padding-y: 64px;
    --ah-section-padding-y-md: 48px;
    --ah-section-padding-y-sm: 36px;
    --ah-heading-margin-bottom: 36px;
}

/* --------------------------------------------------------------------------
   1. Standardized Section Padding Across All Main Template Sections
   -------------------------------------------------------------------------- */
.section.spdtb,
.section.spdt,
.migrate-section,
.service-reviews-section,
.green-section,
.home-solutions-section,
.home-audience-section,
.home-proof-section,
.home-blog-section,
.domain-benefits {
    padding-top: var(--ah-section-padding-y) !important;
    padding-bottom: var(--ah-section-padding-y) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   1.1 Package Details ("Inbegrepen") Section Spacing
   Functions as the immediate specification addon below pricing tiers.
   Tighter padding bridges pricing cards and features without dead whitespace.
   -------------------------------------------------------------------------- */
.section-pricing {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.section-pricing .pricing-table .pricing-box {
    margin-bottom: 0 !important;
}

.section.hosting-package-details,
.hosting-package-details {
    padding-top: 36px !important;
    padding-bottom: 32px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Tighten the top padding of the showcase section directly following Inbegrepen
   so two consecutive white sections don't produce double padding (64px + 64px = 128px) */
.hosting-package-details + .shared-showcase,
.hosting-package-details + .wp-showcase,
.hosting-package-details ~ .shared-showcase:first-of-type,
.hosting-package-details ~ .wp-showcase:first-of-type {
    padding-top: 36px !important;
}

/* Fix legacy inline classes that forced 120px padding-top on domain pages */
.section.ah-inline-fbfbccfa23,
.ah-inline-fbfbccfa23 {
    padding-top: var(--ah-section-padding-y) !important;
    padding-bottom: var(--ah-section-padding-y) !important;
}

/* Companies logo strip */
.home-companies-section {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
    margin: 0 !important;
}

/* --------------------------------------------------------------------------
   2. Terminal & Trailing Sections (FAQ & Bottom CTA)
   -------------------------------------------------------------------------- */
/* FAQ section: ensure it has balanced bottom breathing room */
.section.section-faq,
.section:has(.block-accordion),
.section:has(.domain-benefits__grid) {
    padding-top: var(--ah-section-padding-y) !important;
    padding-bottom: var(--ah-section-padding-y) !important;
}

/* Bottom CTA section: sits above the footer with clean padding */
.section.section-bottom-cta,
.section:has(.service-bottom-cta) {
    padding-top: 48px !important;
    padding-bottom: 60px !important;
}

.service-bottom-cta {
    margin: 0 !important;
}

/* --------------------------------------------------------------------------
   3. Heading Spacing Normalization
   -------------------------------------------------------------------------- */
.heading.align-center.mb60,
.heading.mb60,
.domain-benefits__heading.mb60,
.home-section-head {
    margin-bottom: var(--ah-heading-margin-bottom) !important;
}

.heading .heading-title {
    margin-bottom: 12px !important;
}

/* --------------------------------------------------------------------------
   4. Visual Images in Split Feature Rows (Never Hidden)
   -------------------------------------------------------------------------- */
.shared-split-visual,
.wp-split-visual,
.cms-panel-visual {
    display: block !important;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* --------------------------------------------------------------------------
   5. Responsive Breakpoints (Tablet & Mobile Scaling)
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    :root {
        --ah-section-padding-y: 48px;
        --ah-heading-margin-bottom: 28px;
    }

    .section.spdtb,
    .section.spdt,
    .migrate-section,
    .service-reviews-section,
    .green-section,
    .home-solutions-section,
    .home-audience-section,
    .home-proof-section,
    .home-blog-section,
    .domain-benefits,
    .section.ah-inline-fbfbccfa23 {
        padding-top: var(--ah-section-padding-y-md) !important;
        padding-bottom: var(--ah-section-padding-y-md) !important;
    }

    .section.hosting-package-details,
    .hosting-package-details {
        padding-top: 28px !important;
        padding-bottom: 24px !important;
    }

    .hosting-package-details + .shared-showcase,
    .hosting-package-details + .wp-showcase,
    .hosting-package-details ~ .shared-showcase:first-of-type,
    .hosting-package-details ~ .wp-showcase:first-of-type {
        padding-top: 28px !important;
    }

    .section:has(.service-bottom-cta) {
        padding-top: 36px !important;
        padding-bottom: 48px !important;
    }
}

@media (max-width: 767.98px) {
    :root {
        --ah-section-padding-y: 36px;
        --ah-heading-margin-bottom: 22px;
    }

    .section.spdtb,
    .section.spdt,
    .migrate-section,
    .service-reviews-section,
    .green-section,
    .home-solutions-section,
    .home-audience-section,
    .home-proof-section,
    .home-blog-section,
    .domain-benefits,
    .section.ah-inline-fbfbccfa23 {
        padding-top: var(--ah-section-padding-y-sm) !important;
        padding-bottom: var(--ah-section-padding-y-sm) !important;
    }

    .section.hosting-package-details,
    .hosting-package-details {
        padding-top: 24px !important;
        padding-bottom: 20px !important;
    }

    .hosting-package-details + .shared-showcase,
    .hosting-package-details + .wp-showcase,
    .hosting-package-details ~ .shared-showcase:first-of-type,
    .hosting-package-details ~ .wp-showcase:first-of-type {
        padding-top: 24px !important;
    }

    .section:has(.service-bottom-cta) {
        padding-top: 28px !important;
        padding-bottom: 36px !important;
    }
}
