/* Keep both CTAs and their shared arrow pair in normal flow at every width.
 * The row wraps when necessary, so no control can overlap the adjacent cards. */
html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(12px, 1.25vw, 24px) !important;
    width: 100% !important;
    min-width: 0;
    min-height: 45px;
    margin-top: auto !important;
    margin-bottom: 0 !important;
}

html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 > .elementor-widget-button {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100%;
}

html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 .elementor-widget-button .elementor-button.elementor-button-link {
    max-width: 100%;
    white-space: nowrap !important;
}

html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 > .elementor-element-c1e7a01 {
    display: block !important;
    flex: 0 0 auto !important;
    width: 98px !important;
    min-width: 98px !important;
    max-width: 100%;
    margin: 0 !important;
    align-self: center !important;
}

/* The proxy buttons own navigation in the action row through the existing Swiper API. */
html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element-aef222c > .elementor-swiper-button {
    display: none !important;
}

html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element-aef222c {
    padding-top: 0 !important;
}

/* Compact desktop side padding lets the full control row fit before wrapping. */
@media (min-width: 1201px) {
    html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 .elementor-widget-button .elementor-button.elementor-button-link {
        padding-inline: clamp(12px, 1.25vw, 24px) !important;
    }
}

@media (min-width: 1201px) {
    html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 {
        flex-wrap: nowrap !important;
    }
}

/* On phones the arrow pair wraps together beneath the left-aligned text controls. */
@media (max-width: 767px) {
    html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 {
        justify-content: flex-start !important;
    }
    html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 > .elementor-element-c1e7a01 {
        flex-basis: 100% !important;
        width: 100% !important;
    }
    html body.single-solution .elementor.elementor-45359 .cie-solution-tablet-nav {
        justify-content: flex-start !important;
    }
}

/* The outer shared section owns gutters; the boxed inner rail owns max-width. */
html body.single-solution .elementor.elementor-45359 > .elementor-element.elementor-element-2292cac {
    padding-inline: var(--cie-section-padding-inline, clamp(20px, 4.167vw, 80px)) !important;
    box-sizing: border-box;
}
html body.single-solution .elementor.elementor-45359 > .elementor-element.elementor-element-2292cac > .e-con-inner {
    padding-inline: 0 !important;
    min-width: 0;
}
html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac > .e-con-inner > .e-con {
    min-width: 0;
}

/* Keep the section title aligned with its CTA row at every breakpoint. */
html body.single-solution .elementor.elementor-45359 .elementor-element.elementor-element-1abd43d {
    align-items: flex-start !important;
    text-align: left !important;
}
html body.single-solution .elementor.elementor-45359 .elementor-element-1abd43d > .elementor-widget-heading {
    width: 100% !important;
    text-align: left !important;
}
html body.single-solution .elementor.elementor-45359 .elementor-element-1abd43d .elementor-heading-title {
    text-align: left !important;
}

/* Centre the icon and title as one group inside each equal-height solution card. */
html body.single-solution .elementor.elementor-45359 .elementor-1923 .solutionslider > .e-con-inner {
    justify-content: center !important;
}

