/* Shared authentication page styles for login and signup */

/* Override global background image for auth pages */
body::before {
  background-image: url('/assets/images/hero-front-cropped.png') !important;
}

/* Center auth card vertically and horizontally */
body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.site {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  margin: 2rem !important;
  max-width: 100% !important;
  min-height: auto !important;
  width: 100% !important;
}

#main-content {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Auth card layout */
.card {
  max-width: 800px;
  width: calc(100% - 4rem);
  margin: 0 auto;
  text-align: center;
}

.auth-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--color-outline), transparent);
  margin: var(--space-6) 0;
}

.auth-form-container {
  max-width: 500px;
  margin: 0 auto;
}

/* Two-button layout */
.auth-buttons {
  display: flex;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

@media (max-width: 600px) {
  .auth-buttons {
    flex-direction: column;
  }
}

/* Shared button styles */
.btn-google,
.btn-email {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  flex: 1;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 200ms ease,
    box-shadow 200ms ease,
    background-color 200ms ease;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
}

/* Google button styling */
.btn-google {
  border: 2px solid #4285f4;
  background: var(--color-white);
  color: #3c4043;
}

.btn-google:hover {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(66, 133, 244, 0.3);
}

/* Email button styling */
.btn-email {
  border: 2px solid var(--color-accent);
  background: var(--color-background);
  color: var(--color-text);
}

.btn-email:hover {
  background: var(--color-accent);
  color: var(--color-white);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px var(--shadow-card);
}

/* Email form toggle container */
.email-form-container {
  display: none;
}

.email-form-container.active {
  display: block;
  animation: slideDown 200ms ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .card {
    width: calc(100% - 2rem);
    margin: 0 auto;
  }

  .site {
    margin: 1rem !important;
  }
}
