/* ===========================
   styles.css
   Guarda este archivo como styles.css y colócalo en la misma carpeta que index.html
   =========================== */

/* Tipografía general */
:root{
  --poppins: 'Poppins', sans-serif;
  --purple: #6e42b3;
  --purple-strong: #5a2fa0;
  --glass-border: rgba(255,255,255,0.12);
}

/* -------------- Fondo degradado animado (olas suaves) -------------- */
/* usa los colores que pediste para la animación */
.page-bg{
  position:fixed; inset:0; z-index:-2;
  background: linear-gradient(115deg, #1E333F, #7EAAC2, #412755, #AF8DCA);
  background-size: 800% 800%;
  animation: gradientShift 20s ease-in-out infinite;
  filter: saturate(0.98);
}
@keyframes gradientShift {
  0%{background-position:0% 50%;}
  25%{background-position:50% 100%;}
  50%{background-position:100% 50%;}
  75%{background-position:50% 0%;}
  100%{background-position:0% 50%;}
}

/* Body / layout */
*{ box-sizing:border-box; }
html,body{ height:100%; margin:0; font-family: var(--poppins); }
body{
  display:flex; align-items:center; justify-content:center;
  background: #0b0f12; /* fallback color */
  color: #fff;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}

/* Top bar with glass button + centered logo */
.topbar{
  position:fixed; top:18px; left:18px; right:18px;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
  font-family: var(--poppins);
}
.glass-btn{
  pointer-events:auto;
  position:absolute; left:18px; top:0;
  text-decoration:none; padding:10px 14px;
  border-radius:12px; border:1px solid var(--glass-border);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  backdrop-filter: blur(8px);
  color: #fff; font-weight:600;
  transition: box-shadow .18s, transform .08s, filter .12s;
  font-family: var(--poppins);
}
.glass-btn:hover{ box-shadow: 0 8px 30px rgba(0,0,0,0.35); transform: translateY(-3px); }
.brand-logo{ height: 100px; display:block; }

.option-purple{
    font-family: var(--poppins);

}

/* Main container */
.container{
  width:100%; max-width:980px; padding:80px 20px;
  display:flex; align-items:center; justify-content:center;
  min-height:100vh;
}

/* Card (glass) donde van las preguntas:
   - más blur para mayor legibilidad, fondo translúcido oscuro */
.card{
  width:min(980px,96%);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border-radius:20px;
  padding:30px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--glass-border);
  box-shadow: 0 20px 60px rgba(3,4,9,0.5);
  color: #fff;
}

/* Pasos */
.step{ text-align:left; color:#f7f9fb; }
.step h2{ font-size:26px; margin:4px 0 12px; color:#fff; }
.step p{ color: rgba(255,255,255,0.85); }

/* Botones base */
.btn{ padding:12px 18px; border-radius:12px; border:0; cursor:pointer; font-weight:700; font-family: var(--poppins); }
.btn-primary{
  background: linear-gradient(180deg,var(--purple),var(--purple-strong));
  color:white; box-shadow: 0 10px 30px rgba(98,49,160,0.18);
  transition: transform .12s ease, box-shadow .12s;
}
.btn-primary:hover{ transform: translateY(-4px); box-shadow: 0 18px 45px rgba(98,49,160,0.28); }
.btn-primary:active{ transform: translateY(0); box-shadow: 0 6px 18px rgba(0,0,0,0.18); }

/* Botón regresar (bottom-left) */
.btn-ghost{
  position:fixed; left:18px; bottom:18px;
  padding:10px 14px; border-radius:12px; border:1px solid rgba(255,255,255,0.14);
  background:transparent; color:white; font-weight:700;
  backdrop-filter: blur(6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.45);
  cursor:pointer;
}

/* Opciones (botones) */
.options-grid{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.option{
  border:0; padding:14px 16px; border-radius:12px; cursor:pointer;
  color:#0f1720; min-width:180px; text-align:left;
  box-shadow: 0 6px 18px rgba(16,24,32,0.06);
  transition: transform .12s, box-shadow .12s, background .12s;
  position:relative; overflow:hidden;
  background: linear-gradient(180deg,#f1e8ff,#f8f2ff); /* tonos morados pálidos */
  font-weight:600;
}
.option:hover{ transform: translateY(-6px); box-shadow: 0 18px 40px rgba(16,24,32,0.12); }

/* descripción (aparece en hover) */
.option .desc{ display:block; font-weight:400; font-size:13px; opacity:0; height:0; transition: all .18s; color:#3a2c46; margin-top:8px; font-family: var(--poppins); }
.option:hover .desc{ opacity:1; height:auto; }

/* Hero question (pregunta 1) usa imagen de referencia */
.hero-question{
  width:100%; height:420px; border-radius:12px; overflow:hidden;
  background-position:center; background-size:cover; display:flex; align-items:flex-end;
  /* Cambia la ruta de la imagen en el HTML o aquí si lo prefieres */
}
.hero-overlay{
  width:100%; padding:26px; background: linear-gradient(180deg, rgba(0,0,0,0.0), rgba(0,0,0,0.55));
  color:white;
}
.hero-options{ display:flex; gap:10px; }

/* Formulario */
.lead-form{ display:flex; flex-direction:column; gap:12px; margin-top:10px; }
.lead-form label{ display:flex; flex-direction:column; font-size:14px; color:rgba(255,255,255,0.9); }
.lead-form input[type="text"], .lead-form input[type="email"], .lead-form input[type="tel"]{
  margin-top:8px; padding:10px 12px; border-radius:10px; border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03); color: #fff;
}

/* Preferencia */
.contact-pref{ display:flex; gap:12px; align-items:center; margin-top:6px; color:rgba(255,255,255,0.9); }
.contact-pref input{ margin-right:6px; }

/* Responsivo */
@media (max-width:720px){
  .card{ padding:20px; border-radius:16px; }
  .hero-question{ height:300px; }
  .options-grid{ justify-content:center; }
}
