/* Visibility Control for Responsive Header - Keep Defaults */
.mobile-view {
  display: none !important;
}

.desktop-view {
  display: flex !important;
}

@media (max-width: 768px) {
  .mobile-view {
    display: flex !important;
  }

  .desktop-view {
    display: none !important;
  }
}

/* 
   FIX FOR DESKTOP & NOTEBOOK LAYOUT (769px and up)
   - Prevents logo from being cut off
   - Centers navigation menu
   - Controls strictly the width to keep elements closer
*/
@media (min-width: 769px) {

  /* Restrict max-width and center the container to bring elements closer */
  .header-container {
    width: 100% !important;
    max-width: 1350px !important;
    /* Limits spread on large screens */
    margin: 0 auto !important;
    /* Centers the container */
    padding-left: 20px !important;
    padding-right: 20px !important;
    justify-content: space-between !important;
    gap: 0 !important;
    box-sizing: border-box !important;
  }

  /* RESET NEGATIVE MARGINS to fix cut-off logo */
  .logo-group {
    margin-left: 0 !important;
    width: auto !important;
    flex-shrink: 0 !important;
  }

  /* Center the menu exactly */
  .navbar {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Center the menu inner items */
  .nav-menu {
    margin: 0 auto !important;
    width: auto !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
  }

  /* Ensure sub-brands stay to the right */
  .logo-subbrands {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
  }
}

/* Specific adjustments for smaller laptops */
@media (min-width: 769px) and (max-width: 1440px) {
  .logo-primary img {
    height: 90px !important;
  }

  .logo-subbrand-list img {
    height: 45px !important;
  }

  .nav-link {
    padding: 6px 12px !important;
    font-size: 0.75rem !important;
  }
}

/* 
   MOBILE HERO SECTION IMPROVEMENTS (Reduces visual pollution)
*/
@media (max-width: 768px) {

  /* Adjust Hero Height and Background */
  .hero {
    min-height: 100vh !important;
    /* Ensure full height */
    height: auto !important;
    /* Allow content to dictate height if needed */
    padding-top: 80px !important;
    /* Clear fixed header */
    padding-bottom: 40px !important;
    align-items: center !important;
    /* Center vertically */
  }

  /* Darker Overlay for better text readability */
  .hero-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 100%) !important;
  }

  /* Compact Hero Content */
  .hero-content {
    padding-top: 0 !important;
    /* Reset additional padding */
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    text-align: center !important;
  }

  /* Smaller, Cleaner Title */
  .hero-title {
    font-size: 2.2rem !important;
    /* Much smaller than 5rem */
    line-height: 1.2 !important;
    margin-bottom: 15px !important;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.5) !important;
  }

  /* Smaller Subtitle */
  .hero-subtitle {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    margin-bottom: 30px !important;
    opacity: 0.9 !important;
    max-width: 100% !important;
  }

  /* Organized Button Grid - 2x2 Layout */
  .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    /* Two equal columns */
    gap: 12px !important;
    width: 100% !important;
    justify-content: center !important;
  }

  /* Button Styling Updates for Mobile */
  .hero-buttons .btn {
    width: 100% !important;
    /* Full width of grid cell */
    padding: 12px 10px !important;
    /* Tighter padding */
    font-size: 0.75rem !important;
    /* Smaller text */
    height: auto !important;
    min-height: 44px !important;
    /* Touch target size */
    border-radius: 12px !important;
    /* Modern softer radius */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  /* Make icons smaller */
  .hero-buttons .btn i {
    font-size: 0.9rem !important;
  }
}