/**
 * Header Auth Nav Menu Styles
 * Styles for "Create an Account" and "Login" nav menu items
 * + Mobile logo sizing + Mobile auth bar
 */

/* ==========================================================================
   "CREATE AN ACCOUNT" NAV MENU ITEM — Outlined style (Desktop)
   ========================================================================== */

.main-header-menu .turf-nav-create-account > a,
.ast-header-break-point .turf-nav-create-account > a,
.turf-nav-create-account > a {
  border: 1.5px solid currentColor !important;
  border-radius: 4px !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
  margin-left: 8px !important;
}

.main-header-menu .turf-nav-create-account > a:hover,
.turf-nav-create-account > a:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* ==========================================================================
   "LOGIN" NAV MENU ITEM — Solid green accent (Desktop)
   ========================================================================== */

.main-header-menu .turf-nav-login > a,
.ast-header-break-point .turf-nav-login > a,
.turf-nav-login > a {
  background-color: #20b07a !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  padding: 6px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
  margin-left: 4px !important;
  border: 1.5px solid #20b07a !important;
}

.main-header-menu .turf-nav-login > a:hover,
.turf-nav-login > a:hover {
  background-color: #1a9468 !important;
  border-color: #1a9468 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   ALIGNMENT — Keep buttons vertically centered with nav links
   ========================================================================== */

.main-header-menu > .turf-nav-create-account,
.main-header-menu > .turf-nav-login {
  display: flex !important;
  align-items: center !important;
}

/* Remove Astra's default active/hover underline on auth items */
.main-header-menu .turf-nav-create-account > a::after,
.main-header-menu .turf-nav-login > a::after,
.main-header-menu .turf-nav-create-account.current-menu-item > a::after,
.main-header-menu .turf-nav-login.current-menu-item > a::after {
  display: none !important;
}

/* Override Astra's line-height stretch */
.ast-desktop .main-header-menu > .turf-nav-create-account > a,
.ast-desktop .main-header-menu > .turf-nav-login > a {
  line-height: 1.4 !important;
  height: auto !important;
}

/* ==========================================================================
   DESKTOP: HIDE MOBILE AUTH BAR
   ========================================================================== */

@media (min-width: 1025px) {
  .turf-mobile-auth-bar {
    display: none !important;
  }
}

/* ==========================================================================
   MOBILE & TABLET: SAME-ROW HEADER LAYOUT & DROPDOWN FIX
   ========================================================================== */

@media (max-width: 1024px) {
  /* 1. Force the Elementor header container to be a row, not a column */
  .elementor-709 .elementor-element-5c818e5e-flex,
  .elementor-709 .elementor-element-5c818e5e-flex > .e-con-inner,
  .elementor-709 .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    --flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 70px !important;
    height: 70px !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  /* 2. Prevent logo and menu widget containers from stretching/wrapping & force logo left */
  .elementor-709 .elementor-element-5c818e5e-flex > .e-con-inner > .elementor-element,
  .elementor-709 .e-con-inner > .elementor-element {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .elementor-709 .elementor-element-825aa35,
  .elementor-709 .elementor-element-825aa35 .elementor-widget-container,
  .elementor-709 .elementor-widget-image,
  .elementor-709 .elementor-widget-image .elementor-widget-container {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  /* 3. Resize logo image to fit the 70px row nicely */
  .elementor-709 .elementor-element-ae7a3ec img,
  .elementor-709 .elementor-widget-image img {
    max-height: 40px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  .eael-advanced-menu-container .eael-advanced-menu-toggle svg {
    width: 30px !important;
    height: auto;
  }

  /* 4. Position the mobile auth bar — works both inside header (JS moved) and outside (fallback) */
  /* When JS successfully moves the bar inside .elementor-709 */
  .elementor-709 .turf-mobile-auth-bar {
    display: flex !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 85px !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 8px !important;
    height: auto !important;
    width: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    z-index: 9999 !important;
  }

  /* Fallback: auth bar stays outside header (JS did not run or failed) — overlay onto header row */
  .turf-mobile-auth-bar {
    display: flex !important;
    position: absolute !important;
    top: 0 !important;
    right: 85px !important;
    height: 70px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
    border: none !important;
    z-index: 9999 !important;
  }

  /* 5. Mobile auth buttons style (general) */
  .turf-mobile-auth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    padding: 6px 14px;
    line-height: 1.3;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.25s ease;
  }

  /* "Create an Account" button styling (dark border on white header background) */
  .turf-mobile-auth-btn--register {
    background-color: transparent;
    color: #1a1a1a !important;
    border: 1.5px solid #1a1a1a !important;
  }

  .turf-mobile-auth-btn--register:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
    color: #000000 !important;
    text-decoration: none;
  }

  /* "Login" button styling (green background) */
  .turf-mobile-auth-btn--login {
    background-color: #20b07a;
    color: #ffffff !important;
    border: 1.5px solid #20b07a !important;
  }

  .turf-mobile-auth-btn--login:hover {
    background-color: #1a9468;
    border-color: #1a9468 !important;
    color: #ffffff !important;
    text-decoration: none;
  }

  /* 6. Clean up the Menu toggle container and button, locking it to the right edge */
  .elementor-709 .elementor-widget-nav-menu,
  .elementor-709 [class*="menu-toggle"]-wrapper {
    display: inline-flex !important;
    position: absolute !important;
    top: 50% !important;
    right: 15px !important; /* Shifted leftward away from the screen edge */
    transform: translateY(-50%) !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    z-index: 10000 !important;
  }

  .elementor-709 .elementor-menu-toggle {
    display: inline-flex !important;
    position: relative !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: transparent !important;
    color: #1a1a1a !important;
    border: none !important;
    padding: 4px !important;
    margin: 0 !important;
    width: 30px !important;
    height: 30px !important;
    cursor: pointer !important;
  }

  .elementor-709 .elementor-menu-toggle i {
    font-size: 18px !important;
  }

  /* 7. Dropdown menu fixed positioning - breaking out of parent relative containers */
  .elementor-709 .elementor-nav-menu--dropdown,
  .elementor-709 [class*="menu-toggle"] + nav,
  .elementor-709 [class*="menu-toggle"] + .elementor-nav-menu__container {
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    z-index: 99999 !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
  }

  /* Make dropdown items full width and clean styled */
  .elementor-709 .elementor-nav-menu--dropdown a,
  .elementor-709 [class*="menu-toggle"] + nav a,
  .elementor-709 [class*="menu-toggle"] + .elementor-nav-menu__container a {
    display: block !important;
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }

  .elementor-709 .elementor-nav-menu--dropdown a:hover,
  .elementor-709 [class*="menu-toggle"] + nav a:hover,
  .elementor-709 [class*="menu-toggle"] + .elementor-nav-menu__container a:hover {
    background-color: rgba(0, 0, 0, 0.02) !important;
    color: #20b07a !important;
  }

  /* Hide duplicate auth buttons inside any vertical mobile menu dropdown list */
  .elementor-709 .elementor-nav-menu--dropdown .turf-nav-create-account,
  .elementor-709 .elementor-nav-menu--dropdown .turf-nav-login,
  .elementor-709 [class*="dropdown"] .turf-nav-create-account,
  .elementor-709 [class*="dropdown"] .turf-nav-login,
  .elementor-709 [class*="menu-container"] .turf-nav-create-account,
  .elementor-709 [class*="menu-container"] .turf-nav-login,
  .elementor-709 [class*="menu-toggle"] + nav .turf-nav-create-account,
  .elementor-709 [class*="menu-toggle"] + nav .turf-nav-login {
    display: none !important;
  }

  /* Essential Addons Advanced Menu Toggle centering adjustment override */
  .eael-advanced-menu-hamburger-align-center.eael-hamburger--mobile.eael-hamburger--responsive .eael-advanced-menu-toggle,
  .eael-advanced-menu-hamburger-align-center.eael-hamburger--mobile_extra.eael-hamburger--responsive .eael-advanced-menu-toggle,
  .eael-advanced-menu-hamburger-align-center.eael-hamburger--tablet.eael-hamburger--responsive .eael-advanced-menu-toggle,
  .eael-advanced-menu-hamburger-align-center.eael-hamburger--tablet_extra.eael-hamburger--responsive .eael-advanced-menu-toggle,
  .eael-advanced-menu-hamburger-align-center.eael-hamburger--laptop.eael-hamburger--responsive .eael-advanced-menu-toggle,
  .eael-advanced-menu-hamburger-align-center.eael-hamburger--desktop.eael-hamburger--responsive .eael-advanced-menu-toggle,
  .eael-advanced-menu-hamburger-align-center.eael-hamburger--widescreen.eael-hamburger--responsive .eael-advanced-menu-toggle {
    left: 50% !important;
    right: auto !important;
    -webkit-transform: translateX(-50%) !important;
    -ms-transform: translateX(-50%) !important;
    transform: translateX(-70%) !important;
  }
}

/* Extra optimization for very small mobile screens (e.g. iPhone SE) */
@media (max-width: 480px) {
  .elementor-709 .elementor-element-5c818e5e-flex,
  .elementor-709 .elementor-element-5c818e5e-flex > .e-con-inner,
  .elementor-709 .e-con-inner {
    min-height: 60px !important;
    height: 60px !important;
    padding: 0 10px !important;
  }

  .elementor-709 .elementor-element-ae7a3ec img,
  .elementor-709 .elementor-widget-image img {
    max-height: 30px !important;
  }

  .elementor-709 .turf-mobile-auth-bar {
    position: absolute !important;
    right: 70px !important; /* Shifted left on very small screens */
    margin: 0 !important;
    gap: 5px !important;
  }

  /* Fallback for auth bar on very small screens */
  .turf-mobile-auth-bar {
    right: 70px !important;
    height: 60px !important;
    gap: 5px !important;
  }

  .elementor-709 .elementor-widget-nav-menu,
  .elementor-709 [class*="menu-toggle"]-wrapper {
    right: 10px !important; /* Shifted slightly left on very small screens */
  }

  .elementor-709 .elementor-menu-toggle {
    width: 26px !important;
    height: 26px !important;
    padding: 3px !important;
  }

  .elementor-709 .elementor-menu-toggle i {
    font-size: 15px !important;
  }

  .turf-mobile-auth-btn {
    font-size: 9px !important;
    padding: 5px 8px !important;
    letter-spacing: 0.2px !important;
  }

  .elementor-709 .elementor-nav-menu--dropdown,
  .elementor-709 [class*="menu-toggle"] + nav,
  .elementor-709 [class*="menu-toggle"] + .elementor-nav-menu__container {
    top: 60px !important;
  }
}
