/* MegaTeam FIX3 responsive safety layer.
   Layout only: no theme colors, branding, or visual redesign. */
html {
  width: 100%;
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

*, *::before, *::after { min-width: 0; }
img, video, iframe, svg, canvas { max-width: 100%; }

.page,
.page > .container,
.container,
.instructors-section,
.instructors-grid,
.floating-nav-wrap,
.floating-nav,
.nav-links,
.card,
.login-wrapper,
.auth-wrapper,
.login-card,
.auth-card {
  min-width: 0;
}

.page > .container,
.container {
  width: min(100%, 1140px);
  margin-inline: auto;
}

.floating-nav-wrap {
  width: 100%;
  padding-inline: 12px;
}

.floating-nav {
  width: max-content;
  max-width: 100%;
  flex: 0 1 auto;
}

.nav-links {
  flex: 1 1 auto;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.instructors-section {
  width: 100%;
}

.instructors-grid {
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
}

.instructor-card,
.login-card,
.auth-card,
.card {
  max-width: 100%;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.table {
  max-width: 100%;
}

.video-embed,
.video-embed iframe {
  max-width: 100%;
}

@media (max-width: 900px) {
  .container,
  .page > .container {
    padding-inline: 16px;
  }

  .floating-nav {
    gap: 14px;
    padding: 8px 14px;
  }

  .nav-links {
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .container,
  .page > .container,
  .instructors-section {
    padding-inline: 14px;
  }

  .floating-nav-wrap {
    top: 10px;
    padding-inline: 8px;
  }

  .floating-nav {
    width: calc(100% - 4px);
    max-width: calc(100% - 4px);
    gap: 10px;
    padding: 8px 10px;
  }

  .nav-logo {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
  }

  .nav-links {
    gap: 14px;
  }

  .nav-links a {
    font-size: 12.5px;
  }

  .instructors-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .instructor-card {
    width: 100%;
    min-height: 340px;
  }

  .login-wrapper,
  .auth-wrapper {
    min-height: auto;
    padding: 86px 0 24px;
  }

  .login-card,
  .auth-card {
    width: 100%;
    padding: 28px 20px !important;
  }

  .site-footer-inner {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .nav-logo {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .nav-links {
    gap: 12px;
  }

  .nav-links a {
    font-size: 12px;
  }

  .login-card,
  .auth-card {
    padding: 24px 16px !important;
  }
}
