:root {
  --aa-header-desktop-height: 100px;
  --aa-header-mobile-height: 72px;
  --aa-admin-bar-height: 0px;
  --aa-header-z: 2147483600;
  --aa-menu-popup-z: 2147483500;
  --aa-normal-popup-z: 2147483640;
}

body.admin-bar {
  --aa-admin-bar-height: 32px;
}

@media (max-width: 782px) {
  body.admin-bar {
    --aa-admin-bar-height: 46px;
  }
}

.site-header {
  position: relative;
  z-index: 10 !important;
  transform: none !important;
  margin-top: 0 !important;
}

/* Elementor wraps the desktop/mobile header sections in the template header element.
   Raise the wrapper too, otherwise the section z-index can still sit under the popup. */
body.aa-mega-open header.elementor-location-header,
body.aa-mobile-menu-open header.elementor-location-header,
body.aa-mega-open .elementor-location-header,
body.aa-mobile-menu-open .elementor-location-header {
  position: relative !important;
  z-index: var(--aa-header-z) !important;
  isolation: isolate;
}

.logo-black {
  display: block !important;
}

.logo-white {
  display: none !important;
}

body.aa-mega-open .logo-black,
body.aa-mobile-menu-open .logo-black,
body.aa-home-white-header .logo-black {
  display: none !important;
}

body.aa-mega-open .logo-white,
body.aa-mobile-menu-open .logo-white,
body.aa-home-white-header .logo-white {
  display: block !important;
}

body.aa-mega-open .site-header a,
body.aa-mega-open .site-header svg,
body.aa-mobile-menu-open .site-header a,
body.aa-mobile-menu-open .site-header svg,
body.aa-home-white-header .site-header a,
body.aa-home-white-header .site-header svg {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* During menu popups, the real header stays above the menu popup. Normal popups stay above the header. */
body.aa-mega-open .site-header,
body.aa-mobile-menu-open .site-header {
  position: relative !important;
  z-index: var(--aa-header-z) !important;
}

.elementor-popup-modal:not(.aa-menu-popup),
.elementor-popup-modal.aa-normal-popup {
  z-index: var(--aa-normal-popup-z) !important;
}

.elementor-popup-modal.aa-menu-popup {
  z-index: var(--aa-menu-popup-z) !important;
  align-items: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-popup-modal.aa-menu-popup .dialog-widget-content {
  margin: 0 !important;
  top: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

/* The visible menu content starts below the live header. The popup background remains full height. */
.elementor-popup-modal.aa-menu-popup .dialog-message {
  padding-top: calc(var(--aa-admin-bar-height) + var(--aa-header-desktop-height)) !important;
}

body.aa-mobile-menu-open .elementor-popup-modal.aa-menu-popup .dialog-message {
  padding-top: calc(var(--aa-admin-bar-height) + var(--aa-header-mobile-height)) !important;
}

@media (max-width: 767px) {
  .elementor-popup-modal.aa-menu-popup,
  .elementor-popup-modal.aa-menu-popup .dialog-widget-content,
  .elementor-popup-modal.aa-menu-popup .dialog-message {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .elementor-popup-modal.aa-menu-popup .dialog-widget-content {
    min-height: 100vh !important;
  }
}

/* v1.3.1: stable live header clone shown above Elementor menu popups. */
.aa-menu-header-clone {
  z-index: 2147483646 !important;
  background: transparent !important;
  isolation: isolate !important;
}


.aa-menu-header-clone,
.aa-menu-header-clone * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.aa-menu-header-clone a,
.aa-menu-header-clone svg,
.aa-menu-header-clone svg path,
.aa-menu-header-clone i {
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
}

.aa-menu-header-clone .logo-black {
  display: none !important;
}

.aa-menu-header-clone .logo-white {
  display: block !important;
}
