/* ============================================================
   TEMA MORADO — se activa con la clase body.theme-morado
   Fondo morado, accesorios y textos en BLANCO.
   ============================================================ */
body.theme-morado {
  --cream:    #C6017C;            /* fondo = fondo de las imágenes moradas */
  --cream-2:  #A60168;
  --ink:      #FFFFFF;
  --ink-soft: rgba(255, 255, 255, 0.82);
  --line:     rgba(255, 255, 255, 0.22);
  --brand:    #FFFFFF;            /* acentos en blanco */
  --magenta:  #FFFFFF;
  --brand-soft: rgba(255, 255, 255, 0.12);
}

/* Iconos SVG de las cards → blancos */
body.theme-morado .card__ico svg [stroke] { stroke: #fff !important; }
body.theme-morado .card__ico svg [fill]:not([fill="none"]) { fill: #fff !important; }
body.theme-morado .card__ico::before { background: radial-gradient(circle, rgba(255,255,255,0.20), transparent 70%); }

/* Nav: pastilla translúcida para que el logo blanco se lea sobre el morado */
body.theme-morado .nav {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.28);
  box-shadow: 0 16px 40px -16px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.3);
}
body.theme-morado .nav__links a { color: rgba(255,255,255,0.85); }
body.theme-morado .nav__links a:hover { color: #fff; }
body.theme-morado .nav__toggle { color: #fff; }

/* Botones */
body.theme-morado .btn {
  color: #fff; background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.42);
  box-shadow: 0 12px 30px -12px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.4);
}
body.theme-morado .btn:hover { background: rgba(255,255,255,0.22); box-shadow: 0 18px 40px -12px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.45); }
body.theme-morado .btn__arrow { background: #fff; color: var(--cream); box-shadow: 0 5px 12px -3px rgba(0,0,0,0.3); }
body.theme-morado .btn--solid { background: #fff; color: var(--cream); border-color: #fff; }
body.theme-morado .btn--solid:hover { background: #fff; filter: brightness(1.03); }
body.theme-morado .btn--solid .btn__arrow { background: var(--cream); color: #fff; }
body.theme-morado .btn--ghost { background: rgba(255,255,255,0.10); }
body.theme-morado .btn--ghost .btn__arrow { background: #fff; color: var(--cream); }

/* Cards glass — el morado se ve a través (efecto de la referencia) */
body.theme-morado .card {
  background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.42);
  box-shadow: 0 26px 60px -24px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.45);
}
body.theme-morado .card:hover { background: rgba(255,255,255,0.2); box-shadow: 0 34px 70px -24px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.5); }

/* Cobertura */
body.theme-morado .cover__panel {
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  border-color: rgba(255,255,255,0.3);
}
body.theme-morado .cover__panel::before {
  background:
    radial-gradient(48% 60% at 86% -5%, rgba(255,255,255,0.16), transparent 70%),
    radial-gradient(46% 60% at 8% 105%, rgba(255,255,255,0.12), transparent 70%);
}
body.theme-morado .gcard {
  background: var(--cream);
  border-color: rgba(255,255,255,0.25);
  box-shadow: 0 26px 60px -24px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* Proceso */
body.theme-morado .process__panel {
  background: var(--cream);
  border-color: rgba(255,255,255,0.25);
  box-shadow: 0 30px 70px -34px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.25);
}
body.theme-morado .process__media {
  background: #BA0A7D;
  border-color: rgba(255,255,255,0.25);
  box-shadow: 0 26px 60px -24px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* CTA + formulario */
body.theme-morado .cta__panel { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.3); }
body.theme-morado .field { background: rgba(255,255,255,0.95); border-color: rgba(255,255,255,0.6); }
body.theme-morado .field input, body.theme-morado .field textarea { color: #3a0a26; }
body.theme-morado .field ::placeholder,
body.theme-morado .field input::placeholder,
body.theme-morado .field textarea::placeholder { color: rgba(58,10,38,0.5); }
body.theme-morado .field__ico { color: var(--cream); }
body.theme-morado .field:focus-within { box-shadow: inset 0 1px 2px rgba(0,0,0,0.05), 0 0 0 2px rgba(255,255,255,0.7); }
body.theme-morado .form__status.ok { color: #fff; }

/* Detalles en blanco */
body.theme-morado .hero__sub strong { color: #fff; }
/* Restaura el encabezado del hero en blanco (en claro va en gris) */
body.theme-morado .hero__title,
body.theme-morado .hero__title .grad,
body.theme-morado .hero .eyebrow { color: #fff; -webkit-text-fill-color: #fff; }
body.theme-morado .footer__contact a { color: #fff; }
body.theme-morado .footer__contact a:hover { color: rgba(255,255,255,0.75); }

/* Banner de cookies en morado */
body.theme-morado .cookie {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.4);
  box-shadow: 0 26px 60px -24px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.4);
}
body.theme-morado .cookie__btn--ghost { background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.4); color: #fff; }
body.theme-morado .cookie__btn--ghost:hover { background: rgba(255,255,255,0.26); }
body.theme-morado .cookie__btn--accept { background: #fff; color: var(--cream); }
body.theme-morado .cookie__cat input { accent-color: #fff; }

/* Botón flotante de versión en morado (icono blanco = volver a blanco) */
body.theme-morado .theme-fab { background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.5); box-shadow: 0 14px 30px -12px rgba(0,0,0,0.4), inset 0 1.5px 1px rgba(255,255,255,0.5); }
body.theme-morado .theme-fab__ico [stroke] { stroke: #fff !important; }
body.theme-morado .theme-fab__ico [fill]:not([fill="none"]) { fill: #fff !important; }

/* Formulario: selector, verificación y consentimiento */
body.theme-morado .field--select select { color: #3a0a26; }
body.theme-morado .field--select::after { border-color: rgba(58,10,38,0.55); }
body.theme-morado .verify { color: rgba(255,255,255,0.8); }
body.theme-morado .verify[data-estado="cargando"] .verify__ico { border-color: rgba(255,255,255,0.3); border-top-color: #fff; }
body.theme-morado .verify[data-estado="ok"] .verify__ico { background: #fff; }
body.theme-morado .verify[data-estado="ok"] .verify__ico::after { border-color: var(--cream); }
body.theme-morado .verify[data-estado="ok"] .verify__txt { color: #fff; }
body.theme-morado .verify[data-estado="error"] .verify__ico { background: #FFD9E4; }
body.theme-morado .verify[data-estado="error"] .verify__ico::after { color: #B3123F; }
body.theme-morado .verify[data-estado="error"] .verify__txt { color: #FFD9E4; }
body.theme-morado .consent { color: rgba(255,255,255,0.85); }
body.theme-morado .consent a { color: #fff; }
body.theme-morado .consent input { accent-color: #fff; }
body.theme-morado .form__status.err { color: #FFD9E4; }

/* Preguntas frecuentes */
body.theme-morado .faq__item {
  background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.34);
  box-shadow: 0 22px 50px -26px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.3);
}
body.theme-morado .faq__item:hover { background: rgba(255,255,255,0.18); }
body.theme-morado .faq__item summary h3 { color: #fff; }
body.theme-morado .faq__plus::before, body.theme-morado .faq__plus::after { background: #fff; }
body.theme-morado .faq__item > p { color: rgba(255,255,255,0.85); }
body.theme-morado .faq__item > p a { color: #fff; }
