/* Formulario de inscripción y pantalla de confirmación. */
.sv-seminarios-wrap .sv-seminarios-titulo {
  margin: 0 0 4px;
  font-size: 1.4em;
}

.sv-seminarios-wrap .sv-seminarios-fechas,
.sv-seminarios-wrap .sv-seminarios-cupos {
  margin: 0 0 12px;
  color: var(--sv-seminarios-suave);
}

.sv-seminarios-wrap .sv-seminarios-cupos {
  color: var(--sv-seminarios-acento-osc);
  font-weight: 600;
}

.sv-seminarios-wrap .sv-seminarios-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.sv-seminarios-wrap .sv-seminarios-campo label,
.sv-seminarios-wrap .sv-seminarios-tipo legend {
  display: block;
  margin-bottom: 4px;
  font-weight: 600;
  font-size: 0.95em;
}

.sv-seminarios-wrap .sv-seminarios-campo input,
.sv-seminarios-wrap .sv-seminarios-campo select {
  width: 100%;
  padding: 10px 12px;
  background: var(--sv-seminarios-card);
  border: 1px solid var(--sv-seminarios-borde);
  border-radius: 8px;
  font: inherit;
  color: inherit;
}

.sv-seminarios-wrap .sv-seminarios-campo input:focus,
.sv-seminarios-wrap .sv-seminarios-campo select:focus {
  outline: 2px solid var(--sv-seminarios-acento);
  outline-offset: 1px;
}

.sv-seminarios-wrap .sv-seminarios-campo--invalido input,
.sv-seminarios-wrap .sv-seminarios-campo--invalido select {
  border-color: var(--sv-seminarios-error);
}

.sv-seminarios-wrap .sv-seminarios-error {
  min-height: 0;
  margin: 4px 0 0;
  color: var(--sv-seminarios-error);
  font-size: 0.875em;
}

.sv-seminarios-wrap .sv-seminarios-error:empty {
  display: none;
}

.sv-seminarios-wrap .sv-seminarios-tipo {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
}

.sv-seminarios-wrap .sv-seminarios-tarjetas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.sv-seminarios-wrap .sv-seminarios-tarjeta {
  position: relative;
  display: block;
  cursor: pointer;
}

/* Radio real oculto solo visualmente (sigue en el DOM, en el orden de Tab y con foco). */
.sv-seminarios-wrap .sv-seminarios-tarjeta input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.sv-seminarios-wrap .sv-seminarios-tarjeta__cuerpo {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 44px 14px 16px;
  background: var(--sv-seminarios-card);
  border: 2px solid var(--sv-seminarios-borde);
  border-radius: 10px;
}

.sv-seminarios-wrap .sv-seminarios-tarjeta__titulo {
  font-weight: 600;
}

.sv-seminarios-wrap .sv-seminarios-tarjeta__precio {
  font-size: 1.2em;
  color: var(--sv-seminarios-acento-osc);
}

.sv-seminarios-wrap .sv-seminarios-tarjeta__check {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sv-seminarios-acento);
  color: #fff;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.15s, transform 0.15s;
}

.sv-seminarios-wrap .sv-seminarios-tarjeta input:checked + .sv-seminarios-tarjeta__cuerpo {
  border-color: var(--sv-seminarios-acento);
  background: var(--sv-seminarios-seleccion);
  box-shadow: 0 0 0 1px var(--sv-seminarios-acento);
}

.sv-seminarios-wrap .sv-seminarios-tarjeta input:checked + .sv-seminarios-tarjeta__cuerpo .sv-seminarios-tarjeta__check {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .sv-seminarios-wrap .sv-seminarios-tarjeta__check {
    transition: none;
  }
}

.sv-seminarios-wrap .sv-seminarios-tarjeta input:focus-visible + .sv-seminarios-tarjeta__cuerpo {
  outline: 2px solid var(--sv-seminarios-acento);
  outline-offset: 2px;
}

/* Cupón de descuento: enlace que despliega el campo; el desglose vive en el total. */
.sv-seminarios-wrap .sv-seminarios-cupon {
  margin: 0 0 16px;
}

.sv-seminarios-wrap .sv-seminarios-cupon__toggle,
.sv-seminarios-wrap .sv-seminarios-cupon__quitar {
  padding: 0;
  background: none;
  border: 0;
  color: var(--sv-seminarios-acento-osc);
  font: inherit;
  font-size: 0.95em;
  text-decoration: underline;
  cursor: pointer;
}

.sv-seminarios-wrap .sv-seminarios-cupon__quitar {
  margin-left: 8px;
  font-size: 0.8em;
}

.sv-seminarios-wrap .sv-seminarios-cupon__toggle:focus-visible,
.sv-seminarios-wrap .sv-seminarios-cupon__quitar:focus-visible {
  outline: 2px solid var(--sv-seminarios-acento);
  outline-offset: 2px;
}

.sv-seminarios-wrap .sv-seminarios-cupon__panel {
  margin-top: 8px;
}

.sv-seminarios-wrap .sv-seminarios-cupon__panel[hidden],
.sv-seminarios-wrap .sv-seminarios-cupon__quitar[hidden] {
  display: none;
}

