/* Landing mobile overrides — load after Elementor / theme CSS */
@media (max-width: 991.98px) {
  html, body {
    overflow-x: clip !important;
    max-width: 100vw !important;
  }

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

  /* Kill Elementor 109% / fixed overflows that cause horizontal scroll */
  .elementor-section,
  .elementor-container,
  .elementor-row,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-widget,
  .elementor-element,
  [class*="elementor-"] {
    max-width: 100% !important;
  }

  .elementor-column-wrap,
  .elementor-widget-wrap {
    width: 100% !important;
  }

  /* Logo / brand */
  #header .navbar-brand img,
  .navbar-brand img,
  .site-logo img {
    min-width: 0 !important;
    max-width: min(160px, 42vw) !important;
    height: auto !important;
  }

  /* Confidence / marketing blocks that use fixed 320px labels */
  .confidence .label.full,
  .confidence .label {
    width: 100% !important;
    max-width: 100% !important;
  }

  .containers,
  .confidence .containers,
  .blocks {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* Mega menu / dropdown min-widths */
  .main-menu .content,
  .mega-menu,
  .mega-sub-menu,
  .max-mega-menu {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Header cluster */
  #header .navbar,
  #header .header-inner,
  .header-wrapper {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  /* Hero padding */
  .elementor-section.elementor-section-height-full,
  .banner,
  .hero {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 12px !important;
  }
}

@media (max-width: 575.98px) {
  h1, .elementor-heading-title {
    font-size: clamp(1.4rem, 7vw, 2rem) !important;
    line-height: 1.25 !important;
  }

  h2 {
    font-size: clamp(1.2rem, 6vw, 1.6rem) !important;
  }

  .btn, .elementor-button {
    white-space: normal !important;
  }
}
