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

*,
*::before,
*::after {
  box-sizing: border-box;
}

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

@media (max-width: 640px) {
  h1 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    letter-spacing: 0;
  }

  p,
  li,
  a,
  button {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  h1 {
    font-size: clamp(3.75rem, 16vw, 4.85rem) !important;
    line-height: 0.96 !important;
  }
}


#lovable-badge {
  display: none !important;
}


@media (max-width: 640px) {
  h1 {
    font-size: clamp(3rem, 13vw, 3.35rem) !important;
    line-height: 1 !important;
    max-width: calc(100vw - 4rem) !important;
  }
}

@media (max-width: 640px) {
  .grid-cols-12 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  [class*="col-span-"] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .max-w-7xl,
  header,
  footer,
  section {
    max-width: 100vw !important;
  }
}
