/* Mobile navbar width fix */

/* Desktop alignment fallback when utility classes are unavailable */
.site-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

.site-navbar.scrolled {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}

.site-navbar .navbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 78px;
}

/* Desktop nav must be visible on large screens */
.site-navbar #desktopNav {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 8px;
}

.site-navbar #desktopJoin {
  display: block;
}

/* Right actions (language + menu toggle container) */
.site-navbar .navbar > div:last-child {
  display: flex;
  align-items: center;
  gap: 8px;
}

.site-navbar #desktopNav .nav-link,
.site-navbar #desktopNav .nav-dropdown-toggle {
  display: flex;
  align-items: center;
  height: 64px;
  padding: 0 14px;
  font-size: 16px;
  color: #333;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.site-navbar .nav-dropdown {
  position: relative;
}

.site-navbar .nav-dropdown .dropdown-content {
  display: none !important;
  position: absolute;
  top: calc(100% + 2px);
  min-width: 240px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
  z-index: 1200;
  padding: 8px 0;
}

.site-navbar .nav-dropdown:hover .dropdown-content {
  display: block !important;
}

.site-navbar #desktopJoin button {
  padding: 12px 24px !important;
  line-height: 1;
}

.site-navbar #language-switcher-btn {
  height: 44px !important;
  width: 44px !important;
}

/* Keep mobile behavior */
@media (max-width: 1060px) {
  .site-navbar #desktopNav,
  .site-navbar #desktopJoin {
    display: none !important;
  }

}

@media screen and (max-width: 768px) {
  /* Fix navbar container */
  .site-navbar {
    position: fixed !important;
    box-sizing: border-box !important;
    max-width: 100vw !important;
    width: 100vw !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Fix navbar inner containers */
  .site-navbar > div {
    box-sizing: border-box !important;
    max-width: 100vw !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  
  /* Fix mobile menu */
  #menu {
    box-sizing: border-box !important;
    max-width: 100vw !important;
    width: 100vw !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    left: 0 !important;
  }
  
  /* Fix all sections for mobile */
  section {
    box-sizing: border-box !important;
    max-width: 100vw !important;
    width: 100vw !important;
    overflow-x: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Fix main containers within sections */
  section > main,
  section .w-\[90vw\] {
    box-sizing: border-box !important;
    max-width: 100vw !important;
    width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  /* Fix all cooperation cards and content areas */
  .cooperation-card,
  .card-content,
  .light-hero,
  .enhanced-about-container,
  .gallery-container,
  .resource-cards,
  .countries-container {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  
  /* Ensure text doesn't overflow on mobile */
  h1, h2, h3, p {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  /* Fix dropdown buttons - override any inline styles */
  .mobile-dropdown-btn {
    box-sizing: border-box !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    cursor: pointer !important;
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
    background-color: #f9fafb !important;
    border-radius: 10px !important;
    font-weight: 500 !important;
    color: #1f2937 !important;
    transition: all 0.3s ease !important;
    flex-wrap: nowrap !important;
    position: relative !important;
    padding-right: 40px !important; /* Extra padding on right to accommodate arrow */
  }
  
  /* Make dropdown button contents properly aligned in a row */
  .mobile-dropdown-btn > div {
    display: flex !important;
    align-items: center !important;
    flex: 1 !important;
    min-width: 0 !important; /* Allow content to shrink if needed */
    overflow: hidden !important;
  }
  
  /* Fix icon in dropdown button */
  .mobile-dropdown-btn i {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 0.5rem !important;
    width: 24px !important;
    flex-shrink: 0 !important;
  }
  
  /* Ensure text in dropdown doesn't overflow */
  .mobile-dropdown-btn span {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    max-width: 100% !important;
  }
  
  .mobile-dropdown-btn:active {
    background-color: #f3f4f6 !important;
  }
  
  /* Override space-x-2 which can cause overflow */
  .space-x-2 > *:not(:last-child) {
    margin-right: 0.5rem !important;
    margin-left: 0 !important;
  }
  
  /* Make sure SVG icons are on the right */
  .mobile-dropdown-btn svg {
    flex-shrink: 0 !important;
    min-width: 20px !important;
    min-height: 20px !important;
    width: 20px !important;
    height: 20px !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  
  /* Dropdown icon rotation */
  .mobile-dropdown-btn svg.rotate-180 {
    transform: translateY(-50%) rotate(180deg) !important;
  }
  
  /* Fix dropdowns */
  .mobile-dropdown {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transition: max-height 0.3s ease !important;
  }
  
  /* Fix dropdown links */
  .mobile-dropdown a {
    box-sizing: border-box !important;
    width: 100% !important;
    display: block !important;
  }
  
  
  
  /* Prevent horizontal scrolling on body */
  body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100vw !important;
    margin: 0 !important;
  }
  
  /* Fix main container width */
  main.body {
    max-width: 100vw !important;
    width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  /* Fix card layouts on mobile */
  .cooperation-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Mobile menu toggle button */
  .menu-toggle {
    cursor: pointer !important;
    z-index: 99 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    touch-action: manipulation !important;
  }
  
  /* Make toggle button tappable area larger on mobile */
  .menu-toggle svg {
    display: block !important;
    pointer-events: none !important;
  }
  
  button.menu-toggle {
    padding: 8px !important;
  }
} 
