/* Responsive Design - Kairos Authentication Portal */

/* Tablet and smaller */
@media (max-width: 1024px) {
  .main-container {
    flex-direction: column;
  }
  
  .brand-section {
    flex: none;
    padding: 1.5rem;
    border-right: none;
    border-bottom: 1px solid var(--glass-border);
  }
  
  .brand-content {
    max-width: none;
  }
  
  .main-logo {
    font-size: 3rem;
  }
  
  .feature-highlights {
    flex-direction: row;
    gap: 1rem;
  }
  
  .auth-section {
    flex: none;
    padding: 1.5rem;
  }
  
  .security-indicators {
    flex-wrap: wrap;
    gap: 0.75rem;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .brand-section,
  .auth-section {
    padding: 1rem;
  }
  
  .main-logo {
    font-size: 2.5rem;
  }
  
  .feature-highlights {
    flex-direction: column;
  }
  
  .feature-item {
    padding: 0.75rem;
  }
  
  .form-container {
    padding: 1.5rem;
  }
  
  .auth-tabs {
    flex-direction: column;
    gap: 0.25rem;
  }
  
  .tab-btn {
    border-radius: 6px;
  }
  
  .progress-indicator {
    gap: 0.5rem;
    margin-bottom: 1.5rem;
  }
  
  .step span {
    display: none;
  }
  
  .destination-options {
    gap: 0.75rem;
  }
  
  .destination-card {
    padding: 1rem;
  }
  
  .destination-features {
    display: none;
  }
  
  .social-login {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .modal {
    margin: 1rem;
    max-height: calc(100vh - 2rem);
  }
  
  .modal-header,
  .modal-content,
  .modal-footer {
    padding: 1rem;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .brand-section,
  .auth-section {
    padding: 0.75rem;
  }
  
  .main-logo {
    font-size: 2rem;
  }
  
  .logo-tagline {
    font-size: 1rem;
  }
  
  .form-container {
    padding: 1rem;
  }
  
  .security-indicators {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .security-badge {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
  }
  
  .progress-indicator {
    gap: 0.25rem;
  }
  
  .step-circle {
    width: 24px;
    height: 24px;
    font-size: 0.75rem;
  }
  
  .legal-links {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .compliance-badges {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  
  .verification-code {
    gap: 0.25rem;
  }
  
  .code-input {
    width: 40px !important;
    height: 48px;
    font-size: 1rem;
  }
}

/* Large screens */
@media (min-width: 1440px) {
  .brand-section {
    padding: 3rem;
  }
  
  .auth-section {
    padding: 3rem;
  }
  
  .main-logo {
    font-size: 4.5rem;
  }
  
  .auth-container {
    max-width: 520px;
  }
  
  .form-container {
    padding: 2.5rem;
  }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .orb {
    filter: blur(80px);
  }
  
  .grid-overlay {
    opacity: 0.03;
  }
}

/* Dark mode support (if system preference changes) */
@media (prefers-color-scheme: light) {
  /* Keep dark theme regardless - this is a premium dark experience */
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  .orb {
    animation: none;
  }
  
  .particle {
    animation: none;
  }
  
  .grid-overlay {
    animation: none;
  }
}

/* Print styles */
@media print {
  .background-animation,
  .modal-overlay,
  .loading-overlay {
    display: none !important;
  }
  
  .main-container {
    background: white;
    color: black;
  }
  
  .brand-section,
  .auth-section {
    background: white;
    border: 1px solid #ccc;
  }
}
