/* =====================================================
   IMMIGRATION97 — MOBILE SYSTEM (STABLE VERSION)
   Safe • No freeze • No overlay bug • No overflow
===================================================== */

@media (max-width: 768px) {

  /* =====================================================
     GLOBAL SAFE
  ===================================================== */

  html,
  body {
    overflow-x: hidden;
  }

  body {
    font-size: var(--text-sm);
  }

  .app-container {
    padding-inline: var(--space-md);
  }

  /* =====================================================
     TYPOGRAPHY
  ===================================================== */

  h1 {
    line-height: 1.25;
    word-break: break-word;
  }

  p,
  li {
    word-break: break-word;
  }

  /* =====================================================
     TABLE FIX (ANTI-DEBORDEMENT)
  ===================================================== */

  table {
    width: 100%;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  th,
  td {
    white-space: nowrap;
  }

  /* =====================================================
     MEDIA SAFE
  ===================================================== */

  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }

  /* =====================================================
     NAVBAR MOBILE SAFE
  ===================================================== */

  .c-navbar {
    position: sticky;
    top: 0;
    z-index: var(--z-header, 1000);
  }

  .c-navbar__brand img {
    height: 42px;
  }

  /* NAV hidden by default */
  .c-navbar__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;

    background: var(--bg-surface);
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);

    border-bottom: 1px solid var(--border-subtle);

    display: none;
  }

  /* NAV open */
  .c-navbar__nav.is-open {
    display: flex;
  }

  /* Burger visible */
  .c-navbar__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Prevent page freeze */
  body.nav-open {
    overflow: hidden;
  }

  /* =====================================================
     SECTIONS
  ===================================================== */

  .section {
    padding: var(--space-lg) 0;
  }

  /* =====================================================
     GRID SAFE
  ===================================================== */

  .c-grid--2,
  .c-grid--3 {
    grid-template-columns: 1fr !important;
  }

  /* =====================================================
     FOOTER
  ===================================================== */

  .c-footer__main {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    padding: var(--space-xl) var(--space-md);
  }

  .c-footer__bottom {
    flex-direction: column;
    text-align: center;
    gap: var(--space-sm);
  }

  .c-footer__legal {
    flex-wrap: wrap;
    justify-content: center;
  }

}