/* ============================================
   hero.css — Sección principal del index
   Afecta: index.html (hero, badge, botones login)
   ============================================ */

/* Fondo de puntos */
.dot-bg::before {
  content: '';
  position: fixed; inset: 0;
  background-image: radial-gradient(circle, rgba(255,107,53,0.08) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none; z-index: 0;
}

.hero {
  position: relative; z-index: 1;
  min-height: 100vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; padding: 100px 24px 60px;
}

/* Emojis decorativos flotantes */
.hero-deco {
  position: absolute; z-index: 0;
  font-size: 48px; opacity: 0.15;
  animation: float 4s ease-in-out infinite;
  pointer-events: none;
}
.deco-1 { top: 15%; left: 5%;   animation-delay: 0s; }
.deco-2 { top: 20%; right: 6%;  animation-delay: 1s; }
.deco-3 { bottom: 25%; left: 8%; animation-delay: 2s; }
.deco-4 { bottom: 30%; right: 5%; animation-delay: 0.5s; }

/* Badge */
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--amarillo-light); color: #92600A;
  font-size: 13px; font-weight: 700;
  padding: 6px 16px; border-radius: var(--radius-pill);
  margin-bottom: 32px;
  border: 2px solid var(--amarillo);
  animation: fadeUp 0.5s ease both;
}

/* Título */
.hero h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(42px, 7vw, 82px);
  font-weight: 900; line-height: 1.05;
  letter-spacing: -2px; color: var(--texto);
  max-width: 860px;
  animation: fadeUp 0.5s 0.1s ease both;
}
.hero h1 .highlight {
  color: var(--naranja); position: relative; display: inline-block;
}
.hero h1 .highlight::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 6px; border-radius: 3px;
  background: var(--amarillo); opacity: 0.6;
}

/* Subtítulo */
.hero-sub {
  font-size: 19px; color: var(--muted);
  font-weight: 500; max-width: 520px;
  line-height: 1.6; margin-top: 24px;
  animation: fadeUp 0.5s 0.2s ease both;
}

/* Área de login */
.hero-actions {
  display: flex; flex-direction: column;
  align-items: center; gap: 14px;
  margin-top: 44px;
  animation: fadeUp 0.5s 0.3s ease both;
}

.btn-google {
  display: flex; align-items: center; gap: 12px;
  background: white; color: var(--texto);
  border: 2px solid rgba(0,0,0,0.1);
  padding: 14px 32px; border-radius: var(--radius-pill);
  font-family: 'Nunito', sans-serif;
  font-size: 16px; font-weight: 700;
  cursor: pointer; transition: all 0.2s;
  box-shadow: var(--shadow-sm);
}
.btn-google:hover {
  border-color: var(--naranja);
  box-shadow: 0 6px 24px rgba(255,107,53,0.15);
  transform: translateY(-2px);
}
.btn-google svg { width: 22px; height: 22px; }

.btn-email-toggle {
  font-size: 14px; font-weight: 600; color: var(--muted);
  background: none; border: none; cursor: pointer;
  font-family: 'Nunito', sans-serif; text-decoration: underline;
  transition: color 0.2s;
}
.btn-email-toggle:hover { color: var(--naranja); }

.hero-note { font-size: 13px; color: var(--muted); font-weight: 500; }

/* Formulario email */
.email-form {
  display: none; flex-direction: column;
  gap: 10px; width: 100%; max-width: 340px;
}
.email-form.visible { display: flex; }

.form-tabs { display: flex; gap: 8px; }
.form-tab {
  flex: 1; padding: 9px; border-radius: var(--radius-pill);
  border: 2px solid rgba(0,0,0,0.1);
  font-family: 'Nunito', sans-serif; font-size: 14px;
  font-weight: 700; cursor: pointer;
  background: white; color: var(--muted); transition: all 0.2s;
}
.form-tab.active {
  border-color: var(--naranja); color: var(--naranja);
  background: var(--naranja-light);
}

.email-form input {
  border: 2px solid rgba(0,0,0,0.1);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 15px; font-weight: 500;
  outline: none; background: white;
  color: var(--texto); transition: border-color 0.2s;
}
.email-form input:focus { border-color: var(--naranja); }

.btn-submit {
  background: var(--naranja); color: white; border: none;
  border-radius: var(--radius-pill); padding: 13px;
  font-family: 'Nunito', sans-serif; font-size: 15px;
  font-weight: 700; cursor: pointer; transition: all 0.2s;
  box-shadow: var(--shadow-naranja);
}
.btn-submit:hover { transform: translateY(-2px); }

.form-error {
  font-size: 13px; color: #dc2626;
  text-align: center; display: none; font-weight: 600;
}
.form-error.visible { display: block; }

/* Loading overlay */
.loading-overlay {
  position: fixed; inset: 0;
  background: rgba(255,251,247,0.95);
  z-index: 999; display: none;
  align-items: center; justify-content: center;
  flex-direction: column; gap: 16px;
}
.loading-overlay.visible { display: flex; }
.spinner {
  width: 40px; height: 40px; border-radius: 50%;
  border: 4px solid rgba(255,107,53,0.2);
  border-top-color: var(--naranja);
  animation: spin 0.8s linear infinite;
}
.loading-text { font-size: 15px; color: var(--muted); font-weight: 600; }
