/* LM Inscripciones — estilos del plugin */

.lm-inscripciones-wrap { display: inline-block; }

/* ── Botones ─────────────────────────────────────────────────────── */
.lm-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: .4em; padding: .55em 1.3em; border: none; border-radius: 6px;
  cursor: pointer; font-size: 1rem; font-weight: 600; font-family: inherit;
  line-height: 1.4; text-decoration: none;
  transition: background-color .2s ease, opacity .2s ease;
}
.lm-btn:focus-visible { outline: 3px solid #1e88e5; outline-offset: 2px; }
.lm-btn:disabled { opacity: .55; cursor: not-allowed; }

.lm-btn-inscripcion {
  background-color: #830896; color: #fff;
  font-size: 1.5rem!important; padding: .7em 2em;
  letter-spacing: .04em; text-transform: uppercase;
}
.lm-btn-inscripcion:hover:not(:disabled) { background-color: #a82cbb; color: #fff; }

.lm-btn-primary { background-color: #1e88e5; color: #fff; }
.lm-btn-primary:hover:not(:disabled) { background-color: #1565c0; }

.lm-btn-secondary { background-color: #e0e0e0; color: #333; }
.lm-btn-secondary:hover:not(:disabled) { background-color: #bdbdbd; }

/* ── Dialog ──────────────────────────────────────────────────────── */
dialog.lm-dialog {
  border: none; border-radius: 12px; padding: 0;
  max-width: 500px; width: calc(100vw - 2rem);
  box-shadow: 0 12px 48px rgba(0,0,0,.28); overflow: hidden;
}
dialog.lm-dialog::backdrop {
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
}
.lm-dialog-inner {
  padding: 2rem; position: relative;
  max-height: 90vh; overflow-y: auto; box-sizing: border-box;
}
.lm-dialog-close {
  position: absolute; top: 1rem; right: 1rem;
  background: none; border: none; font-size: 1.4rem; line-height: 1;
  cursor: pointer; color: #888; width: 2rem; height: 2rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 4px; padding: 0;
  transition: background-color .15s, color .15s;
}
.lm-dialog-close:hover { background-color: #f0f0f0; color: #333; }

/* ── Cabecera evento ─────────────────────────────────────────────── */
.lm-evento-header {
  margin-bottom: 1.5rem; padding-bottom: 1rem;
  border-bottom: 2px solid #f0f0f0;
}
.lm-evento-header h2 { margin: 0 2.5rem .3rem 0; font-size: 1.25rem; line-height: 1.3; color: #1a1a1a; }
.lm-precio { color: #555; font-size: .95rem; }
.lm-fecha-evento { color: #444; font-size: .95rem; font-weight: 700; }


/* ── Pasos ───────────────────────────────────────────────────────── */
.lm-step h3 { margin: 0 0 .4rem; font-size: 1.1rem; color: #1a1a1a; }
.lm-step > p { margin: 0 0 1.2rem; color: #555; font-size: .95rem; }

.lm-field { display: flex; flex-direction: column; gap: .3rem; margin-bottom: 1rem; }
.lm-field label { font-size: .85rem; font-weight: 600; color: #444; }
.lm-field input,
.lm-field select {
  width: 100%; box-sizing: border-box; padding: .55em .75em;
  border: 1px solid #ccc; border-radius: 6px;
  font-size: 1rem; font-family: inherit; color: #1a1a1a; background-color: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.lm-field input:focus,
.lm-field select:focus {
  outline: none; border-color: #1e88e5;
  box-shadow: 0 0 0 3px rgba(30,136,229,.15);
}
.lm-field input:disabled,
.lm-field select:disabled { background-color: #f5f5f5; color: #888; cursor: not-allowed; }

/* ── Error ───────────────────────────────────────────────────────── */
.lm-error {
  margin: .5rem 0; padding: .6rem .85rem;
  background-color: #fdecea; color: #b71c1c;
  border-left: 3px solid #e53935; border-radius: 4px;
  font-size: .9rem; line-height: 1.4;
}

/* ── Acciones ────────────────────────────────────────────────────── */
.lm-actions { margin-top: 1.4rem; display: flex; justify-content: flex-end; gap: .75rem; }

/* ── Ya inscrito ─────────────────────────────────────────────────── */
.lm-estado-panel { text-align: center; padding: .5rem 0; }
.lm-estado-badge {
  display: inline-block; padding: .45em 1.4em; border-radius: 20px;
  font-weight: 700; font-size: 1.05rem; margin-bottom: 1rem;
}
.lm-estado-preinscrito { background-color: #fff3cd; color: #856404; border: 1px solid #ffc107; }
.lm-estado-confirmado  { background-color: #d1e7dd; color: #0f5132; border: 1px solid #28a745; }
.lm-estado-cancelado   { background-color: #f8d7da; color: #842029; border: 1px solid #dc3545; }
.lm-hint { font-size: .88rem; color: #666; margin-top: .25rem; }
.lm-esperamos {
  margin-top: .9rem; padding: .6rem 1rem;
  background-color: #e8f5e9; color: #1b5e20;
  border-radius: 8px; font-size: 1rem; font-weight: 600;
}
.lm-estado-panel .lm-actions { justify-content: center; }

/* ── OK ──────────────────────────────────────────────────────────── */
.lm-ok-panel { text-align: center; padding: .5rem 0; }
.lm-ok-icon { font-size: 3.5rem; color: #28a745; line-height: 1; margin-bottom: .5rem; }
.lm-ok-panel p { color: #333; font-size: .95rem; line-height: 1.5; }
.lm-ok-panel .lm-actions { justify-content: center; }

/* ── Importe total ───────────────────────────────────────────────── */
.lm-importe-total {
  display: flex; justify-content: space-between; align-items: center;
  margin: 1rem 0 .25rem;
  padding: .65rem 1rem;
  background-color: #f0f4ff;
  border: 1.5px solid #c5d0f0;
  border-radius: 8px;
  font-size: 1rem;
}
.lm-importe-total strong { font-size: 1.15rem; color: #1a3a8f; }
