/* CMS collection layouts */

/* Compact collections */

:is(
    [data-cms-slug="home-features"],
    [data-cms-slug="home-contact-benefits"],
    [data-cms-slug="about-values"],
    [data-cms-slug="about-benefits"],
    [data-cms-slug="services-hero-highlights"],
    [data-cms-slug="services-benefits"],
    [data-cms-slug="contact-contact-details"],
    [data-cms-slug="how-it-works-benefits"],
    [data-cms-slug="how-it-works-service-options"]
) {
    display: grid !important;
    grid-template-columns: repeat(
        auto-fit,
        minmax(min(190px, 100%), 1fr)
    ) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 1rem !important;
}

/* Large card collections */

:is(
    [data-cms-slug="services-service-cards"],
    [data-cms-slug="pricing-service-cards"]
) {
    display: grid !important;
    grid-template-columns: repeat(
        auto-fit,
        minmax(min(300px, 100%), 1fr)
    ) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 1.25rem !important;
}

:is(
    [data-cms-slug="pricing-additional-services"],
    [data-cms-slug="home-process-steps"],
    [data-cms-slug="services-process"]
) {
    display: grid !important;
    grid-template-columns: repeat(
        auto-fit,
        minmax(min(220px, 100%), 1fr)
    ) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 1rem !important;
}

[data-cms-slug="contact-contact-details"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Flexible item sizing */

:is(
    [data-cms-slug="global-footer-highlights"],
    [data-cms-slug="home-features"],
    [data-cms-slug="home-process-steps"],
    [data-cms-slug="home-contact-benefits"],
    [data-cms-slug="about-values"],
    [data-cms-slug="about-benefits"],
    [data-cms-slug="services-hero-highlights"],
    [data-cms-slug="services-service-cards"],
    [data-cms-slug="services-process"],
    [data-cms-slug="services-benefits"],
    [data-cms-slug="pricing-service-cards"],
    [data-cms-slug="pricing-additional-services"],
    [data-cms-slug="contact-contact-details"],
    [data-cms-slug="contact-help-topics"],
    [data-cms-slug="how-it-works-benefits"],
    [data-cms-slug="how-it-works-process-steps"],
    [data-cms-slug="how-it-works-service-options"],
    [data-cms-slug="faqs-questions"]
) > * {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: initial !important;
    align-self: stretch !important;
    box-sizing: border-box;
    overflow: visible !important;
}

/* Long collection content */

:is(
    [data-cms-slug="global-footer-highlights"],
    [data-cms-slug="home-features"],
    [data-cms-slug="home-process-steps"],
    [data-cms-slug="home-contact-benefits"],
    [data-cms-slug="about-values"],
    [data-cms-slug="about-benefits"],
    [data-cms-slug="services-hero-highlights"],
    [data-cms-slug="services-service-cards"],
    [data-cms-slug="services-process"],
    [data-cms-slug="services-benefits"],
    [data-cms-slug="pricing-service-cards"],
    [data-cms-slug="pricing-additional-services"],
    [data-cms-slug="contact-contact-details"],
    [data-cms-slug="contact-help-topics"],
    [data-cms-slug="how-it-works-benefits"],
    [data-cms-slug="how-it-works-process-steps"],
    [data-cms-slug="how-it-works-service-options"],
    [data-cms-slug="faqs-questions"]
) > * :is(
    div,
    h2,
    h3,
    h4,
    p,
    span,
    strong,
    a,
    li
) {
    min-width: 0;
    max-width: 100%;

    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Collection separators */

[data-cms-slug="services-benefits"] > *,
[data-cms-slug="about-values"] > *,
[data-cms-slug="how-it-works-benefits"] > * {
    border-left: 0 !important;
    border-right: 0 !important;
}

/* Centred collection content */

:is(
    [data-cms-slug="services-benefits"],
    [data-cms-slug="about-values"],
    [data-cms-slug="about-benefits"],
    [data-cms-slug="how-it-works-benefits"]
) > * {
    text-align: center;
}

/* Mobile collections */

@media (max-width: 767.98px) {
    :is(
        [data-cms-slug="home-features"],
        [data-cms-slug="home-contact-benefits"],
        [data-cms-slug="about-values"],
        [data-cms-slug="about-benefits"],
        [data-cms-slug="services-hero-highlights"],
        [data-cms-slug="services-service-cards"],
        [data-cms-slug="services-process"],
        [data-cms-slug="services-benefits"],
        [data-cms-slug="pricing-service-cards"],
        [data-cms-slug="pricing-additional-services"],
        [data-cms-slug="contact-contact-details"],
        [data-cms-slug="how-it-works-benefits"],
        [data-cms-slug="how-it-works-service-options"]
    ) {
        grid-template-columns: 1fr !important;
    }
}
