/* English build responsive guard: source templates use fixed-width hero art. */
*, *::before, *::after { box-sizing: border-box; }

html, body {
  max-width: 100% !important;
  min-width: 0 !important;
  width: auto !important;
  overflow-x: hidden !important;
}

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

.container, .wrapper, .header-1__container, .footer-1__container {
  width: 100% !important;
  max-width: 1100px !important;
  min-width: 0 !important;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  header .d-flex,
  .navbar .container,
  .navbar-collapse {
    flex-wrap: wrap !important;
  }

  header img,
  .navbar-brand img {
    max-height: 48px !important;
    width: auto !important;
  }

  .navbar-brand {
    max-width: calc(100% - 64px) !important;
    white-space: normal !important;
    font-size: 1.25rem !important;
  }

  header .d-flex > div:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .header-1__body,
  .header-1__buttons,
  .hero,
  .hero__inner,
  .hero-content,
  .footer-1__body {
    flex-wrap: wrap !important;
  }

  .header-1__buttons { gap: 8px; }

  html body div.container,
  html body div.wrapper,
  html body div.header-1__container,
  html body div.footer-1__container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #mobileNavContent {
    display: none !important;
  }

  #mobileNavContent.open {
    display: block !important;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
  }

  .mobile-nav-content .dropdown {
    display: none;
  }

  .mobile-nav-content .dropdown.open {
    display: block;
  }

  .mobile-nav-toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }

  .hero h1, .hero-title, h1 {
    font-size: clamp(1.8rem, 9vw, 2.6rem) !important;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }

  .btn, .header-1__button { max-width: 100%; }

  table { display: block; overflow-x: auto; }
}