/* Shared control geometry: circle diameter equals text line plus block padding. */
html body.single-solution .elementor.elementor-45359 .elementor-element.elementor-element-f0eefa9 {
    --cie-action-font: clamp(13px, 1.11111vw, 16px);
    --cie-action-pad-block: clamp(10px, 0.625vw, 12px);
    --cie-action-pad-inline: clamp(14px, 1.25vw, 24px);
    --cie-action-nav-gap: clamp(8px, 0.625vw, 12px);
    --cie-action-size: calc(var(--cie-action-font) + 2 * var(--cie-action-pad-block));
    min-height: var(--cie-action-size);
}
html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 > .elementor-widget-button {
    flex: 0 0 auto !important;
}
html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 .elementor-widget-button .elementor-button.elementor-button-link {
    font-size: var(--cie-action-font) !important;
    line-height: 1 !important;
    padding: var(--cie-action-pad-block) var(--cie-action-pad-inline) !important;
    transition-property: background-color, color, border-color, box-shadow, transform !important;
    white-space: nowrap !important;
}
html body.single-solution .elementor.elementor-45359 .elementor-element-f0eefa9 .elementor-button-content-wrapper,
html body.single-solution .elementor.elementor-45359 .elementor-element-f0eefa9 .elementor-button-text {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}
html body.single-solution .elementor.elementor-45359 .cie-solution-tablet-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    flex: 0 0 var(--cie-action-size);
    width: var(--cie-action-size);
    height: var(--cie-action-size);
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1;
    padding: var(--cie-action-pad-block) !important;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: #A6CE39;
    color: #292929;
    line-height: 1;
}
html body.single-solution .elementor.elementor-45359 .cie-solution-tablet-nav button svg {
    display: block;
    flex: 0 0 var(--cie-action-font);
    width: var(--cie-action-font);
    height: var(--cie-action-font);
    fill: none;
}
@media (min-width: 768px) {
    html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 > .elementor-element-c1e7a01 {
        width: calc(2 * var(--cie-action-size) + var(--cie-action-nav-gap)) !important;
        min-width: calc(2 * var(--cie-action-size) + var(--cie-action-nav-gap)) !important;
    }
}
@media (max-width: 767px) {
    html body.single-solution .elementor.elementor-45359 .elementor-element.elementor-element-f0eefa9 {
        --cie-action-font: clamp(13px, 3.84615vw, 15px);
        --cie-action-pad-block: clamp(10px, 3.076923vw, 12px);
        --cie-action-pad-inline: clamp(12px, 3.58974vw, 14px);
    }
}

/* Fluid card typography and insets, shared by every solution template mount. */
html body.single-solution .elementor.elementor-45359 .elementor-1923 .solutionslider {
    padding-inline: clamp(14px, 1.5625vw, 30px) !important;
}
html body.single-solution .elementor.elementor-45359 .elementor-1923 .solutionslider > .e-con-inner {
    padding-block: clamp(20px, 1.5625vw, 30px) !important;
}
html body.single-solution .elementor.elementor-45359 .elementor-1923 .solutionslider .elementor-heading-title {
    font-size: clamp(16px, 1.25vw, 22px) !important;
    line-height: 1.45 !important;
}

/* Align the stacked intro to the same left gutter as the carousel below. */
@media (max-width: 1024px) {
    html body.single-solution .elementor.elementor-45359 .elementor-element.elementor-element-1abd43d {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    html body.single-solution .elementor.elementor-45359 .elementor-element-1abd43d > .elementor-widget-heading {
        width: auto !important;
    }
    html body.single-solution .elementor.elementor-45359 .elementor-element-1abd43d .elementor-heading-title {
        text-align: left !important;
    }
    html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: clamp(4px, 1vw, 10px) !important;
    }
    html body.single-solution .elementor.elementor-45359 .elementor-element-2292cac .elementor-element.elementor-element-f0eefa9 > .elementor-element-c1e7a01 {
        flex: 0 0 auto !important;
        width: calc(2 * var(--cie-action-size) + var(--cie-action-nav-gap)) !important;
        min-width: calc(2 * var(--cie-action-size) + var(--cie-action-nav-gap)) !important;
    }
    html body.single-solution .elementor.elementor-45359 .elementor-element-aef222c .swiper {
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media (max-width: 767px) {
    html body.single-solution .elementor.elementor-45359 .elementor-element.elementor-element-f0eefa9 {
        --cie-action-font: clamp(10px, 3.125vw, 13px);
        --cie-action-pad-block: clamp(8px, 2.5vw, 10px);
        --cie-action-pad-inline: clamp(9px, 2.564103vw, 18px);
        --cie-action-nav-gap: clamp(4px, 1vw, 8px);
    }
}
