/*
 * JaydenART homepage responsive polish.
 *
 * This asset is loaded on the homepage only. It preserves Lagom's responsive
 * container gutters and corrects the components that escape or visually break
 * that grid.
 */

.site-banner .banner-actions-buttons {
    justify-content: center;
}

.site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) {
    padding-block-start: 0 !important;
    padding-top: 0 !important;
}

.site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-content {
    inline-size: 100%;
    margin-inline: auto;
    max-inline-size: 720px;
    min-inline-size: 0;
}

.site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-actions,
.site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-actions-buttons {
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
}

.site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-actions-buttons {
    justify-content: center;
}

.site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-actions-buttons > .btn:only-child {
    inline-size: min(100%, 320px);
    justify-content: center;
    margin-inline: auto;
}

.site-section.jart-home-control-features .section-content-features {
    inline-size: 100%;
}

.site-section.jart-home-control-features .section-content-features .row {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.site-section.jart-home-control-features .section-content-features .row > [class*="col-"] {
    inline-size: auto;
    margin: 0;
    max-inline-size: none;
    padding: 0;
}

.site-section.jart-home-control-features .feature.feature-horizontal {
    background: var(--ui-block-bg-form, #fff);
    border: 1px solid var(--ui-block-divider-color, #e9eaec);
    border-radius: var(--card-border-radius, 12px);
    box-shadow: 0 1px 2px rgba(23, 25, 28, 0.04), 0 12px 32px rgba(23, 25, 28, 0.06);
    block-size: 100%;
    margin: 0;
    padding: 24px;
}

.site-section.jart-home-control-features .feature-body {
    align-items: flex-start;
    block-size: 100%;
}

.site-section.jart-home-control-features .feature.feature-icon-left .feature-body > .feature-icon {
    align-items: center;
    block-size: 44px;
    display: inline-flex;
    flex: 0 0 44px;
    inline-size: 44px;
    justify-content: center;
    margin: 0;
    margin-inline-end: 20px;
}

.site-section.jart-home-control-features .feature-icon .font-icon {
    align-items: center;
    block-size: 44px;
    display: inline-flex;
    inline-size: 44px;
    justify-content: center;
}

.site-section.jart-home-control-features .feature-content {
    min-inline-size: 0;
}

.site-section.jart-home-control-features .feature-title {
    margin-block-end: 10px;
}

@media (max-width: 991.98px) {
    .site-section.jart-home-control-features .section-content-features .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-section.jart-home-control-features .section-content-features .row > [class*="col-"]:last-child {
        grid-column: 1 / -1;
        inline-size: calc(50% - 12px);
        justify-self: center;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .site-banner.banner.banner-cms.banner-custom-graphic-overlap.banner-type-5 .banner-content {
        padding-block: 72px;
    }

    .site-banner.banner.banner-cms .banner-subtitle {
        font-size: 20px;
        line-height: 34px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .site-section.section-combined.section-graphic-type-2 > .container-default {
        column-gap: clamp(24px, 4vw, 48px);
    }

    .site-section.section-combined.section-graphic-type-2 > .container-default > .section-content {
        flex: 1 1 0;
        max-inline-size: none;
        min-inline-size: 0;
        padding-inline: 0;
    }

    .site-section.section-combined.section-graphic-type-2 > .container-default > .section-background.background-type-2 {
        flex: 0 1 42%;
        inline-size: 42% !important;
        max-inline-size: 420px;
        min-inline-size: 0;
    }

    .site-section.section-combined.section-graphic-type-2 .section-background.background-type-2 .section-graphic,
    .site-section.section-combined.section-graphic-type-2 .section-background.background-type-2 img {
        block-size: auto;
        inline-size: 100% !important;
        max-inline-size: 100% !important;
    }
}

@media (max-width: 767.98px) {
    .site-banner.banner.banner-cms.banner-custom-graphic-overlap.banner-type-5 .banner-content {
        padding-block: 56px;
    }

    .site-banner.banner.banner-cms .banner-caption {
        line-height: 22px;
    }

    .site-banner.banner.banner-cms .banner-title {
        font-size: clamp(36px, 10.25vw, 40px);
        line-height: 1.15;
        margin-block-end: 20px;
    }

    .site-banner.banner.banner-cms .banner-subtitle {
        font-size: clamp(18px, 5.1vw, 20px);
        line-height: 1.65;
        margin-block-start: 24px;
    }

    .site-banner.banner.banner-cms .banner-actions {
        margin-block-start: 24px;
    }

    .site-banner.banner.banner-cms .banner-actions .banner-actions-buttons,
    .site-banner.banner.banner-cms .banner-actions .banner-actions-buttons > .btn {
        inline-size: 100%;
        max-inline-size: 280px;
    }

    .site-banner.banner.banner-cms .banner-actions .banner-actions-buttons > .btn {
        block-size: 56px;
        justify-content: center;
        margin-inline: auto;
        min-block-size: 56px;
        padding-inline: 24px;
    }

    .site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-content {
        padding-block: 64px;
    }

    .site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-actions,
    .site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-actions-buttons {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-actions-buttons > .btn {
        inline-size: 100%;
        justify-content: center;
        margin: 0;
        max-inline-size: none;
        min-block-size: 56px;
        min-inline-size: 0;
        padding-inline: 18px;
        white-space: normal;
    }

    .site-section.jart-home-control-features {
        padding-block: 64px;
    }

    .site-section.jart-home-control-features .section-content-features .row {
        gap: 16px;
        grid-template-columns: minmax(0, 1fr);
    }

    .site-section.jart-home-control-features .section-content-features .row > [class*="col-"]:last-child {
        grid-column: auto;
        inline-size: auto;
        justify-self: stretch;
    }

    .site-section.jart-home-control-features .feature.feature-horizontal {
        padding: 20px;
    }

    .site-section.jart-home-control-features .feature.feature-icon-left .feature-body > .feature-icon {
        margin: 0;
        margin-inline-end: 16px;
    }

    .site-section.section-combined .section-background.background-type-2 {
        inline-size: 100% !important;
        margin-inline: auto !important;
        max-inline-size: 360px;
    }

    .site-section.section-combined .section-background.background-type-2 .section-graphic,
    .site-section.section-combined .section-background.background-type-2 img {
        block-size: auto;
        inline-size: 100% !important;
        max-inline-size: 100% !important;
    }
}

@media (max-width: 359.98px) {
    .site-banner.banner.banner-cms.banner-custom-graphic-overlap.banner-type-5 .banner-content {
        padding-block: 48px;
    }

    .site-banner.banner.banner-cms .banner-title,
    .site-section .section-title {
        font-size: 30px;
        line-height: 38px;
    }

    .site-section:is(.jart-home-migration, .section-sides.section-graphic-center.section-graphic-type-3.section-gray) .section-content {
        padding-block: 56px;
    }

    .site-section.jart-home-control-features .feature.feature-horizontal {
        padding: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-section.jart-home-control-features .feature.feature-horizontal {
        scroll-behavior: auto;
    }
}

@media (forced-colors: active) {
    .site-section.jart-home-control-features .feature.feature-horizontal {
        border: 1px solid CanvasText;
        box-shadow: none;
    }
}
