/* ==============================
   AUTH PAGES RESPONSIVE STYLES
   Login & Signup Mobile Optimization
   ============================== */

/* ==============================
   EXTRA SMALL DEVICES (320px - 480px)
   ============================== */
@media (max-width: 480px) {
  /* Auth Section */
  .auth-section {
    padding: 1rem 0;
    min-height: 100vh;
  }

  /* Auth Container - Full width with padding */
  .auth-container {
    max-width: 100%;
    margin: 0 auto;
    background: rgb(0 0 0 / 10%);
    backdrop-filter: blur(40px);
    padding: 1.5rem 1rem;
    padding-bottom: 1rem;
    border-radius: 0;
  }

  .auth-form {
    padding: 0;
    padding-top: 0;
  }

  /* Auth Header */
  .auth-header {
    margin-bottom: 1.25rem;
  }

  .auth-header h1 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
  }

  .auth-header p {
    font-size: 0.95rem;
  }

  /* Form Row - Stack on mobile */
  .form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  /* Form Group */
  .form-group {
    margin-bottom: 0.75rem;
  }

  .form-group label {
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 0.65rem 0.75rem;
    font-size: 1rem;
    min-height: 44px;
  }

  /* Password Field */
  .password-field {
    position: relative;
    display: flex;
    align-items: center;
  }

  .password-field input {
    width: 100%;
    padding-right: 40px;
  }

  .password-toggle {
    position: absolute;
    right: 12px;
    background: none;
    border: none;
    cursor: pointer;
    color: #2c3e50;
    font-size: 1rem;
    padding: 0.5rem;
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Password Strength Indicator */
  .password-strength {
    margin-top: 0.5rem;
  }

  .strength-bar {
    height: 4px;
    background: #e9ecef;
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 0.4rem;
  }

  .strength-fill {
    height: 100%;
    background: #da3743;
    border-radius: 2px;
    transition: width 0.3s ease;
  }

  .strength-text {
    font-size: 0.75rem;
    color: #7f8c8d;
  }

  /* Form Options */
  .form-options {
    margin-bottom: 0.75rem;
  }

  .checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.85rem;
    cursor: pointer;
    min-height: 44px;
  }

  .checkbox-label input {
    width: 18px;
    height: 18px;
    cursor: pointer;
  }

  /* .checkmark {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid #da3743;
    border-radius: 3px;
    position: relative;
  } */

  /* Buttons */
  .btn {
    padding: 0.8rem 1.2rem;
    font-size: 0.9rem;
    min-height: 44px;
  }

  .btn-full {
    width: 100%;
  }

  /* Auth Divider */
  .auth-divider {
    margin: 1rem 0;
  }

  .auth-divider span {
    font-size: 0.85rem;
  }

  /* Social Login */
  .social-login {
    gap: 0.75rem;
    margin-bottom: 1rem;
  }

  .btn-social {
    padding: 0.8rem 1rem;
    font-size: 0.85rem;
    flex-direction: column;
    gap: 0.6rem;
    min-height: 44px;
  }

  .btn-social i {
    font-size: 1.2rem;
  }

  /* Auth Footer */
  .auth-footer {
    margin-top: 0.75rem;
  }

  .auth-footer p {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
  }

  .auth-footer a {
    text-decoration: none;
    font-weight: 600;
  }

  /* Back Link */
  .back-link {
    font-size: 0.85rem;
    gap: 4px;
  }

  .back-link i {
    font-size: 1rem;
  }

  /* Forgot Password Link */
  .forgot-link {
    font-size: 0.8rem;
    text-decoration: none;
    color: #da3743;
  }
}

/* ==============================
   SMALL TABLETS (481px - 768px)
   ============================== */
