/*

Theme Name:   Astra Child WLROE

Template:     astra

Description:  Child theme for WL Roe International Holdings

Author:       Ron Olsen

Version:      1.0.0

License:      GNU General Public License v2 or later

License URI:  http://www.gnu.org/licenses/gpl-2.0.html

Text Domain:  astra-child

*/



/* ===================================

   TABLE OF CONTENTS

   1. Global Resets

   2. Header Styling

   3. Footer Styling

   4. Responsive Design

   =================================== */

/* ===================================

   0. ASTRA CORE OVERRIDES (CRITICAL)

   =================================== */



/* Override Astra's HFB header spacing system */

body.ast-hfb-header #page,

body.ast-hfb-header,

.ast-hfb-header .site,

.ast-hfb-header #content {

    padding-top: 0 !important;

    margin-top: 0 !important;

}



/* Override transparent header spacing behavior */

body.ast-theme-transparent-header,

.ast-theme-transparent-header #page,

.ast-theme-transparent-header .site-content {

    padding-top: 0 !important;

    margin-top: 0 !important;

}



/* Override ast-plain-container default padding */

.ast-plain-container #primary,

.ast-plain-container .site-content,

.ast-plain-container .ast-container {

    padding-top: 0 !important;

    padding-left: 0 !important;

    padding-right: 0 !important;

    margin-top: 0 !important;

}



/* Force removal of any Astra article spacing */

.ast-single-post .entry-content,

.ast-article-single {

    padding-top: 0 !important;

    margin-top: 0 !important;

}


/* ===================================

   1. GLOBAL RESETS

   =================================== */



/* Remove all top spacing globally */

html, body {

    margin: 0 !important;

    padding: 0 !important;

}



/* Override Astra's container padding variables */

:root {

    --ast-container-default-xlg-padding: 0 !important;

    --ast-container-default-lg-padding: 0 !important;

    --ast-container-default-slg-padding: 0 !important;

    --ast-container-default-md-padding: 0 !important;

    --ast-container-default-sm-padding: 0 !important;

    --ast-container-default-xs-padding: 0 !important;

    --ast-container-default-xxs-padding: 0 !important;

}



/* Remove spacing from all Astra wrappers */

#page, 

.site, 

#content, 

.ast-container, 

.site-content, 

main, 

.entry-content, 

.ast-plain-container,

.ast-page-builder-template,

.ast-page-builder-template .site-content > .ast-container,

#primary,

.content-area {

    margin: 0 !important;

    padding: 0 !important;

}



/* Force body to start at top */

body {

    position: relative !important;

}



/* Remove first-child spacing */

body > *:first-child,

#page > *:first-child {

    margin-top: 0 !important;

    padding-top: 0 !important;

}



/* Admin bar compensation (only when logged in) */

body.admin-bar header[data-elementor-id="46"] {

    margin-top: 32px !important;

}





/* ===================================

   2. HEADER STYLING

   =================================== */



/* Force Elementor header to absolute top */

.elementor-location-header,

header.elementor-location-header,

header[data-elementor-id="46"] {

    position: relative !important;

    top: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    z-index: 999 !important;

    background-color: #0F1A2B !important;

}



/* Header container background */

header[data-elementor-id="46"] .e-con,

header[data-elementor-id="46"] .e-con-inner {

    background-color: #0F1A2B !important;

    min-height: 80px !important;

    padding: 20px 40px !important;

}



/* Header flexbox layout */

header[data-elementor-id="46"] .e-con.e-flex {

    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

}



/* Header logo visibility */

header[data-elementor-id="46"] .elementor-widget-theme-site-logo,

header[data-elementor-id="46"] .elementor-widget-theme-site-logo img {

    display: block !important;

    max-height: 50px !important;

    width: auto !important;

    opacity: 1 !important;

    visibility: visible !important;

}



/* Header menu styling */

header[data-elementor-id="46"] .elementor-nav-menu a {

    color: #ffffff !important;

    font-size: 16px !important;

    font-weight: 500 !important;

    padding: 10px 15px !important;

}



header[data-elementor-id="46"] .elementor-nav-menu a:hover {

    color: #cccccc !important;

}





/* ===================================

   3. FOOTER STYLING

   =================================== */



/* Main footer container */

footer[data-elementor-id="112"] {

    background-color: #0F1A2B !important;

    color: #ffffff !important;

    padding: 40px 40px 20px 40px !important;

    margin: 0 !important;

    min-height: auto !important;

}



/* Footer inner containers */

footer[data-elementor-id="112"] .e-con,

footer[data-elementor-id="112"] .e-con-inner,

