/* ============================================================
   Estilos — Widget Inscripción a Eventos · GesYoga
   ============================================================ */

.w-title { font-size: 1.25rem; font-weight: 700; margin-bottom: .25rem; color: var(--wi-text-1); }
.w-desc  { font-size: .9rem; color: var(--wi-text-3); margin-bottom: 1.25rem; }
.w-steps { display: flex; gap: .5rem; margin-bottom: 1.5rem; }
.w-step  { flex: 1; height: 4px; border-radius: 2px; background: var(--wi-step-bg, #e0e0e0); transition: background .3s; }
.w-step.active { background: var(--wp-primary, #4a90d9); }
.w-step.done   { background: #27ae60; }
.w-panel { display: none; }
.w-panel.visible { display: block; }
.w-field { margin-bottom: 1rem; }
.w-field label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .3rem; color: var(--wi-text-2); }
.w-field input, .w-field select, .w-field textarea {
  width: 100%; padding: .55rem .75rem;
  border: 1px solid var(--wi-border, #ccc);
  background: var(--wi-input-bg, #fff);
  color: var(--wi-text-1);
  border-radius: 6px;
  font-size: .95rem; outline: none; transition: border .2s;
}
.w-field input:focus, .w-field select:focus { border-color: var(--wp-primary, #4a90d9); }
.w-field .w-error { color: #e74c3c; font-size: .8rem; margin-top: .2rem; display: none; }
.w-btn {
  width: 100%; padding: .7rem; background: var(--wp-primary, #4a90d9); color: #fff; border: none;
  border-radius: var(--wp-btn-radius, 6px); font-size: 1rem; font-weight: 600; cursor: pointer; margin-top: .5rem;
  transition: background .2s;
}
.w-btn:hover { background: var(--wp-primary-dark, #357abd); }
.w-btn:disabled { background: #aaa; cursor: not-allowed; }
.w-btn-sec {
  width: 100%; padding: .6rem; background: transparent; color: var(--wp-primary, #4a90d9);
  border: 1px solid var(--wp-primary, #4a90d9);
  border-radius: var(--wp-btn-radius, 6px); font-size: .9rem; cursor: pointer; margin-top: .5rem;
}
.w-price-box {
  background: var(--wi-resumen-bg, #f0f7ff); border: 1px solid var(--wi-resumen-bdr, #c0d8f0); border-radius: 8px;
  padding: .75rem 1rem; margin-bottom: 1rem; font-size: .95rem;
}
.w-price-box .price { font-size: 1.4rem; font-weight: 700; color: var(--wp-primary, #2c6fad); }
.w-price-box .promo { color: #27ae60; font-size: .85rem; }
.w-radio-group { display: flex; flex-direction: column; gap: .5rem; }
.w-radio-opt {
  display: flex; align-items: center; gap: .6rem; padding: .6rem .75rem;
  border: 1px solid var(--wi-border-2, #ddd); border-radius: 6px; cursor: pointer; transition: border .2s;
  color: var(--wi-text-1);
}
.w-radio-opt:hover { border-color: var(--wp-primary, #4a90d9); }
.w-radio-opt input[type=radio] { accent-color: var(--wp-primary, #4a90d9); }
.w-success { text-align: center; padding: 1.5rem 0; }
.w-success .icon { font-size: 3rem; margin-bottom: .75rem; }
.w-success .msg { font-size: 1rem; color: var(--wi-text-1); white-space: pre-line; }
.w-alert { padding: .6rem .9rem; border-radius: 6px; font-size: .9rem; margin-bottom: .75rem; }
.w-alert.error { background: #ffeaea; color: #c00; border: 1px solid #f5c6c6; }
.w-alert.info  { background: #eaf4ff; color: #1a5276; border: 1px solid #aed6f1; }
.wp-dark .w-alert.error { background: #3b0000; color: #fca5a5; border-color: #7f1d1d; }
.wp-dark .w-alert.info  { background: #0c1a2e; color: #93c5fd; border-color: #1e3a5f; }
.w-fecha-completa { opacity: .55; cursor: not-allowed; }
.w-fecha-completa input[type=radio] { cursor: not-allowed; }
.w-fecha-plazas { font-size: .78rem; color: var(--wi-text-4); margin-top: .2rem; }
.w-resumen {
  background: var(--wi-resumen-bg); border: 1px solid var(--wi-resumen-bdr); border-radius: 8px;
  padding: .75rem 1rem; margin-bottom: 1.25rem; font-size: .92rem;
}
.w-resumen-titulo {
  font-weight: 700; font-size: .85rem; color: var(--wi-text-3); text-transform: uppercase;
  letter-spacing: .04em; margin-bottom: .6rem;
}
.w-resumen-fila {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .3rem 0; border-bottom: 1px solid var(--wi-resumen-row);
}
.w-resumen-fila:last-child { border-bottom: none; }
.w-resumen-label { color: var(--wi-text-4); flex-shrink: 0; }
.w-resumen-valor { font-weight: 600; color: var(--wi-text-1); text-align: right; }
.w-resumen-fila.w-resumen-bloque { flex-direction: column; gap: .15rem; }
.w-resumen-fila.w-resumen-bloque .w-resumen-valor { text-align: left; font-weight: 400; font-size: .88rem; color: var(--wi-text-2); }
.w-precio-base-tachado { text-decoration: line-through; color: var(--wi-text-4); font-size: .9rem; margin-right: .4rem; }
.w-info-metodo-pago {
  margin-top: .75rem; padding: .7rem 1rem;
  background: #fffbe6; border: 1px solid #f0d060; border-radius: 6px;
  font-size: .9rem; color: #5a4500; white-space: pre-line; line-height: 1.5; display: none;
}
.wp-dark .w-info-metodo-pago { background: #1c1600; border-color: #7a6200; color: #fde68a; }

/* ── Utilidades de visibilidad ───────────────────────────── */
.w-oculto { display: none; }
.w-hp { display: none; }

/* ── Texto de paso ───────────────────────────────────────── */
.w-paso-txt { font-size: .85rem; color: var(--wi-text-4); margin-bottom: 1rem; }

/* ── Precio en opción de asistencia ─────────────────────── */
.w-precio-asistencia { margin-left: auto; font-weight: 600; }

/* ── Bloque RGPD ─────────────────────────────────────────── */
.w-rgpd-block { margin-top: 1rem; }
.w-rgpd-label { display: flex; align-items: flex-start; gap: .5rem; cursor: pointer; }
.w-rgpd-checkbox { margin-top: .2rem; flex-shrink: 0; }
.w-rgpd-texto { font-size: .85rem; color: var(--wi-text-1); }
.w-rgpd-error { color: #e74c3c; font-size: .8rem; display: none; margin-top: .25rem; }
.w-rgpd-cuerpo {
  display: none; margin-top: 1.2rem; padding: 1rem;
  border: 1px solid var(--wi-border-2); border-radius: 6px; background: var(--wi-resumen-bg);
  font-size: .8rem; color: var(--wi-text-3); max-height: 200px; overflow-y: auto; line-height: 1.5;
}

/* ── Altcha ──────────────────────────────────────────────── */
.w-altcha-wrap { margin: 1rem 0; }
.w-altcha-error { display: none; color: #e74c3c; font-size: .85rem; margin-bottom: .75rem; }

/* ── Panel OK — instrucciones de pago ───────────────────── */
.w-info-pago {
  display: none; margin-top: 1.25rem; padding: .9rem 1rem;
  background: #fffbe6; border: 1px solid #f0d060; border-radius: 8px;
  font-size: .92rem; color: #5a4500; text-align: left; white-space: pre-line; line-height: 1.55;
}
.wp-dark .w-info-pago { background: #1c1600; border-color: #7a6200; color: #fde68a; }
