/* ── Tablet / Desktop ── */
@media (min-width: 640px) {
  body {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #E8EBF0;
    padding: 40px 16px;
  }

  .page {
    width: 100%;
    max-width: 440px;
    min-height: auto;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
  }

  .header {
    padding: 44px 32px 72px;
  }

  .card-wrap {
    padding: 0 24px 28px;
  }
}

/* ── Small phones ── */
@media (max-width: 360px) {
  .header {
    padding: 40px 18px 70px;
  }

  .logo__name { font-size: 26px; }
  .header__title { font-size: 19px; }

  .card { padding: 24px 18px 20px; }

  .btn-primary { font-size: 15px; }
}

/* ── Fix virtual keyboard pushing layout ── */
@media (max-height: 600px) and (max-width: 639px) {
  .header {
    padding: 28px 20px 60px;
  }

  .logo__name { font-size: 24px; }
  .header__title { font-size: 18px; }
  .header__sub { display: none; }
}
