/**

 * Little Pomegranates — header nav layout, logo, dropdowns, mobile menu.

 */

/* Prevent horizontal bleed (orange strip on right edge) */
html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

/* ── Header bar ───────────────────────────────────────────── */

.filter-header {

  position: relative;

  z-index: 100;

  max-width: 100%;

  overflow: hidden;

}

@media (min-width: 1025px) {
  .elementor-29 .elementor-element-1dbb499,
  .elementor-29 .elementor-element-1dbb499 > .e-con-inner {
    flex-wrap: nowrap !important;
  }

  .elementor-29 .elementor-element-abd2e87 {
    flex: 0 0 auto !important;
    max-width: 220px !important;
    width: auto !important;
  }

  .elementor-29 .elementor-element-75392a8 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .elementor-29 .elementor-element-6d18b5e {
    flex: 0 0 auto !important;
    width: auto !important;
  }
}



.filter-header > .e-con-inner {

  display: flex !important;

  flex-wrap: nowrap !important;

  align-items: center !important;

  justify-content: space-between !important;

  gap: 12px 20px;

  min-height: 70px;

  max-width: 100%;

  padding: 8px 20px !important;

}



/* Logo column: fixed width so nav gets the rest */

.filter-header .elementor-element-abd2e87,

.filter-header .e-con-child:first-child {

  flex: 0 0 auto;

  min-width: 0;

  max-width: 220px;

}



.filter-header .ata-site-logo-with-text a.elementor-clickable {

  cursor: pointer;

  text-decoration: none !important;

}



.filter-header .ata-site-logo-img {

  max-height: 48px !important;

  width: auto !important;

  height: auto !important;

  object-fit: contain;

}



.filter-header .ata-site-logo-text {

  font-size: 11px !important;

  line-height: 1.15 !important;

  white-space: normal;

}



/* Nav column: grow and clip overflow on desktop */

.filter-header .elementor-element-75392a8,

.filter-header .main-header-menu {

  flex: 1 1 auto;

  min-width: 0;

}



.filter-header .main-header-menu .elementor-widget-container,

.filter-header .main-header-menu .ekit-wid-con {

  width: 100%;

}



/* CTA column (Request a Tour) */

.filter-header .elementor-element-6d18b5e {

  flex: 0 0 auto;

}



/* ── Desktop nav links ─────────────────────────────────────── */

@media (min-width: 1025px) {

  .filter-header .main-header-menu .elementskit-menu-hamburger {

    display: none !important;

  }



  .filter-header .main-header-menu .elementskit-menu-container {

    position: static !important;

    display: block !important;

    width: 100%;

    background: transparent !important;

    box-shadow: none !important;

    padding: 0 !important;

    transform: none !important;

  }



  .filter-header .main-header-menu .elementskit-navbar-nav {

    display: flex !important;

    flex-wrap: nowrap !important;

    align-items: center !important;

    justify-content: flex-end !important;

    gap: 0 2px;

    margin: 0 !important;

    padding: 0 !important;

    list-style: none;

  }



  .filter-header .main-header-menu .elementskit-navbar-nav > li {

    flex: 0 0 auto;

    position: relative;

  }



  .filter-header .main-header-menu .elementskit-navbar-nav > li > a.ekit-menu-nav-link {

    display: inline-flex !important;

    align-items: center;

    gap: 4px;

    white-space: nowrap;

    font-size: 13px !important;

    font-weight: 600;

    padding: 10px 10px !important;

    line-height: 1.2;

    color: var(--e-global-color-white, #fff) !important;

    text-decoration: none !important;

    border-radius: 6px;

    transition: color 0.2s, background 0.2s;

  }



  .filter-header .main-header-menu .elementskit-navbar-nav > li > a.ekit-menu-nav-link:hover,

  .filter-header .main-header-menu .elementskit-navbar-nav > li.current-menu-item > a.ekit-menu-nav-link {

    color: var(--e-global-color-accent, #ff7350) !important;

  }



  .filter-header .main-header-menu .elementskit-submenu-indicator {

    width: 10px;

    height: 10px;

    flex-shrink: 0;

  }



  /* Dropdown panels — no gap under trigger (gap breaks :hover when moving to menu) */

  .filter-header .main-header-menu .elementskit-menu-container {

    overflow: visible !important;

  }



  .filter-header .main-header-menu .menu-item-has-children {

    position: relative;

  }



  .filter-header .main-header-menu .elementskit-dropdown {

    min-width: 200px;

    border-radius: 8px;

    padding: 8px 0 !important;

    margin-top: 0 !important;

    top: 100%;

    left: 0;

    z-index: 10050;

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);

    pointer-events: auto;

  }



  /* Invisible bridge so pointer never leaves the menu item between link and panel */

  .filter-header .main-header-menu .menu-item-has-children::before {

    content: "";

    position: absolute;

    left: 0;

    right: 0;

    top: 100%;

    height: 14px;

    z-index: 10049;

    display: none;

  }



  .ekit-nav-dropdown-hover .filter-header .main-header-menu .menu-item-has-children:hover::before,

  .ekit-nav-dropdown-hover .filter-header .main-header-menu .menu-item-has-children.elementskit-open::before,

  .filter-header .main-header-menu .menu-item-has-children:focus-within::before {

    display: block;

  }



  .ekit-nav-dropdown-hover .filter-header .main-header-menu .menu-item-has-children:hover > .elementskit-dropdown,

  .ekit-nav-dropdown-hover .filter-header .main-header-menu .menu-item-has-children.elementskit-open > .elementskit-dropdown,

  .filter-header .main-header-menu .menu-item-has-children:focus-within > .elementskit-dropdown {

    display: block !important;

    visibility: visible !important;

    opacity: 1 !important;

  }



  #user-profile-menu > .elementskit-dropdown {

    right: 0;

    left: auto;

  }



  #user-profile-menu::before {

    left: 0;

    right: 0;

  }



  .filter-header .main-header-menu .elementskit-dropdown .dropdown-item {

    display: block;

    padding: 10px 18px !important;

    font-size: 14px;

    white-space: nowrap;

  }



  #user-profile-menu .ekit-menu-nav-link {

    display: inline-flex !important;

    align-items: center;

    gap: 6px;

  }



  #user-profile-menu .nav-profile-avatar {

    width: 32px;

    height: 32px;

    border-radius: 50%;

    object-fit: cover;

    flex-shrink: 0;

  }



  #nav-pay-tuition a.ekit-menu-nav-link {

    color: var(--e-global-color-accent, #ff7350) !important;

  }

}



