
/* ==========================================================================
   Mobile UI Rebuild (App-like Bottom Navigation)
   ========================================================================== */

.mobile-bottom-nav {
  display: none;
}

@media (max-width: 992px) {
  /* Hide desktop header ticker */
  .header-top {
    display: none !important;
  }
  
  /* Hide desktop hamburger menu since we use bottom bar's 'More' */
  .menu-toggle {
    display: none !important;
  }
  
  /* Show bottom nav */
  .mobile-bottom-nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid var(--border);
    z-index: 1000;
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: 0 -4px 12px rgba(0,0,0,0.05);
  }
  
  .mobile-bottom-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 0 8px;
    flex: 1;
    color: var(--muted);
    text-decoration: none;
    transition: color 0.2s;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
  }
  
  .mobile-bottom-nav__item i, .mobile-bottom-nav__item svg {
    width: 24px;
    height: 24px;
    margin-bottom: 4px;
  }
  
  .mobile-bottom-nav__item span {
    font-size: 0.7rem;
    font-weight: 600;
  }
  
  .mobile-bottom-nav__item.active,
  .mobile-bottom-nav__item:hover {
    color: var(--primary);
  }
  
  /* Prevent body from hiding behind bottom nav */
  body {
    padding-bottom: calc(65px + env(safe-area-inset-bottom));
  }
  
  /* Redesign the nav drawer to slide up like an action sheet */
  .nav-links--drawer {
    top: auto !important;
    bottom: calc(65px + env(safe-area-inset-bottom)) !important;
    left: 0 !important;
    right: 0 !important;
    height: auto !important;
    max-height: 80vh !important;
    width: 100% !important;
    transform: translateY(100%) !important;
    border-radius: 24px 24px 0 0 !important;
    box-shadow: 0 -10px 40px rgba(0,0,0,0.1) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    padding-bottom: 20px;
    overflow-y: auto;
  }
  
  .nav-links--drawer.is-open {
    transform: translateY(0) !important;
  }
  
  /* Optimize Grid layouts across calculators & tools for mobile */
  .calc-container, .calculator-container, .calc-main-grid, .tool-grid, .services-bento, div[style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  /* Optimize typography sizing with clamp */
  h1 { font-size: clamp(2rem, 5vw, 3rem) !important; }
  h2 { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; }
  h3 { font-size: clamp(1.25rem, 3vw, 1.75rem) !important; }
  
  /* Touch target optimizations */
  .form-control, .btn-calc, .tool-btn {
    min-height: 48px;
  }
  
  /* Fix sticky headers inside calculators */
  .calc-hero, .page-hero-dark, .form-hero-dark, .wd-hero, .pb-hero, .uan-hero, .grv-hero {
    padding: 60px 0 40px !important;
  }
  .calc-card, .tool-grid {
    margin-top: 20px !important;
  }
  .calc-card {
    padding: 25px !important;
  }
  .input-group input, .input-group select {
    font-size: 16px !important; /* Prevents iOS auto-zoom */
  }
  
  /* Fix scroll to top button overlapping bottom navigation */
  .scroll-top-wrapper {
    bottom: calc(85px + env(safe-area-inset-bottom)) !important;
  }
  
  /* Prevent Chart.js from infinitely expanding on mobile */
  canvas {
    max-width: 100% !important;
  }
  
  /* Prevent large result numbers from overflowing on small mobile screens */
  .result-value, 
  [id="maturity_amount"], 
  [id="monthly_pension"], 
  [id="gratuity_amount"], 
  [id="r_takehome"],
  .result-item .value {
    font-size: clamp(1.25rem, 6vw, 2.8rem) !important;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  
  .calc-card, .result-card, .takehome-box {
    max-width: 100%;
    overflow: hidden;
  }
}
