/* ============================================================
   RESPONSIVE.CSS — Mobile-first 390px base
   ============================================================ */

/* ---- Small phones (< 375px) ---- */
@media (max-width: 374px) {
  :root {
    --screen-padding: 1.25rem;
  }

  /* hub__name é tagline pequena (Oswald uppercase) — não altera tamanho em small phones */

  .btn {
    padding: 0.875rem 1.5rem;
  }
}

/* ---- Large phones (>= 430px) ---- */
@media (min-width: 430px) {
  :root {
    --container-max: 420px;
  }
}

/* ---- Tablets (>= 768px) ---- */
@media (min-width: 768px) {
  :root {
    --container-max: 540px;
    --screen-padding: 3rem;
  }

  /* hub__name mantém tamanho fluido definido em sections.css */

  .hub__actions {
    flex-direction: row;
  }

  .hub__actions .btn {
    width: auto;
    flex: 1;
  }
}

/* ---- Desktop (>= 1024px) ---- */
@media (min-width: 1024px) {
  :root {
    --container-max: 580px;
  }

  /* Centralizar na tela */
  .screen {
    align-items: center;
  }

  .screen > * {
    width: 100%;
    max-width: var(--container-max);
  }
}

/* ---- Landscape mobile ---- */
@media (max-height: 600px) and (orientation: landscape) {
  :root {
    --screen-padding: 1rem;
    --space-xl: 2rem;
  }

  .hub__hero {
    padding: var(--space-md) 0;
  }

  .modal-loading {
    padding-top: var(--space-md);
  }
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
