/* =====================================================================
   CreaLab - Hoja de estilos principal
   Tipografía: Inter | Color primario: #5b21f5 (morado)
   ===================================================================== */

:root {
  --color-primario: #5b21f5;
  --color-primario-oscuro: #3f12c4;
  --color-acento-rosa: #ff3fb4;
  --color-fondo-oscuro: #120a2e;
  --color-fondo-oscuro-2: #1a1040;
  --color-texto-claro: #f5f3ff;
  --color-texto-muted: #b8aee0;
  --radio-tarjeta: 16px;
  --sombra-suave: 0 10px 30px rgba(91, 33, 245, 0.15);
  --gradiente-primario: linear-gradient(135deg, var(--color-primario), var(--color-acento-rosa));
}

* { box-sizing: border-box; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #ffffff;
  background-color: #fff;
}

a { text-decoration: none; }

/* ---------- Navbar ---------- */
.navbar-crealab {
  background: #120a2e;
  padding: 0.9rem 0;
  box-shadow: 0 2px 14px rgba(0,0,0,0.05);
}
.navbar-crealab .navbar-brand {
  font-weight: 800;
  font-size: 1.4rem;
  color: var(--color-fondo-oscuro);
}
.navbar-crealab .navbar-brand span.logo-dot {
  display: inline-block;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--gradiente-primario);
  margin-right: 8px;
}
.navbar-crealab .nav-link {
  font-weight: 600;
  color: #ffffff;
  margin: 0 0.6rem;
}
.navbar-crealab .nav-link.active,
.navbar-crealab .nav-link:hover { color: var(--color-primario); }

