/* === Elementor Global Color Definitions === */
/* These were stored in WordPress DB and missing from static export */
:root {
  --e-global-color-64fb3ed: #222222;   /* Dark background (header, dark sections) */
  --e-global-color-147d088: #333333;   /* Medium dark background */
  --e-global-color-cef527d: #F9FF00;   /* Yellow accent */
  --e-global-color-9e89d4e: #ffffff;   /* White / light */
  --e-global-color-primary: #F9FF00;   /* Primary accent */
  --e-global-color-text: #ffffff;      /* Text on dark backgrounds */
}

/* === Fix white gap between header and hero === */
body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Override GeneratePress theme spacing that creates the white gap */
.site-content {
  padding: 0 !important;
}
.separate-containers .site-main,
.site-main {
  margin: 0 !important;
}
.separate-containers .inside-article,
.inside-article {
  padding: 0 !important;
  margin-left: 0 !important;
}
.site.grid-container {
  max-width: 100% !important;
  padding: 0 !important;
}
.entry-content {
  margin: 0 !important;
  text-align: left !important;
}

/* === Mobile Navigation Full-Width Fix === */
@media (max-width: 1024px) {
  /* Make the mobile dropdown full viewport width, below header */
  .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: calc(100vh - 70px) !important;
    background: #222222 !important;
    z-index: 99999 !important;
    overflow-y: auto !important;
    padding: 30px !important;
    box-sizing: border-box !important;
  }

  /* Nav menu items */
  .elementor-nav-menu--dropdown .elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
  }

  .elementor-nav-menu--dropdown .elementor-nav-menu li {
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }

  .elementor-nav-menu--dropdown .elementor-nav-menu li a {
    color: #ffffff !important;
    font-size: 18px !important;
    padding: 15px 0 !important;
    display: block !important;
    text-decoration: none !important;
    font-family: Montserrat, sans-serif;
    font-weight: 600;
    text-align: center !important;
  }

  .elementor-nav-menu--dropdown .elementor-nav-menu li a:hover,
  .elementor-nav-menu--dropdown .elementor-nav-menu li a:focus {
    color: #F9FF00 !important;
  }

  /* Sub-menu items in mobile */
  .elementor-nav-menu--dropdown .sub-menu {
    padding-left: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .elementor-nav-menu--dropdown .sub-menu li {
    border-bottom: 1px solid rgba(255,255,255,0.05);
  }

  .elementor-nav-menu--dropdown .sub-menu a {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.85) !important;
  }

  .elementor-nav-menu--dropdown .sub-menu a {
    text-align: center !important;
  }

  .elementor-nav-menu--dropdown .sub-menu a:hover {
    color: #F9FF00 !important;
  }

  /* Dropdown arrow inline with text, centered together */
  .elementor-nav-menu--dropdown .elementor-nav-menu li .sub-arrow {
    position: static !important;
    display: inline !important;
    margin-left: 6px !important;
  }

  /* Close icon styling */
  .elementor-menu-toggle.elementor-active {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 100000 !important;
    color: #ffffff !important;
  }

  .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close {
    font-size: 24px;
  }
}

/* === Gallery: Uniform Grid (override Elementor justified layout) === */
.e-gallery-container.e-gallery-justified {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  height: auto !important;
}

.e-gallery-container.e-gallery-justified .e-gallery-item {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  transform: none !important;
}

.e-gallery-container.e-gallery-justified .e-gallery-item .e-gallery-image {
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}

@media (max-width: 1024px) {
  .e-gallery-container.e-gallery-justified {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .e-gallery-container.e-gallery-justified {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