footer[data-elementor-id="112"] .elementor-container {

    background-color: transparent !important;

    color: #ffffff !important;

}



/* Main content row (two columns) - force horizontal layout */

footer[data-elementor-id="112"] > .e-con > .e-con:first-child {

    display: flex !important;

    flex-direction: row !important;

    justify-content: space-between !important;

    align-items: flex-start !important;

    max-width: 1200px !important;

    margin: 0 auto 30px auto !important;

    padding: 0 !important;

}



/* Left column - logo and contact */

footer[data-elementor-id="112"] .footer-left,

footer[data-elementor-id="112"] > .e-con > .e-con:first-child > .e-con:first-child {

    width: 50% !important;

    flex: 0 0 50% !important;

    display: flex !important;

    flex-direction: column !important;

    align-items: flex-start !important;

    padding-right: 40px !important;

}



/* Right column - menu */

footer[data-elementor-id="112"] .footer-right,

footer[data-elementor-id="112"] > .e-con > .e-con:first-child > .e-con:last-child {

    width: 50% !important;

    flex: 0 0 50% !important;

    display: flex !important;

    flex-direction: column !important;

    align-items: flex-end !important;

    text-align: right !important;

}



/* Copyright bar - full width centered */

footer[data-elementor-id="112"] > .e-con > .e-con:last-child {

    width: 100% !important;

    text-align: center !important;

    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;

    padding-top: 20px !important;

    margin-top: 20px !important;

}



/* All footer text white */

footer[data-elementor-id="112"],

footer[data-elementor-id="112"] p,

footer[data-elementor-id="112"] span,

footer[data-elementor-id="112"] div,

footer[data-elementor-id="112"] .elementor-widget-text-editor,

footer[data-elementor-id="112"] .elementor-text-editor {

    color: #ffffff !important;

}



/* Footer links */

footer[data-elementor-id="112"] a {

    color: #ffffff !important;

    text-decoration: none !important;

    transition: opacity 0.3s ease !important;

}



footer[data-elementor-id="112"] a:hover {

    opacity: 0.7 !important;

}



/* Footer logo */

footer[data-elementor-id="112"] img {

    max-width: 180px !important;

    height: auto !important;

    margin-bottom: 15px !important;

    opacity: 1 !important;

    visibility: visible !important;

}



/* Footer menu styling */

footer[data-elementor-id="112"] .elementor-nav-menu {

    text-align: right !important;

}



footer[data-elementor-id="112"] .elementor-nav-menu a {

    display: block !important;

    padding: 5px 0 !important;

    font-size: 14px !important;

}



/* Copyright text */

footer[data-elementor-id="112"] .copyright-text,

footer[data-elementor-id="112"] > .e-con > .e-con:last-child p {

    font-size: 14px !important;

    text-align: center !important;

    margin: 0 !important;

}



/* Remove excessive widget padding */

footer[data-elementor-id="112"] .elementor-widget-wrap {

    padding: 0 !important;

}



/* Remove space below footer */

footer[data-elementor-id="112"] {

    margin-bottom: 0 !important;

}



/* Hide Astra footer completely */

.ast-footer-overlay,

.site-footer {

    display: none !important;

}





/* ===================================

   4. RESPONSIVE DESIGN

   =================================== */



/* Tablet and below - stack footer columns */

@media (max-width: 768px) {

    /* Stack header items on mobile */

    header[data-elementor-id="46"] .e-con.e-flex {

        flex-direction: column !important;

        text-align: center !important;

    }

    

    header[data-elementor-id="46"] .elementor-nav-menu {

        margin-top: 15px !important;

    }

    

    /* Stack footer columns */

    footer[data-elementor-id="112"] > .e-con > .e-con:first-child {

        flex-direction: column !important;

    }

    

    footer[data-elementor-id="112"] .footer-left,

    footer[data-elementor-id="112"] .footer-right,

    footer[data-elementor-id="112"] > .e-con > .e-con:first-child > .e-con {

        width: 100% !important;

        flex: 0 0 100% !important;

        align-items: center !important;

        text-align: center !important;

        padding: 0 !important;

        margin-bottom: 20px !important;

    }

    

    footer[data-elementor-id="112"] .elementor-nav-menu {

        text-align: center !important;

    }

    

    /* Reduce padding on mobile */

    header[data-elementor-id="46"] .e-con {

        padding: 15px 20px !important;

    }

    

    footer[data-elementor-id="112"] {

        padding: 30px 20px 15px 20px !important;

    }

}





/* ===================================

   CUSTOM STYLES BELOW THIS LINE
   =================================== */

/* Add any additional custom CSS here */
