﻿/* ===================================
   UserResults - FULL HEIGHT OVERRIDE
   Force full height layout - ONLY for UserResults page!
   =================================== */

/* CRITICAL: Force full height cascade - ONLY for UserResults */
body.page-userresults {
    height: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Header - fixed height, don't shrink */
body.page-userresults .site-header {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* Main content - MUST be flex and take remaining space */
body.page-userresults .main-content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    margin-bottom:20px;
}

/* Form - CRITICAL: Must be flex container */
body.page-userresults #frmMain {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

/* UserResults container - Must take all form space */
body.page-userresults .userresults-container {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

/* Title wrapper - Fixed height, centered, constrained width */
body.page-userresults .userresults-container .userresults-title-wrapper {
    width: 100% !important;
    max-width: 1352px !important;
    height: 280px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* White section - MUST fill remaining height */
body.page-userresults .userresults-container .userresults-white-section {
    width: 100% !important;
    height: auto !important;
    background: #FFFFFF !important;
    padding: 40px 20px !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}

/* Content inner - Constrained width, flexible height */
body.page-userresults .userresults-container .userresults-content-inner {
    width: 100% !important;
    max-width: 1352px !important;
    margin: 0 auto !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

/* Footer - fixed, don't shrink */
body.page-userresults .questionnaire-footer {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* Responsive adjustments */
@media (min-width: 1300px) {
    body.page-userresults .userresults-container .userresults-title-wrapper {
        padding: 114px 20px 40px 20px !important;
    }
}

@media (max-width: 1024px) {
    body.page-userresults .userresults-container .userresults-title-wrapper {
        height: 200px !important;
        padding: 24px 40px !important;
    }
    
    body.page-userresults .userresults-container .userresults-white-section {
        padding: 24px 40px !important;
    }
}

@media (max-width: 768px) {
    body.page-userresults .userresults-container .userresults-title-wrapper {
        height: 150px !important;
        padding: 24px 20px !important;
    }
    
    body.page-userresults .userresults-container .userresults-white-section {
        padding: 24px 20px !important;
    }
}