/* Layout Fix - Ensure Proper Centering */

/* Remove any potential overflow issues */
html, body {
    overflow-x: hidden;
    width: 100%;
}

body {
    margin: 0;
    padding: 0;
}

.off-canvas-wrapper {
    overflow-x: hidden;
    width: 100%;
}

#page.site {
    overflow-x: hidden;
}

.site-content {
    overflow-x: hidden;
}

/* Ensure containers are perfectly centered */
.container {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Fix any row overflow */
.row {
    margin-left: -15px;
    margin-right: -15px;
}

.row > * {
    padding-left: 15px;
    padding-right: 15px;
}

/* Ensure no negative margins on main content */
.site-main {
    margin-left: 0;
    margin-right: 0;
}

/* Remove any extra padding that might cause asymmetry */
.content-area {
    padding-left: 0;
    padding-right: 0;
}

/* CRITICAL FIX: Make homepage-v2 full width like other homepage templates */
body.page-template-template-homepage-v2 .content-area {
    width: 100% !important;
    flex: 0 0 auto !important;
}

/* Ensure site-main is full width on homepage */
body.page-template-template-homepage-v2 .site-main {
    width: 100% !important;
}

/* Fix any flexbox issues on homepage */
body.page-template-template-homepage-v2 .site-content {
    display: block !important;
}

/* Ensure proper centering for all homepage content */
body.page-template-template-homepage-v2 .container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* FIX ALL OTHER PAGES: Ensure proper centering for all pages */
body .site-content {
    display: block !important;
}

body .content-area {
    width: 100% !important;
    flex: 0 0 auto !important;
}

body .site-main {
    width: 100% !important;
}

/* Ensure all containers are properly centered */
body .container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* REGISTER PAGE FIX: Override homepage-specific styles for auth pages */
body.page-template-template-homepage-v2 .login-register-page {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Ensure register page content is properly centered */
body.page-template-template-homepage-v2 .login-register-page .row {
    margin-left: -15px !important;
    margin-right: -15px !important;
}

body.page-template-template-homepage-v2 .login-register-page .row > * {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Fix register page container centering */
body.page-template-template-homepage-v2 .login-register-page .container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Ensure register page forms are centered */
body.page-template-template-homepage-v2 .login-form-container,
body.page-template-template-homepage-v2 .register-form-container {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Additional register page centering fixes */
body.page-template-template-homepage-v2 .login-register-page {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px 15px 40px !important;
}

/* Fix any potential overflow issues on register page */
body.page-template-template-homepage-v2 .login-register-page .row {
    width: 100% !important;
    max-width: 100% !important;
}

/* Ensure proper spacing and centering for all auth pages */
body.page-template-template-homepage-v2 .site-content {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

/* Mobile responsive fixes for register page */
@media (max-width: 991.98px) {
    body.page-template-template-homepage-v2 .login-register-page {
        padding: 15px !important;
    }
    
    body.page-template-template-homepage-v2 .login-register-page .row {
        margin-left: -15px !important;
        margin-right: -15px !important;
    }
    
    body.page-template-template-homepage-v2 .login-register-page .row > * {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

