/* 
 * Ketevan Gavasheli - Global Layout Styles (ZERO GAP RESET)
 * ==========================================================
 */

/* 1. Global Reset (Nuke the top gap) */
:root {
    --wp--style--root--padding-top: 0px !important;
}

html, body {
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100% !important;
}

/* Neutralize WP/admin-bar offsets that can push sticky headers down */
html:root {
    margin-top: 0 !important;
}

html:root body.admin-bar,
html:root body.admin-bar #page,
html:root body.admin-bar .site,
html:root body.admin-bar .wp-site-blocks {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html:root body.admin-bar header#masthead,
html:root body.admin-bar .site-header,
html:root body.ehf-header header#masthead.hfe-sticky-header,
html:root body.ehf-header .hfe-sticky-header {
    top: 0 !important;
    inset-block-start: 0 !important;
}

/* HIDE REDUNDANT TITLES */
.entry-title, .elementor-page-title, .page-title, #masthead > p.main-title {
    display: none !important;
}

/* 2. THE HEADER (Sticky at pixel 0) */
header#masthead,
.site-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 80px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #eeeeee !important;
    z-index: 99999 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* Centering the content within the 80px bar */
#hdr-wrap-v2 {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 50px !important;
    margin: 0 !important;
    background: #ffffff !important;
}

/* 3. Mobile menu widget must be hidden by default (desktop/tablet) */
.elementor-element-kg-hamburger-btn,
#kg-menu-toggle,
.kg-hamburger,
.kg-mobile-nav {
    display: none !important;
}

/* 3. Nuke theme wrappers that create boxes or margins */
.site, .hfeed, #page, .wp-site-blocks {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* Hide legacy elements */
#wpadminbar, 
.main-title.bhf-hidden,
#masthead > p.main-title {
    display: none !important;
}

/* 4. Polished Typography & Links */
.elementor-element-hdr-nav-v2 h6 a {
    color: #555555 !important;
    transition: color 0.3s ease !important;
}
.elementor-element-hdr-nav-v2 h6 a:hover {
    color: #C4287F !important;
}

/* Keep brand name in standard dark color across all pages */
.elementor-element-hdr-name-v2 .elementor-heading-title a,
.elementor-element-hdr-name-v2 .elementor-heading-title a:link,
.elementor-element-hdr-name-v2 .elementor-heading-title a:visited,
.elementor-element-hdr-name-v2 .elementor-heading-title a:hover,
.elementor-element-hdr-name-v2 .elementor-heading-title a:focus {
    color: #333333 !important;
    text-decoration: none !important;
}

/* Keep schedule modal CTA readable */
.kg-playbill-ticket,
.kg-playbill-ticket:link,
.kg-playbill-ticket:visited,
.kg-playbill-ticket:hover,
.kg-playbill-ticket:focus {
    color: #FFFFFF !important;
    text-decoration: none !important;
}

/* Force row for bio images on desktop */ 
#page .elementor-7 .elementor-element.elementor-element-bio_imgs_row { 
    display: flex !important; 
    flex-direction: row !important; 
    --flex-direction: row !important; 
} 
#page .elementor-7 .elementor-element.elementor-element-bio_img_col1, 
#page .elementor-7 .elementor-element.elementor-element-bio_img_col2 { 
    width: 50% !important; 
    max-width: 50% !important; 
    flex: 0 0 50% !important; 
}
/* Bio: keep sliding hero effect without bleeding image behind content */
@media (min-width: 768px) {
    #page .elementor-7 > .elementor-element.elementor-element-a27c13a {
        position: sticky !important;
        top: 80px !important;
        min-height: calc(100vh - 80px) !important;
        z-index: 0 !important;
        overflow: hidden !important;
    }

        #page .elementor-7 .elementor-element.elementor-element-bio_imgs_row { display: flex !important; flex-direction: row !important; --flex-direction: row !important; }
    #page .elementor-7 > .elementor-element:not(.elementor-element-a27c13a) {
        position: relative !important;
        z-index: 2 !important;
        background-color: #f4f4f4 !important;
    }
}

