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%;
  }
}

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

@media (max-width: 640px) {
  body {
    background: #130d1c !important;
  }

  section:not(:first-of-type),
  footer {
    background:
      radial-gradient(circle at 100% 0%, rgba(242, 133, 31, 0.13), transparent 34rem),
      linear-gradient(180deg, rgba(12, 8, 18, 0.94), rgba(20, 13, 24, 0.98));
  }

  section {
    padding-top: 4.75rem !important;
    padding-bottom: 4.75rem !important;
  }

  section h2 {
    font-size: clamp(2.35rem, 12vw, 3.25rem) !important;
    line-height: 1.05 !important;
    color: #fffaf0;
  }

  .text-muted-foreground {
    color: rgba(255, 250, 240, 0.76) !important;
  }

  #community [class*="grid-cols-3"] {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  #community [class*="text-4xl"] {
    font-size: 2rem !important;
    line-height: 1.08 !important;
  }

  #sermons a.group {
    display: block !important;
    padding: 1.25rem 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #sermons a.group > * + * {
    margin-top: 0.5rem !important;
  }

  #rhythm li {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  #rhythm li h3 {
    font-size: clamp(1.6rem, 8vw, 2.15rem) !important;
  }
}