/* ── Tablet / mobile ─────────────────────────────────────────── */

@media (max-width: 1024px) {

  .filter-header > .e-con-inner {

    flex-wrap: wrap;

    min-height: 60px;

  }



  .filter-header .elementor-element-75392a8 {

    flex: 1 1 100%;

    order: 3;

  }



  .filter-header .main-header-menu .elementskit-menu-hamburger {

    margin-left: auto;

  }



  .filter-header .elementskit-menu-container.elementskit-menu-offcanvas-elements {

    max-height: min(85vh, 560px);

    overflow-y: auto;

    -webkit-overflow-scrolling: touch;

  }



  .filter-header .elementskit-navbar-nav > li > a.ekit-menu-nav-link {

    padding: 12px 16px !important;

    font-size: 15px !important;

  }



  .filter-header .elementskit-dropdown .dropdown-item {

    padding: 10px 16px 10px 28px !important;

  }



  body.account-dropdown-open {

    overflow: hidden;

  }



  #user-profile-menu.elementskit-open > .elementskit-dropdown {

    position: static !important;

    display: block !important;

    box-shadow: none;

    margin-left: 12px;

  }

}



/* Guest Sign In + About dropdowns */

#menu-item-nav-account-guest .elementskit-submenu-panel,

#menu-item-nav-about .elementskit-submenu-panel {

  min-width: 200px;

}



/* Hide broken orphan items if any slip through */

#menu-header-menu > li > a.dropdown-item:not(.ekit-menu-nav-link) {

  display: none !important;

}



/* Password fields (auth pages) */

.password-field-wrap {

  position: relative;

}



.password-field-wrap .form-control {

  padding-right: 3rem;

}



.password-toggle-btn {

  position: absolute;

  right: 12px;

  top: 50%;

  transform: translateY(-50%);

  border: 0;

  background: transparent;

  color: var(--e-global-color-text, #666);

  cursor: pointer;

  padding: 4px 8px;

  line-height: 1;

  font-size: 13px;

  font-weight: 600;

}



.password-toggle-btn:hover,

.password-toggle-btn:focus-visible {

  color: var(--e-global-color-accent, #e85d4c);

  outline: none;

}



.profile-avatar-block {

  text-align: center;

  margin-bottom: 1.5rem;

}



.profile-avatar-block img {

  width: 96px;

  height: 96px;

  border-radius: 50%;

  object-fit: cover;

  border: 3px solid var(--e-global-color-accent, #e85d4c);

}



.profile-avatar-block label.btn-default {

  display: inline-block;

  margin-top: 12px;

  cursor: pointer;

}



.profile-avatar-block input[type="file"] {

  position: absolute;

  width: 1px;

  height: 1px;

  opacity: 0;

  overflow: hidden;

}