@media (min-width: 481px) and (max-width: 768px) {
  /* Auth Section */
  .auth-section {
    padding: 1.5rem 0;
    min-height: 100vh;
  }

  /* Auth Container */
  .auth-container {
    max-width: 90%;
    margin: 0 auto;
    background: rgb(0 0 0 / 8%);
    backdrop-filter: blur(50px);
    padding: 2rem 1.75rem;
    border-radius: 8px;
  }

  .auth-form {
    padding: 0;
  }

  /* Auth Header */
  .auth-header {
    margin-bottom: 1.5rem;
  }

  .auth-header h1 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }

  .auth-header p {
    font-size: 1rem;
  }

  /* Form Row */
  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  /* Form Group */
  .form-group {
    margin-bottom: 1rem;
  }

  .form-group label {
    margin-bottom: 0.6rem;
    font-size: 0.9rem;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 0.7rem 0.85rem;
    font-size: 0.95rem;
    min-height: 44px;
  }

  .password-toggle {
    right: 12px;
    min-height: 44px;
    min-width: 44px;
  }

  /* Password Strength */
  .strength-text {
    font-size: 0.8rem;
  }

  /* Form Options */
  .form-options {
    margin-bottom: 1rem;
  }

  .checkbox-label {
    font-size: 0.9rem;
    min-height: 44px;
  }

  /* Buttons */
  .btn {
    padding: 0.8rem 1.5rem;
    font-size: 0.95rem;
    min-height: 44px;
  }

  /* Divider */
  .auth-divider {
    margin: 1.2rem 0;
  }

  /* Social Login */
  .social-login {
    gap: 1rem;
    margin-bottom: 1.2rem;
  }

  .btn-social {
    padding: 0.9rem 1.2rem;
    font-size: 0.9rem;
    flex-direction: row;
    min-height: 44px;
  }

  /* Auth Footer */
  .auth-footer {
    margin-top: 1rem;
  }

  .auth-footer p {
    font-size: 0.9rem;
    margin-bottom: 0.6rem;
  }

  /* Back Link */
  .back-link {
    font-size: 0.9rem;
  }

  .forgot-link {
    font-size: 0.85rem;
  }
}

/* ==============================
   MEDIUM TABLETS (769px - 1024px)
   ============================== */
@media (min-width: 769px) and (max-width: 1024px) {
  /* Auth Container */
  .auth-container {
    max-width: 55vw;
    margin: 0 auto;
    background: rgb(0 0 0 / 8%);
    backdrop-filter: blur(50px);
    padding: 2.5rem 2rem;
  }

  /* Form Row */
  .form-row {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }

  /* Form Group */
  .form-group {
    margin-bottom: 1.2rem;
  }

  .form-group label {
    font-size: 0.95rem;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 0.75rem 1rem;
    font-size: 1rem;
  }

  /* Buttons */
  .btn {
    padding: 0.85rem 1.75rem;
    font-size: 1rem;
  }

  /* Social Login */
  .social-login {
    gap: 1.2rem;
  }

  .btn-social {
    padding: 1rem 1.5rem;
    font-size: 0.95rem;
  }
}

/* ==============================
   DESKTOP (1025px and above)
   ============================== */
@media (min-width: 1025px) {
  /* Auth Container */
  .auth-container {
    max-width: 35vw;
    padding: 2rem;
  }

  .auth-form {
    padding: 1rem;
  }

  /* Form Row */
  .form-row {
    gap: 1.5rem;
  }

  /* Form Group */
  .form-group {
    margin-bottom: 1rem;
  }

  /* All form elements remain as per original styles */
}

/* ==============================
   ACCESSIBILITY & IMPROVEMENTS
   ============================== */

/* Improve touch targets on all mobile devices */
@media (max-width: 1024px) {
  button,
  a.btn,
  a.back-link,
  a.forgot-link {
    min-height: 44px;
    min-width: 44px;
  }

  input,
  select,
  textarea {
    font-size: 16px; /* Prevent zoom on iOS */
    min-height: 44px;
  }

  .checkbox-label {
    min-height: 44px;
  }
}

/* Focus states for keyboard navigation */
.form-group input:focus-visible,
.form-group select:focus-visible,
.form-group textarea:focus-visible,
.btn:focus-visible,
.back-link:focus-visible {
  outline: 2px solid #da3743;
  outline-offset: 2px;
}

/* Smooth transitions */
.auth-section,
.auth-container,
.form-group input,
.form-group select,
.btn,
.password-toggle {
  transition: all 0.3s ease;
}

/* Reduce motion preferences */
@media (prefers-reduced-motion: reduce) {
  .auth-section,
  .auth-container,
  .form-group input,
  .form-group select,
  .btn,
  .password-toggle {
    transition: none;
  }
}

/* ==============================
   RESPONSIVE FORM LAYOUTS
   ============================== */

/* Ensure full width inputs on mobile */
@media (max-width: 768px) {
  .form-row {
    grid-template-columns: 1fr;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Better spacing for long forms */
@media (max-width: 480px) {
  .form-options {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .form-options label {
    margin: 0;
  }
}

/* Social buttons responsive */
@media (max-width: 480px) {
  .social-login {
    flex-direction: column;
  }

  .btn-social {
    width: 100%;
  }
}

@media (min-width: 481px) {
  .social-login {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .btn-social {
    width: 100%;
  }
}
