/* MAK Overview Elementor - responsive full-width CTA */
.elementor-widget-mak_overview {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
}

.elementor-widget-mak_overview > .elementor-widget-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
}

.mak-overview {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.mak-overview,
.mak-overview *,
.mak-overview *::before,
.mak-overview *::after {
    box-sizing: border-box;
}

/* Break out of boxed themes and Elementor content-width containers. */
.mak-overview--viewport {
    position: relative;
    left: auto;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Remove spacing added by the widget wrapper itself. */
.elementor-widget-mak_overview:has(.mak-overview--remove-parent-space) {
    margin: 0 !important;
    padding: 0 !important;
}

/* Elementor flexbox containers. This only activates when the setting is enabled. */
.e-con:has(> .elementor-widget-mak_overview .mak-overview--remove-parent-space),
.e-con-inner:has(> .elementor-widget-mak_overview .mak-overview--remove-parent-space) {
    padding: 0 !important;
    gap: 0 !important;
    max-width: none !important;
}

/* Elementor legacy sections and columns. */
.elementor-section:has(.mak-overview--remove-parent-space) > .elementor-container {
    width: 100% !important;
    max-width: none !important;
}

.elementor-column:has(.mak-overview--remove-parent-space) > .elementor-element-populated,
.elementor-column:has(.mak-overview--remove-parent-space) > .elementor-widget-wrap {
    padding: 0 !important;
}

.mak-overview__box {
    position: relative;
    display: flex;
    width: 100%;
    max-width: none;
    min-width: 0;
    justify-content: space-between;
    overflow: hidden;
}

.mak-overview__content {
    min-width: 0;
    flex-grow: 1;
}

.mak-overview__title {
    display: block;
    padding: 0;
    border: 0;
}

.mak-overview__description {
    width: 100%;
    max-width: 100%;
}

.mak-overview__action {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.mak-overview__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.mak-overview__button:hover,
.mak-overview__button:focus {
    text-decoration: none;
}

.mak-overview__button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.mak-overview__button-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.mak-overview__button-icon i,
.mak-overview__button-icon svg {
    display: block;
}

@media (max-width: 1024px) {
    .mak-overview__button {
        white-space: normal;
    }
}

@media (max-width: 767px) {
    .mak-overview__box {
        flex-direction: column;
    }

    .mak-overview__content {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .mak-overview__action {
        width: 100%;
        flex-basis: auto;
    }

    .mak-overview__button {
        white-space: normal;
    }
}

/* JavaScript fallback classes for browsers or editor states where :has() is unavailable. */
.mak-overview-reset-econ,
.mak-overview-reset-econ-inner {
    padding: 0 !important;
    gap: 0 !important;
    max-width: none !important;
}

.mak-overview-reset-column > .elementor-element-populated,
.mak-overview-reset-column > .elementor-widget-wrap {
    padding: 0 !important;
}

.mak-overview-reset-section > .elementor-container {
    width: 100% !important;
    max-width: none !important;
}
