/* Global mobile hardening for entire site */

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

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

@media (max-width: 1200px) {
  .container {
    width: calc(100% - 34px);
  }
}

@media (max-width: 992px) {
  #nk-nav-mobile .nk-navbar-bg {
    background: #111;
  }

  #nk-nav-mobile .nk-navbar-bg .bg-image,
  #nk-nav-mobile .nk-navbar-bg .bg-image > div {
    background-image: none !important;
    display: none !important;
  }

  .container {
    width: calc(100% - 28px);
  }

  .nk-nav.nk-nav-right li {
    padding: 0 6px !important;
  }

  .nk-nav.nk-nav-right li a {
    font-size: 12px !important;
    line-height: 1.25;
  }

  .row.vertical-gap {
    margin-top: -14px;
  }

  .row.vertical-gap > [class*="col-"] {
    padding-top: 14px;
  }

  .formation-grid,
  .editorial-grid,
  .logos-strip-grid,
  .contact-main-grid,
  .about-coaching-grid {
    grid-template-columns: 1fr !important;
  }

  .logos-strip-grid {
    flex-wrap: wrap;
    justify-content: center;
  }

  .teaching-soul-feature-image,
  .home-about-photo,
  .about-coaching-image {
    max-height: 420px;
    object-fit: cover;
  }

  .nk-box,
  section {
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  body {
    font-size: 15px;
    line-height: 1.6;
  }

  h1,
  .display-3,
  .display-4 {
    font-size: clamp(1.45rem, 6.8vw, 2.1rem) !important;
    line-height: 1.15 !important;
  }

  h2 {
    font-size: clamp(1.25rem, 5.2vw, 1.7rem) !important;
    line-height: 1.2 !important;
  }

  h3 {
    font-size: clamp(1.1rem, 4.3vw, 1.35rem) !important;
  }

  p,
  li {
    font-size: 0.96rem;
    line-height: 1.68;
  }

  .nk-header-title.nk-header-title-full,
  .hero-premium,
  .hero-premium.nk-header-title {
    min-height: 460px !important;
    height: auto !important;
  }

  .hero-content {
    width: calc(100% - 22px) !important;
    max-width: 94% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .hero-title {
    white-space: normal !important;
    letter-spacing: 0.12em !important;
    max-width: 100% !important;
  }

  .hero-subtitle {
    white-space: normal !important;
    max-width: 100% !important;
  }

  .language-selector {
    gap: 6px;
  }

  .lang-btn {
    min-width: 110px;
    padding: 9px 12px;
  }

  .nk-gap-4 {
    height: 28px !important;
  }

  .nk-gap-3 {
    height: 18px !important;
  }

  .formation-card,
  .reference-card,
  .contact-form-card,
  .contact-meta-card {
    padding: 16px !important;
  }

  .contact-meta {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .contact-form-grid > [class*="col-"] {
    margin-bottom: 10px !important;
  }

  .form-control {
    font-size: 16px !important;
  }

  .nk-btn,
  .reference-button,
  .action-btn {
    width: auto;
    min-height: 42px;
  }

  /* Denser mobile content cards for a quicker overview. */
  .editorial-card-image {
    width: 78% !important;
    margin-bottom: 10px !important;
  }

  .content-thumb {
    width: 56px !important;
    height: 56px !important;
    border-radius: 8px !important;
  }

  .content-list-item {
    padding: 10px 0 !important;
    margin-bottom: 2px !important;
  }

  .content-list-left {
    gap: 10px !important;
  }

  .content-list-title {
    font-size: 14px !important;
  }

  .content-list-meta {
    font-size: 12px !important;
    margin-top: 2px !important;
  }

  /* Keep long inline-style sections from causing horizontal jump */
  div[style*="margin: 80px -9999px -80px -9999px"],
  div[style*="margin: 40px -9999px -40px -9999px"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 480px) {
  .container {
    width: calc(100% - 20px);
  }

  .nk-nav.nk-nav-right li a {
    font-size: 11px !important;
  }

  .hero-title {
    letter-spacing: 0.09em !important;
    font-size: clamp(1rem, 8vw, 1.35rem) !important;
  }

  .hero-subtitle {
    font-size: 0.75rem !important;
    letter-spacing: 0.03em !important;
  }

  .editorial-card-image {
    width: 72% !important;
  }

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