/* MKGA Elementor Full-Width Sections & Edge-to-Edge Backgrounds */
.elementor-section {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-section > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-widget-wrap.elementor-element-populated {
  padding: 0 !important;
}

.elementor-widget-mkga_cta_banner,
.prefooter-banner {
  width: 100% !important;
}
/* Useful Links Hover State Fix */
.news-sidebar-links a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: #1A2E26 !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  background: #F4F8F5 !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
}

.news-sidebar-links a span {
  color: #1A2E26 !important;
  transition: color 0.3s ease !important;
}

.news-sidebar-links a span:last-child {
  color: #D69E3D !important;
}

.news-sidebar-links a:hover {
  background: #0A2419 !important;
  transform: translateX(4px) !important;
  box-shadow: 0 4px 12px rgba(10, 36, 25, 0.2) !important;
}

.news-sidebar-links a:hover span {
  color: #FFFFFF !important;
}

.news-sidebar-links a:hover span:last-child {
  color: #D69E3D !important;
}
/* ==========================================================================
   MKGA COMPLETE MOBILE RESPONSIVE ENGINE
   ========================================================================== */

/* Prevent ANY horizontal page scrolling */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
  position: relative !important;
}

/* --- 1. Mobile Header & Hamburger (<= 991px) --- */
@media (max-width: 991px) {
  .site-header {
    width: 100% !important;
    height: 70px !important;
    padding: 0 !important;
  }

  .header-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 70px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
  }

  .logo-image {
    width: 42px !important;
    height: 42px !important;
  }

  .logo-title {
    font-size: 1.15rem !important;
  }

  .logo-subtitle {
    font-size: 0.58rem !important;
  }

  /* Hamburger Menu Button */
  .mobile-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1.5px solid rgba(214, 158, 61, 0.4) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
  }

  /* Slide-In Drawer */
  #site-navigation.main-nav,
  .main-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: 290px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    background: #0A2419 !important;
    box-shadow: -15px 0 35px rgba(0, 0, 0, 0.7) !important;
    padding: 85px 20px 40px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    transform: translateX(100%) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 999999 !important;
    border-left: 1px solid rgba(214, 158, 61, 0.3) !important;
  }

  #site-navigation.main-nav.active,
  .main-nav.active {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #site-navigation ul,
  .main-nav ul,
  .nav-links {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 2px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #site-navigation li,
  .main-nav li,
  .nav-links li {
    width: 100% !important;
  }

  #site-navigation li > a,
  .main-nav li > a,
  .nav-links li > a {
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 0.92rem !important;
    border-radius: 6px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    justify-content: space-between !important;
    color: #FFFFFF !important;
    box-sizing: border-box !important;
  }

  #site-navigation ul.sub-menu,
  .main-nav ul.sub-menu,
  .nav-links ul.sub-menu,
  .dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 100% !important;
    background: rgba(0, 0, 0, 0.3) !important;
    box-shadow: none !important;
    border: none !important;
    border-left: 2px solid #D69E3D !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 4px 0 8px 8px !important;
    padding: 4px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: flex !important;
  }

  #site-navigation ul.sub-menu li a,
  .nav-links ul.sub-menu li a,
  .dropdown-link {
    padding: 9px 16px !important;
    font-size: 0.85rem !important;
    color: #E2ECE7 !important;
  }

  .main-nav .btn-gold {
    width: 100% !important;
    text-align: center !important;
    margin-top: 14px !important;
    padding: 12px 20px !important;
    font-size: 0.95rem !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

/* --- 2. Vision Section Card Fix --- */
@media (max-width: 991px) {
  .vision-card {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 36px 20px !important;
    box-sizing: border-box !important;
  }

  .vision-text-col {
    width: 100% !important;
  }

  .vision-quote {
    font-size: 1.05rem !important;
    line-height: 1.75 !important;
    margin-bottom: 24px !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .vision-skyline {
    display: none !important;
  }
}

/* --- 3. Footer Links, Get Involved & Projects Mobile Stacking --- */
@media (max-width: 768px) {
  .site-footer {
    padding: 45px 0 25px !important;
    background: #071D14 !important;
  }

  .footer-top-grid,
  .footer-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    width: 100% !important;
  }

  .footer-brand-col,
  .footer-links-col {
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
  }

  .footer-col-title {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: #ECC06C !important; /* Rich Gold */
    margin-bottom: 12px !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid rgba(214, 158, 61, 0.25) !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  .footer-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .footer-links li {
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer-links li a {
    display: block !important;
    padding: 7px 0 !important;
    font-size: 0.95rem !important;
    color: #C8DCD3 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
  }

  .footer-links li a:hover {
    color: #D69E3D !important;
    padding-left: 6px !important;
  }

  .footer-social-links {
    margin-top: 14px !important;
    display: flex !important;
    gap: 12px !important;
  }

  /* Grids & Cards Stacking */
  .hero-section,
  .page-hero-section,
  .page-hero-banner {
    padding: 110px 0 45px !important;
    min-height: auto !important;
  }

  .hero-title,
  .page-hero-title {
    font-size: 1.85rem !important;
    line-height: 1.25 !important;
  }

  .potential-grid,
  .projects-grid,
  .initiatives-grid,
  .why-mkga-grid,
  .pillars-grid,
  .steps-row,
  .how-it-works-grid,
  .steps-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
  }

  .step-card,
  .card-box {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 22px 18px !important;
  }

  .stats-grid,
  .impact-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  form div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .container,
  .container-wide,
  .container-narrow {
    padding: 0 18px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
