/* Balanced 50/50 Layout & Full Centering */

/* 1. Full Page Centering */
body.page-template-elementor_canvas,
body.page-template-elementor_header_footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

/* Adjust for Admin Bar */
body.admin-bar.page-template-elementor_canvas,
body.admin-bar.page-template-elementor_header_footer {
    min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
}

#page-content,
#content,
.site-content,
.elementor-section-wrap,
.elementor-kit-active {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 2. Half-Full columns (50/50 Grid / Flex Split) */
.elementor-row,
.elementor-container,
.elementor-widget-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

/* Direct column balancing */
.elementor-column,
.elementor-column-wrap,
.elementor-element.elementor-grid-item {
    flex: 1 1 50% !important;
    max-width: 50% !important;
    box-sizing: border-box;
    padding: 20px;
}

/* Mobile responsive fallback (stacked columns on small viewports) */
@media (max-width: 767px) {
    .elementor-column,
    .elementor-column-wrap,
    .elementor-element.elementor-grid-item {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}
