/*--------------------------------------------------------------
# Mobile Menu Scroll Fix - Ensures menu is scrollable when zoomed
--------------------------------------------------------------*/

/* Force scrollable behavior on mobile menu */
@media (max-width: 1199px) {
  .header {
    /* Explicit height constraints */
    height: 100vh !important;
    height: 100dvh !important; /* Dynamic viewport for mobile browsers */
    min-height: 100vh !important;
    min-height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    
    /* Scrolling properties */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important; /* Smooth iOS scrolling */
    overscroll-behavior-y: contain; /* Prevent scroll chaining to body */
    
    /* Ensure content can overflow and scroll */
    display: flex;
    flex-direction: column;
  }
  
  /* Make navmenu flexible to allow scrolling */
  .header .navmenu {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 60px !important; /* Extra space at bottom */
  }
  
  /* Mobile-friendly menu item sizing */
  .header .navmenu a,
  .header .navmenu a:focus {
    padding: 18px 20px !important; /* Larger touch targets */
    font-size: 18px !important; /* Bigger, more readable text */
    font-weight: 500 !important;
    min-height: 56px; /* Comfortable tap target size */
  }
  
  /* Larger icons for mobile */
  .header .navmenu a .navicon,
  .header .navmenu a:focus .navicon {
    font-size: 24px !important; /* Bigger icons */
    margin-right: 15px !important;
  }
  
  /* Ensure profile section doesn't take too much space */
  .header .profile-img {
    flex-shrink: 0;
  }
  
  /* Reduce profile image size on mobile for more menu space */
  .header .profile-img img {
    width: 100px !important;
    margin: 10px auto !important;
  }
  
  .header .logo {
    flex-shrink: 0;
  }
  
  /* Adjust logo/name size */
  .header .logo h1 {
    font-size: 22px !important;
  }
  
  .header .social-links {
    flex-shrink: 0;
    margin: 0 0 15px 0 !important;
  }
  
  /* Slightly smaller social icons to save space */
  .header .social-links a {
    width: 38px !important;
    height: 38px !important;
    font-size: 15px !important;
  }
}

/* Tablet-specific adjustments (medium mobile screens) */
@media (max-width: 1199px) and (min-width: 768px) {
  .header .navmenu a,
  .header .navmenu a:focus {
    padding: 16px 20px !important;
    font-size: 17px !important;
  }
  
  .header .navmenu a .navicon,
  .header .navmenu a:focus .navicon {
    font-size: 22px !important;
  }
}

/* Small mobile screens - even more optimized */
@media (max-width: 767px) {
  .header .navmenu a,
  .header .navmenu a:focus {
    padding: 16px 18px !important;
    font-size: 17px !important;
  }
  
  .header .navmenu a .navicon,
  .header .navmenu a:focus .navicon {
    font-size: 22px !important;
    margin-right: 12px !important;
  }
  
  .header .profile-img img {
    width: 90px !important;
  }
  
  .header .logo h1 {
    font-size: 20px !important;
  }
}

/* Very small screens (smaller phones) */
@media (max-width: 575px) {
  .header .navmenu a,
  .header .navmenu a:focus {
    padding: 14px 16px !important;
    font-size: 16px !important;
  }
  
  .header .navmenu a .navicon,
  .header .navmenu a:focus .navicon {
    font-size: 20px !important;
    margin-right: 10px !important;
  }
  
  .header .profile-img img {
    width: 80px !important;
  }
  
  .header .logo h1 {
    font-size: 18px !important;
  }
  
  .header .social-links a {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
}

/* Fix for high zoom levels on mobile */
@media (max-width: 1199px) and (min-resolution: 1.5dppx) {
  .header .navmenu a,
  .header .navmenu a:focus {
    padding: 14px 16px !important;
    font-size: 16px !important;
  }
}

/* Ensure smooth scrolling behavior */
.header {
  scroll-behavior: smooth;
}

/* Fix scrollbar styling for better UX */
.header::-webkit-scrollbar {
  width: 6px;
}

.header::-webkit-scrollbar-track {
  background: transparent;
}

.header::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--default-color), transparent 70%);
  border-radius: 3px;
}

.header::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--default-color), transparent 50%);
}

/* Dark theme scrollbar */
[data-theme="dark"] .header::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--default-color), transparent 60%);
}

[data-theme="dark"] .header::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--default-color), transparent 40%);
}