.sv-seminarios-wrap .sv-seminarios-cupon__panel label {
  display: block;
  margin-bottom: 4px;
  font-weight: 600;
  font-size: 0.95em;
}

.sv-seminarios-wrap .sv-seminarios-cupon__fila {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sv-seminarios-wrap .sv-seminarios-cupon__fila input {
  flex: 1 1 200px;
  min-width: 0;
  padding: 10px 12px;
  background: var(--sv-seminarios-card);
  border: 1px solid var(--sv-seminarios-borde);
  border-radius: 8px;
  font: inherit;
  color: inherit;
  text-transform: uppercase;
}

.sv-seminarios-wrap .sv-seminarios-cupon__fila input:focus {
  outline: 2px solid var(--sv-seminarios-acento);
  outline-offset: 1px;
}

.sv-seminarios-wrap .sv-seminarios-cupon__fila .sv-seminarios-btn {
  flex: 0 0 auto;
}

.sv-seminarios-wrap .sv-seminarios-cupon__mensaje {
  margin: 4px 0 0;
  color: var(--sv-seminarios-suave);
  font-size: 0.875em;
}

.sv-seminarios-wrap .sv-seminarios-cupon__mensaje:empty {
  display: none;
}

.sv-seminarios-wrap .sv-seminarios-total {
  margin: 0 0 16px;
  font-size: 1.15em;
}

.sv-seminarios-wrap .sv-seminarios-alerta {
  margin-bottom: 16px;
  padding: 12px 16px;
  background: var(--sv-seminarios-alerta-bg);
  border: 1px solid var(--sv-seminarios-alerta-borde);
  border-radius: 8px;
}

.sv-seminarios-wrap .sv-seminarios-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.sv-seminarios-wrap .sv-seminarios-btn {
  flex: 1 1 240px;
  padding: 12px 18px;
  border: 2px solid var(--sv-seminarios-acento);
  border-radius: 8px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.sv-seminarios-wrap .sv-seminarios-btn--primario {
  background: var(--sv-seminarios-acento);
  color: #fff;
}

.sv-seminarios-wrap .sv-seminarios-btn--primario:hover {
  background: var(--sv-seminarios-acento-osc);
  border-color: var(--sv-seminarios-acento-osc);
}

.sv-seminarios-wrap .sv-seminarios-btn--secundario {
  background: transparent;
  color: var(--sv-seminarios-acento-osc);
}

.sv-seminarios-wrap .sv-seminarios-btn--secundario:hover {
  background: #fff7f0;
}

.sv-seminarios-wrap .sv-seminarios-btn[disabled] {
  opacity: 0.6;
  cursor: wait;
}

/* Honeypot: fuera de pantalla, no display:none, para que los bots lo sigan viendo. */
.sv-seminarios-wrap .sv-seminarios-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.sv-seminarios-wrap .sv-seminarios-confirmacion h3 {
  margin: 0 0 8px;
  color: var(--sv-seminarios-ok);
}

.sv-seminarios-wrap .sv-seminarios-resumen {
  width: 100%;
  margin: 12px 0;
  border-collapse: collapse;
}

.sv-seminarios-wrap .sv-seminarios-resumen th,
.sv-seminarios-wrap .sv-seminarios-resumen td {
  padding: 8px 0;
  border-bottom: 1px solid var(--sv-seminarios-borde);
  text-align: left;
}

.sv-seminarios-wrap .sv-seminarios-caja {
  margin: 12px 0;
  padding: 12px 16px;
  background: var(--sv-seminarios-card);
  border: 1px solid var(--sv-seminarios-borde);
  border-radius: 8px;
}

.sv-seminarios-wrap .sv-seminarios-destacado {
  margin: 8px 0 0;
  color: var(--sv-seminarios-suave);
}

.sv-seminarios-wrap .sv-seminarios-destacado strong {
  display: block;
  color: var(--sv-seminarios-texto);
  font-size: 1.4em;
  word-break: break-all;
}

.sv-seminarios-wrap .sv-seminarios-caja h4 {
  margin: 0 0 6px;
}

.sv-seminarios-wrap .sv-seminarios-acepta {
  margin-bottom: 16px;
}

.sv-seminarios-wrap .sv-seminarios-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-weight: 600;
  cursor: pointer;
}

.sv-seminarios-wrap .sv-seminarios-check input {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--sv-seminarios-acento);
}

.sv-seminarios-wrap .sv-seminarios-error--general:focus {
  outline: 2px solid var(--sv-seminarios-error);
  outline-offset: 2px;
}

@media (max-width: 600px) {
  .sv-seminarios-wrap {
    padding: 16px;
  }

  .sv-seminarios-wrap .sv-seminarios-grid,
  .sv-seminarios-wrap .sv-seminarios-tarjetas {
    grid-template-columns: 1fr;
  }
}

.sv-seminarios-wrap .sv-seminarios-alerta__lista {
  margin: 8px 0 0;
}

.sv-seminarios-wrap .sv-seminarios-alerta > .sv-seminarios-alerta__lista:first-child {
  margin-top: 0;
}
