/* ============================================================
   responsive.css — 5 breakpoints DS Moncalieri
   ============================================================ */

/* ≥1280px desktop large — default no auth.css */

/* 880–1279px desktop */
@media (max-width: 1279px) {
  .auth-form-panel { flex-basis: 60%; padding: 32px; }
  .auth-visual-panel { flex-basis: 40%; }
  .auth-card { max-width: 420px; padding: 32px; }
}

/* 768–879px tablet — esconde visual, vira faixa decorativa */
@media (max-width: 879px) {
  .auth-shell { flex-direction: column; }
  .auth-form-panel { flex: 1 1 auto; padding: 32px; }
  .auth-visual-panel {
    flex: 0 0 80px;
    order: -1;
  }
  .av-cube-wrap { display: none; }
  .auth-card {
    max-width: 480px;
    padding: 32px;
    margin: 0 auto;
  }
  .auth-card h1 { font-size: 20px; }
  body { font-size: 15px; }

  .otp-grid input.otp-cell {
    width: 44px; height: 52px;
    font-size: 22px;
  }
}

/* 560–767px mobile large */
@media (max-width: 767px) {
  .auth-form-panel { padding: 24px; }
  .auth-visual-panel { flex-basis: 64px; }
  .auth-card { padding: 28px; max-width: none; }
  .otp-grid { gap: 6px; }
  .otp-grid .otp-cell:nth-child(3) { margin-right: 4px; }
}

/* 440–559px mobile small */
@media (max-width: 559px) {
  .auth-form-panel { padding: 16px; }
  .auth-visual-panel { flex-basis: 56px; }
  .auth-card { padding: 24px; border-radius: var(--rmd); }
  .auth-card h1 { font-size: 18px; }
  body { font-size: 14px; }
  .otp-grid input.otp-cell {
    width: 40px; height: 48px;
    font-size: 20px;
  }
  .otp-grid { gap: 4px; }
  .otp-grid .otp-cell:nth-child(3) { margin-right: 4px; }
  .progress-dots .dot { width: 6px; height: 6px; }
}

/* ≤439px mobile mínimo */
@media (max-width: 439px) {
  .auth-form-panel { padding: 12px; }
  .auth-card { padding: 20px; }
}
