/* ==========================================================================
   LANDING — Mobile responsiveness hardening (iOS Safari + Android)
   Sem mudanças visuais; apenas comportamento estrutural.
   ========================================================================== */

:root {
  --dy-safe-top: env(safe-area-inset-top, 0px);
  --dy-safe-bottom: env(safe-area-inset-bottom, 0px);
  --dy-safe-left: env(safe-area-inset-left, 0px);
  --dy-safe-right: env(safe-area-inset-right, 0px);
}

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

html, body {
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  padding-left: var(--dy-safe-left);
  padding-right: var(--dy-safe-right);
}

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

/* Fix iOS auto-zoom em inputs (font-size >= 16px no mobile) */
@media (max-width: 768px) {
  input, select, textarea {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
}

/* Toque confortável em elementos interativos */
@media (max-width: 768px) {
  button, [role="button"], a[data-variant] {
    min-height: 44px;
    touch-action: manipulation;
  }
}

/* Quebra de palavras longas evitando overflow */
h1, h2, h3, h4, h5, h6, p, span, li, a {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Safe-area no rodapé para iPhones com barra inferior */
main {
  padding-bottom: max(3rem, var(--dy-safe-bottom)) !important;
}

/* Card principal nunca ultrapassa a viewport */
.disrupty-card {
  max-width: min(420px, calc(100vw - 32px)) !important;
}

/* iPhone SE / telas pequenas */
@media (max-width: 375px) {
  main { padding-left: 16px !important; padding-right: 16px !important; }
  header img[alt="Logo Disrupty"] { height: 76px !important; }
}
