/* ============================================
   Lumiknox — Global Mobile Fixes v3
   Loaded on every page
   ============================================ */

/* Prevent horizontal overflow */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100vw; }

/* ── HAMBURGER: show on mobile, hidden by default ── */
.nav-hamburger {
  display: none !important;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  flex-shrink: 0;
}

/* ── NAV: collapse desktop items on mobile ── */
@media (max-width: 768px) {
  .nav-menu   { display: none !important; }
  .nav-actions { display: none !important; }
  .nav-hamburger { display: flex !important; }
  .nav-toggle { display: block !important; font-size: 22px; background: none; border: none; cursor: pointer; padding: 8px; color: #fff; }
  .nav-inner { height: 60px !important; }

  /* Mobile menu open state — both .open (old) and .mobile-open (new) */
  .nav-menu.open,
  .nav-menu.mobile-open {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: #060f1f !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding: 0 0 24px !important;
    gap: 0 !important;
    z-index: 9999 !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
    width: 100% !important;
  }

  /* Nav links in mobile menu */
  .nav-menu.open > li > a,
  .nav-menu.mobile-open > li > a {
    display: block !important;
    padding: 13px 24px !important;
    color: rgba(255,255,255,0.85) !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    font-size: 15px !important;
    border-radius: 0 !important;
  }

  /* Tap-expanded dropdown state */
  .nav-menu.open .has-dropdown .dropdown,
  .nav-menu.mobile-open .has-dropdown .dropdown {
    display: none !important;
  }
  .nav-menu.open .has-dropdown.dd-open .dropdown,
  .nav-menu.mobile-open .has-dropdown.dd-open .dropdown {
    display: block !important;
  }

  /* Arrow indicator on dropdown parents */
  .nav-menu.open .has-dropdown > a::after,
  .nav-menu.mobile-open .has-dropdown > a::after {
    content: ' ›';
    float: right;
    color: rgba(255,255,255,0.4);
    font-size: 16px;
    transition: transform 0.2s;
  }
  .nav-menu.open .has-dropdown.dd-open > a::after,
  .nav-menu.mobile-open .has-dropdown.dd-open > a::after {
    transform: rotate(90deg);
    color: #2DD4A0;
  }
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    background: rgba(255,255,255,0.04) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .nav-menu.open .dropdown a,
  .nav-menu.mobile-open .dropdown a {
    padding: 10px 40px !important;
    font-size: 13.5px !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.03) !important;
    color: rgba(255,255,255,0.65) !important;
  }
  .nav-menu.open .dropdown a:hover,
  .nav-menu.mobile-open .dropdown a:hover {
    color: #2DD4A0 !important;
    background: rgba(45,212,160,0.06) !important;
  }

  /* Mobile CTA pill at bottom of menu */
  .nav-menu.open::after,
  .nav-menu.mobile-open::after {
    content: 'Free Pilot ->';
    display: block;
    margin: 16px 24px 0;
    background: #2DD4A0;
    color: #060f1f;
    text-align: center;
    padding: 12px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 14px;
    font-family: 'DM Sans', sans-serif;
  }
}

/* ── GENERAL MOBILE LAYOUT ── */
@media (max-width: 640px) {
  * { max-width: 100%; }
  .container { padding: 0 16px !important; }
  .topbar { display: none !important; }

  /* Page headers */
  .page-header { padding: 48px 0 !important; }
  .page-header h1 { font-size: clamp(26px, 8vw, 38px) !important; }
  .split-image { display: none !important; }

  /* Grids → single column */
  .team-grid { grid-template-columns: 1fr !important; }
  .advisory-inner { grid-template-columns: 1fr !important; }
  .advisory-img { display: none !important; }
  .news-grid { grid-template-columns: 1fr !important; }
  .news-card-featured { grid-column: span 1 !important; grid-template-columns: 1fr !important; }
  .news-card-featured .news-img { aspect-ratio: 16/9 !important; }
  .insights-grid { grid-template-columns: 1fr !important; }
  .testi-grid { grid-template-columns: 1fr !important; }
  .cases-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .case-card:first-child { grid-row: span 1 !important; }
  .blog-grid { grid-template-columns: 1fr !important; }
  .about-inner { grid-template-columns: 1fr !important; }
  .about-imgs { display: none !important; }
  .about-cards { grid-template-columns: 1fr !important; }

  /* Hero */
  .hero { min-height: auto !important; padding: 48px 0 !important; }
  .hero-inner { grid-template-columns: 1fr !important; }
  .hero-visual { display: none !important; }
  .hero-btns { flex-direction: column !important; gap: 10px !important; }
  .hero-btns .btn { width: 100% !important; justify-content: center !important; }
  .hero-stat { flex-wrap: wrap !important; gap: 12px !important; justify-content: flex-start !important; }
  .hero-stat-div { display: none !important; }

  /* Sections */
  .section-pad { padding: 56px 0 !important; }
  .services-head { flex-direction: column !important; align-items: flex-start !important; }
  .cases-head { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .blog-head { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .service-item { grid-template-columns: 48px 1fr !important; gap: 16px !important; padding: 24px 0 !important; }
  .service-img { display: none !important; }
  .service-num { font-size: 32px !important; }
  .about-cta-bar { flex-direction: column !important; text-align: center !important; }
  .about-cta-bar .btn { width: 100% !important; justify-content: center !important; }

  /* Counters */
  .counters-grid { grid-template-columns: 1fr 1fr !important; }
  .counter-num { font-size: clamp(22px, 7vw, 36px) !important; }
  .counter-item { padding: 24px 8px !important; }

  /* Blog */
  .blog-list-item { grid-template-columns: 72px 1fr !important; }

  /* Newsletter */
  .newsletter-inner { flex-direction: column !important; }
  .newsletter-form { flex-direction: column !important; width: 100% !important; }
  .newsletter-form input { width: 100% !important; }

  /* Pilot banner */
  .pilot-banner-inner { flex-direction: column !important; text-align: center !important; gap: 12px !important; }
  .pilot-banner p { font-size: 14px !important; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-bottom { flex-direction: column !important; text-align: center !important; }
  .footer-socials { justify-content: center !important; }
  .footer { padding: 48px 0 0 !important; }

  /* Podcast player */
  #lmx-player { flex-direction: column !important; align-items: flex-start !important; }
  #lmx-player > div:last-child { flex-wrap: wrap !important; }

  /* Floating podcast strip simplified */
  .strip-center { display: none !important; }
  .strip-platforms { display: none !important; }

  /* Cookie trigger — above strip */
  #lmx-cb-trigger { bottom: 80px !important; left: 12px !important; }

  /* Podcast hero */
  .podcast-hero-inner { grid-template-columns: 1fr !important; }
  .podcast-cover-wrap { display: none !important; }
  .podcast-platforms { flex-direction: column !important; }
  .platform-btn { width: 100% !important; justify-content: center !important; }

  /* Leadership / team */
  .team-photo { aspect-ratio: 3/3 !important; }

  /* Case overlay */
  .case-overlay h3 { font-size: 16px !important; }
  .case-stat { font-size: 20px !important; }

  /* Forms */
  .form-grid { grid-template-columns: 1fr !important; }
  .form-field.full { grid-column: span 1 !important; }

  /* Nav brand size */
  .nav-brand { font-size: 17px !important; }
  .nav-brand svg { width: 30px !important; height: 30px !important; }
}