.btn-crealab-primary {
  background: var(--gradiente-primario);
  border: none;
  color: #fff;
  font-weight: 700;
  border-radius: 10px;
  padding: 0.55rem 1.4rem;
  transition: transform .15s ease, box-shadow .15s ease;
}
.btn-crealab-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--sombra-suave);
  color: #fff;
}
.btn-crealab-outline {
  border: 2px solid var(--color-fondo-oscuro);
  color: var(--color-fondo-oscuro);
  font-weight: 700;
  border-radius: 10px;
  padding: 0.5rem 1.3rem;
  background: transparent;
}
.btn-crealab-outline:hover { background: var(--color-fondo-oscuro); color: #fff; }

/* ---------- Hero ---------- */
.hero-crealab {
  background: radial-gradient(circle at 80% 20%, #2a1a66 0%, var(--color-fondo-oscuro) 60%);
  color: #fff;
  padding: 4.5rem 0 5rem;
  position: relative;
  overflow: hidden;
}
.hero-crealab h1 { font-weight: 800; font-size: 2.7rem; line-height: 1.2; }
.hero-crealab h1 .destacado { color: #b89bff; }
.hero-crealab p.lead-text { color: var(--color-texto-muted); font-size: 1.05rem; max-width: 480px; }
.hero-crealab .avatar-stack img {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 2px solid var(--color-fondo-oscuro);
  margin-right: -10px;
}
.hero-crealab img.persona-hero { max-height: 480px; object-fit: contain; }

/* ---------- ¿Por qué elegirnos? ---------- */
.seccion-elegirnos {
  background: var(--color-fondo-oscuro);
}
.seccion-titulo { font-weight: 800; text-align: center; margin-bottom: 0.5rem; }
.seccion-subrayado {
  width: 70px; height: 5px;
  background: #7327F5;
  border-radius: 4px;
  margin: 0 auto 2.5rem;
}
.tarjeta-beneficio {
  background: var(--color-fondo-oscuro-2);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radio-tarjeta);
  padding: 2.5rem 2rem 2rem;
  height: 100%;
  color: #fff;
  position: relative;
  margin-top: 28px; /* deja espacio para que el círculo sobresalga arriba */
}
.tarjeta-beneficio .icono-circulo,
.tarjeta-beneficio .icono-imagen-circulo {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #7327F5;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  overflow: hidden;
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  box-shadow: 0 6px 16px rgba(91,33,245,0.45);
}
.tarjeta-beneficio .icono-imagen-circulo img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: brightness(0) invert(1); /* fuerza el ícono a blanco, quítalo si tu PNG ya es blanco */
}
.tarjeta-beneficio h3 { font-weight: 700; font-size: 1.1rem; }
.tarjeta-beneficio p { color: var(--color-texto-muted); font-size: 0.92rem; margin-bottom: 0; }

/* ---------- Programas ---------- */
.tarjeta-programa {
  border-radius: var(--radio-tarjeta);
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  height: 100%;
  background: #fff;
  transition: transform .15s ease;
}
.tarjeta-programa:hover { transform: translateY(-4px); }
.tarjeta-programa .imagen-wrap { position: relative; height: 160px; overflow: hidden; }
.tarjeta-programa .imagen-wrap img { width: 100%; height: 100%; object-fit: cover; }
.badge-nivel {
  position: absolute; top: 10px; left: 10px;
  padding: 0.3rem 0.65rem;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #fff;
}
.badge-nivel.basico { background: #e53888; }
.badge-nivel.intermedio { background: #5b21f5; }
.badge-nivel.avanzado { background: #1a1040; }
.badge-rating {
  position: absolute; top: 10px; right: 10px;
  background: rgba(255,255,255,0.92);
  padding: 0.25rem 0.55rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 700;
}
.tarjeta-programa .cuerpo { padding: 1.1rem 1.2rem 1.3rem; }
.tarjeta-programa h3 { font-size: 1.02rem; font-weight: 700; margin-bottom: 0.3rem; }
.tarjeta-programa p.descripcion { font-size: 0.85rem; color: #6c6486; }
.tarjeta-programa .duracion { font-size: 0.82rem; color: #6c6486; }

/* ---------- Nosotros ---------- */
.seccion-nosotros { background: var(--color-fondo-oscuro); color: #fff; padding: 4rem 0; }
.seccion-nosotros img.persona-nosotros { border-radius: var(--radio-tarjeta); }
.tarjeta-mv {
  background: var(--color-fondo-oscuro-2);
  border-radius: var(--radio-tarjeta);
  padding: 1.6rem;
}

/* ---------- Testimonios ---------- */
.seccion-testimonios { background: var(--color-fondo-oscuro); color: #fff; padding: 4rem 0; }
.tarjeta-testimonio {
  background: var(--color-fondo-oscuro-2);
  border-radius: var(--radio-tarjeta);
  padding: 1.8rem;
  height: 100%;
}
.tarjeta-testimonio .estrellas { color: #ffd166; letter-spacing: 2px; }
.tarjeta-testimonio p.comentario { color: var(--color-texto-muted); font-size: 0.92rem; }

/* ---------- Formulario de contacto ---------- */
.seccion-contacto { background: #f4f1ff; padding: 4rem 0; }
.tarjeta-form {
  background: #fff;
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: var(--sombra-suave);
  max-width: 560px;
  margin: 0 auto;
}
.tarjeta-form label { font-weight: 600; font-size: 0.9rem; }
.tarjeta-form .form-control {
  border-radius: 10px;
  border: 1px solid #ddd6f8;
  padding: 0.65rem 0.9rem;
}
.tarjeta-form .form-control:focus {
  border-color: var(--color-primario);
  box-shadow: 0 0 0 3px rgba(91,33,245,0.15);
}

/* ---------- Footer ---------- */
footer.footer-crealab { background: var(--color-fondo-oscuro); color: var(--color-texto-muted); padding: 3rem 0 1.5rem; }
footer.footer-crealab h5 { color: #fff; font-weight: 700; font-size: 0.95rem; }
footer.footer-crealab a { color: var(--color-texto-muted); }
footer.footer-crealab a:hover { color: #fff; }
footer.footer-crealab .copy { border-top: 1px solid rgba(255,255,255,0.08); margin-top: 2rem; padding-top: 1.2rem; font-size: 0.82rem; text-align: center; }

@media (max-width: 768px) {
  .hero-crealab h1 { font-size: 2rem; }
  .hero-crealab img.persona-hero { margin-top: 2rem; max-height: 320px; }
}