/* ISN · Checkout optimizado */

:root {
  --isn-azul-osc: #0D2B5E;
  --isn-azul: #0B5FA5;
  --isn-azul-claro: #E3F2FB;
  --isn-azul-fondo: #F2F9FD;
  --isn-borde: #E2E8EE;
  --isn-borde-campo: #C5D0DA;
  --isn-texto: #1B2733;
  --isn-texto-2: #556372;
  --isn-error: #B42318;
}

/* Evita el salto mientras el JS reordena el formulario */
.isn-co-js .mepr-signup-form:not(.isn-co-listo) { opacity: 0; }
.isn-co-timeout .mepr-signup-form { opacity: 1 !important; }

/* El tema maqueta el formulario con flex: los bloques ocupan siempre todo el ancho */
html body form.mepr-signup-form.isn-co-listo > :is(.isn-co-acceso, .isn-co-seccion, .isn-co-bumps, .isn-co-lateral, .isn-co-caja, .isn-co-confianza) {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  box-sizing: border-box !important;
}

/* ---------- Bloques ---------- */
.isn-co-seccion {
  background: #fff;
  border: 1px solid var(--isn-borde);
  border-radius: 14px;
  padding: 22px 24px;
  margin: 0 0 16px;
}
.isn-co-seccion__cab {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-bottom: 16px;
}
.isn-co-num {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--isn-azul-claro); color: var(--isn-azul);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px;
}
.isn-co-tit { font-size: 20px; font-weight: 700; color: var(--isn-azul-osc); }
.isn-co-nota { font-size: 13px; color: var(--isn-texto-2); margin-left: auto; }

.isn-co-seccion__campos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
}
.isn-co-seccion__campos > * { grid-column: 1 / -1; }
.isn-co-seccion__campos > .isn-co-mitad { grid-column: auto; }
.isn-co-seccion__campos .mp-form-row {
  width: auto !important;
  float: none !important;
  margin: 0 0 14px !important;
  min-width: 0;
}

/* Campos más cómodos en móvil (16px evita el zoom de iPhone) */
.mepr-signup-form input[type="text"],
.mepr-signup-form input[type="email"],
.mepr-signup-form input[type="tel"],
.mepr-signup-form input[type="password"],
.mepr-signup-form select {
  min-height: 48px;
  font-size: 16px !important;
  border-radius: 10px;
  box-sizing: border-box;
}
.isn-co-auto { background: var(--isn-azul-fondo) !important; border-color: #9CCFEA !important; }

.isn-co-oculto { display: none !important; }

.isn-co-enlace {
  background: none; border: 0; padding: 10px 0; margin: -4px 0 8px;
  color: var(--isn-azul); font-weight: 700; font-size: 14px; cursor: pointer;
  text-align: left; font-family: inherit;
}
.isn-co-enlace:hover { color: var(--isn-azul-osc); text-decoration: underline; }

/* ---------- Complementos ---------- */
.isn-co-bumps {
  background: #fff;
  border: 1px solid var(--isn-borde);
  border-radius: 14px;
  margin: 0 0 16px;
  overflow: hidden;
}
.isn-co-bumps__cab {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 18px 24px; border: 0; background: #fff; cursor: pointer;
  text-align: left; font-family: inherit;
}
.isn-co-bumps__txt { display: flex; flex-direction: column; gap: 2px; }
.isn-co-bumps__tit { font-size: 17px; font-weight: 700; color: var(--isn-azul-osc); }
.isn-co-bumps__sub { font-size: 14px; color: var(--isn-texto-2); }
.isn-co-bumps--con-marcados .isn-co-bumps__sub { color: #0B7A3E; font-weight: 700; }
.isn-co-bumps__acc {
  flex-shrink: 0; font-size: 14px; font-weight: 700; color: var(--isn-azul);
  padding: 8px 14px; border-radius: 999px; background: var(--isn-azul-claro);
}
.isn-co-bumps__lista { display: none; border-top: 1px solid var(--isn-borde); padding: 8px 24px 16px; }
.isn-co-bumps--abierto .isn-co-bumps__lista { display: block; }

/* ---------- Cuenta existente ---------- */
.isn-co-existe {
  grid-column: 1 / -1;
  background: var(--isn-azul-fondo);
  border: 1px solid #9CCFEA;
  border-radius: 12px;
  padding: 16px;
  margin: 0 0 16px;
  display: flex; flex-direction: column; gap: 10px;
}
.isn-co-existe__tit { font-size: 16px; color: var(--isn-azul-osc); }
.isn-co-existe__txt { margin: 0; font-size: 14px; line-height: 1.45; color: #3E4C59; }
.isn-co-existe__lab { font-size: 14px; font-weight: 700; }
.isn-co-existe input {
  min-height: 48px; font-size: 16px; border: 1px solid var(--isn-borde-campo);
  border-radius: 10px; padding: 0 14px; background: #fff;
}
.isn-co-existe__error { margin: 0; color: var(--isn-error); font-size: 14px; font-weight: 700; }
.isn-co-btn {
  min-height: 50px; border: 0; border-radius: 10px;
  background: var(--isn-azul-osc); color: #fff;
  font-size: 16px; font-weight: 700; cursor: pointer; font-family: inherit;
}
.isn-co-btn[disabled] { opacity: .7; cursor: default; }
.isn-co-existe__links {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px;
  font-size: 14px;
}
.isn-co-existe__links .isn-co-enlace { margin: 0; }
.isn-co-existe__alt { margin: 0; font-size: 14px; color: #3E4C59; }

/* Mientras se muestra el aviso, el resto del formulario queda en segundo plano */
.isn-co-bloqueado .isn-co-seccion__campos > .mp-form-row:not(:first-child),
.isn-co-bloqueado .isn-co-seccion ~ * {
  opacity: .4;
  pointer-events: none;
}

/* ---------- Sesión iniciada ---------- */
.isn-co-sesion {
  display: flex; align-items: flex-start; gap: 10px;
  background: #EAF7EF; border: 1px solid #A8DDBC; color: #14532D;
  border-radius: 12px; padding: 12px 14px; margin: 0 0 16px;
  font-size: 15px; line-height: 1.45;
}
.isn-co-sesion svg { flex-shrink: 0; margin-top: 1px; color: #0B7A3E; }

/* ---------- Resumen del plan ("Condiciones" de arriba) ---------- */
.mepr-signup-form .isn-co-resumen {
  background: #fff; border: 1px solid var(--isn-borde); border-radius: 14px;
  padding: 16px 20px !important; margin: 0 0 16px !important;
  font-size: 16px; color: var(--isn-texto); width: auto !important; float: none !important;
}

/* ---------- Bloque de pago ---------- */
.isn-co-pago-cab { margin: 8px 0 12px; }
.mepr-signup-form .isn-co-caja {
  background: #fff; border: 1px solid var(--isn-borde); border-radius: 14px;
  padding: 16px 20px; margin: 0 0 16px; box-sizing: border-box;
}
.mepr-signup-form .isn-co-caja table { width: 100%; border-collapse: collapse; }
.mepr-signup-form .isn-co-caja th,
.mepr-signup-form .isn-co-caja td { padding: 10px 4px; border: 0; border-bottom: 1px solid var(--isn-borde); background: transparent; }
.mepr-signup-form .isn-co-caja tr:last-child th,
.mepr-signup-form .isn-co-caja tr:last-child td { border-bottom: 0; font-size: 17px; }

.mepr-signup-form .isn-co-submit {
  display: block; width: 100%; min-height: 58px;
  border: 0 !important; border-radius: 12px !important;
  background: var(--isn-azul-osc) !important; color: #fff !important;
  font-size: 18px !important; font-weight: 700; cursor: pointer;
  box-shadow: none; margin-top: 8px;
}
.mepr-signup-form .isn-co-submit:hover { background: #12397A !important; }

/* El botón nunca más ancho que su contenedor (evita el scroll horizontal) */
html body form.mepr-signup-form .isn-co-submit {
  box-sizing: border-box !important;
  width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  height: auto !important; min-height: 58px;
  padding: 14px 18px !important;
  white-space: normal !important; overflow-wrap: anywhere; line-height: 1.25 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
html body form.mepr-signup-form .mp-form-submit {
  box-sizing: border-box; max-width: 100%; width: auto !important; padding-left: 0 !important; padding-right: 0 !important;
}
@media (max-width: 480px) {
  html body form.mepr-signup-form .isn-co-submit { font-size: 17px !important; }
}
/* Ningún bloque del formulario puede desbordar en horizontal */
html body form.mepr-signup-form { max-width: 100%; box-sizing: border-box; }
html body form.mepr-signup-form > * { max-width: 100%; box-sizing: border-box; }

/* Con sesión iniciada no hay bloques 1 y 2: aire entre las tarjetas */
.isn-co-con-sesion .isn-co-bumps { margin-top: 0; }

/* ---------- Reset frente a los estilos de botón del tema ---------- */
.mepr-signup-form button.isn-co-bumps__cab,
.mepr-signup-form button.isn-co-bumps__cab:hover,
.mepr-signup-form button.isn-co-bumps__cab:focus {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  width: 100% !important; max-width: none !important; margin: 0 !important;
  padding: 18px 24px !important; gap: 12px;
  background: #fff !important; color: var(--isn-texto) !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  text-align: left !important; text-transform: none !important; letter-spacing: normal !important;
  line-height: 1.35 !important; font-weight: 400 !important; min-height: 0 !important; height: auto !important;
}
.mepr-signup-form button.isn-co-bumps__cab:focus-visible { outline: 2px solid var(--isn-azul) !important; outline-offset: -2px; }
.mepr-signup-form .isn-co-bumps__txt { align-items: flex-start; }
.mepr-signup-form .isn-co-bumps__tit { font-size: 17px !important; font-weight: 700 !important; color: var(--isn-azul-osc) !important; }
.mepr-signup-form .isn-co-bumps__sub { font-size: 14px !important; color: var(--isn-texto-2) !important; }

.mepr-signup-form button.isn-co-enlace,
.mepr-signup-form button.isn-co-enlace:hover {
  background: none !important; border: 0 !important; box-shadow: none !important;
  color: var(--isn-azul) !important; width: auto !important; min-height: 0 !important;
  padding: 10px 0 !important; text-transform: none !important; font-size: 14px !important; font-weight: 700 !important;
}
.mepr-signup-form button.isn-co-btn {
  width: 100% !important; background: var(--isn-azul-osc) !important; color: #fff !important;
  border: 0 !important; border-radius: 10px !important; text-transform: none !important;
}

/* ---------- Título "Pago" (reutiliza "Selecciona forma de pago") ---------- */
.mepr-signup-form .isn-co-pago-cab {
  display: flex !important; align-items: center; gap: 12px;
  margin: 8px 0 14px !important; padding: 0 !important; font-size: inherit !important;
}
.isn-co-caja--metodos > .isn-co-pago-cab { margin-top: 0 !important; }

/* ---------- Complementos desplegados ---------- */
.mepr-signup-form .isn-co-bumps__lista { padding: 4px 24px 12px !important; }
.mepr-signup-form .isn-co-bump {
  display: flex !important; align-items: center; gap: 12px;
  width: 100%; box-sizing: border-box;
  padding: 14px 12px !important; margin: 0 !important;
  border-bottom: 1px solid #EEF2F5; border-radius: 10px;
  font-size: 15px !important; line-height: 1.35; cursor: pointer;
  transition: background .15s;
}
.mepr-signup-form .isn-co-bump:last-of-type { border-bottom: 0; }
.mepr-signup-form .isn-co-bump:hover { background: #F7F9FB; }
.mepr-signup-form .isn-co-bump--on { background: var(--isn-azul-fondo) !important; }
.mepr-signup-form .isn-co-bump input[type="checkbox"] {
  width: 20px !important; height: 20px !important; margin: 0 !important; flex-shrink: 0;
  accent-color: var(--isn-azul-osc);
}
.mepr-signup-form .isn-co-bump strong,
.mepr-signup-form .isn-co-bump b { font-weight: 600; color: var(--isn-texto); }
.mepr-signup-form .isn-co-bump__precio {
  margin-left: auto; padding-left: 12px; white-space: nowrap;
  font-weight: 700; color: var(--isn-azul-osc);
}

/* ---------- Columna lateral "Tu plan" ---------- */
.mepr-signup-form .isn-co-lateral {
  background: #fff; border: 1px solid var(--isn-borde); border-radius: 14px;
  padding: 20px 22px; margin: 0 0 16px; box-sizing: border-box;
}
.isn-co-lateral__tit {
  font-size: 13px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
  color: var(--isn-texto-2); margin-bottom: 10px;
}
.mepr-signup-form .isn-co-lateral .isn-co-resumen {
  border: 0 !important; padding: 0 !important; margin: 0 0 8px !important;
  font-size: 17px; font-weight: 700; color: var(--isn-azul-osc);
}
.mepr-signup-form .isn-co-lateral .isn-co-cupon,
.mepr-signup-form .isn-co-lateral .isn-co-cupon * { font-size: 14px !important; color: #0B7A3E !important; margin: 0 0 8px !important; }
.mepr-signup-form .isn-co-lateral .mepr-transaction-invoice-wrapper { border: 0 !important; padding: 0 !important; margin: 0 !important; }
/* Tipografía proporcionada en "Tu plan" (el tema impone tamaños grandes) */
html body form.mepr-signup-form .isn-co-lateral { font-size: 14px; line-height: 1.45; }
html body form.mepr-signup-form .isn-co-lateral .mp_price_str,
html body form.mepr-signup-form .isn-co-lateral .mp_price_str * {
  font-size: 15px !important; line-height: 1.4 !important; color: var(--isn-texto) !important; margin: 0 !important;
}
html body form.mepr-signup-form .isn-co-lateral .mp_price_str { margin: 0 0 10px !important; }
html body form.mepr-signup-form .isn-co-lateral table {
  width: 100%; border-collapse: collapse; border: 0 !important; margin: 0 !important; position: static !important;
}
html body form.mepr-signup-form .isn-co-lateral table th,
html body form.mepr-signup-form .isn-co-lateral table td,
html body form.mepr-signup-form .isn-co-lateral table th *,
html body form.mepr-signup-form .isn-co-lateral table td * {
  font-size: 14px !important; line-height: 1.4 !important; font-weight: 400 !important;
  color: var(--isn-texto) !important; text-transform: none !important; letter-spacing: normal !important;
}
html body form.mepr-signup-form .isn-co-lateral table th,
html body form.mepr-signup-form .isn-co-lateral table td {
  padding: 8px 0 !important; border: 0 !important; border-bottom: 1px solid var(--isn-borde) !important;
  background: transparent !important;
}
/* Cabecera de la tabla: pequeña y discreta */
html body form.mepr-signup-form .isn-co-lateral table thead th,
html body form.mepr-signup-form .isn-co-lateral table thead th * {
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: .5px !important;
  text-transform: uppercase !important; color: var(--isn-texto-2) !important;
}
/* Total: destacado */
html body form.mepr-signup-form .isn-co-lateral table tfoot th,
html body form.mepr-signup-form .isn-co-lateral table tfoot td,
html body form.mepr-signup-form .isn-co-lateral table tfoot th *,
html body form.mepr-signup-form .isn-co-lateral table tfoot td * {
  font-size: 17px !important; font-weight: 700 !important; color: var(--isn-azul-osc) !important;
}
html body form.mepr-signup-form .isn-co-lateral table tfoot th,
html body form.mepr-signup-form .isn-co-lateral table tfoot td { border-bottom: 0 !important; padding-top: 12px !important; }

/* Pseudo-elementos decorativos del tema en la tabla del total (franja blanca) */
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table::before,
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table::after,
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table thead::before,
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table thead::after,
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table tbody::before,
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table tbody::after,
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table tfoot::before,
html body form.mepr-signup-form .mepr-transaction-invoice-wrapper table tfoot::after {
  content: none !important; display: none !important; position: static !important;
  width: 0 !important; height: 0 !important; background: none !important; border: 0 !important;
  box-shadow: none !important; visibility: hidden !important;
}
html body form.mepr-signup-form .isn-co-lateral .mp-spacer { display: none !important; }

html body form.mepr-signup-form .isn-co-lateral .isn-co-cupon-enlace,
html body form.mepr-signup-form .isn-co-lateral .isn-co-cupon-enlace a {
  font-size: 14px !important; font-weight: 700 !important; margin: 12px 0 0 !important; padding: 0 !important;
}
html body form.mepr-signup-form .isn-co-lateral .isn-co-lateral__ventajas li,
html body form.mepr-signup-form .isn-co-lateral .isn-co-lateral__nota { font-size: 14px !important; }

/* ---------- "Tu plan": bloque destacado del boceto ---------- */
html body form.mepr-signup-form .isn-co-plan { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
html body form.mepr-signup-form .isn-co-plan__nombre {
  font-size: 21px !important; line-height: 1.25 !important; font-weight: 700 !important; color: var(--isn-azul-osc) !important;
}
html body form.mepr-signup-form .isn-co-plan__cupon {
  font-size: 14px !important; font-weight: 700 !important; color: #0B7A3E !important;
}
html body form.mepr-signup-form .isn-co-plan__precio {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 6px;
}
html body form.mepr-signup-form .isn-co-plan__total {
  font-size: 44px !important; line-height: 1.05 !important; font-weight: 700 !important;
  color: var(--isn-azul-osc) !important; letter-spacing: -.5px;
}
html body form.mepr-signup-form .isn-co-plan__antes {
  font-size: 18px !important; color: var(--isn-texto-2) !important; text-decoration: line-through;
}
html body form.mepr-signup-form .isn-co-plan__cond {
  display: flex; flex-direction: column; gap: 2px;
  background: var(--isn-azul-fondo); border-radius: 10px; padding: 12px 14px;
  font-size: 14px !important; line-height: 1.45 !important; color: var(--isn-texto) !important;
}
html body form.mepr-signup-form .isn-co-plan__condtxt { font-weight: 700; display: flex; flex-direction: column; gap: 3px; }
html body form.mepr-signup-form .isn-co-plan__condtit { font-weight: 700; margin-bottom: 2px; }
html body form.mepr-signup-form .isn-co-plan__condlin { display: flex; justify-content: space-between; gap: 12px; font-weight: 400; }
html body form.mepr-signup-form .isn-co-plan__condlin b { font-weight: 700; white-space: nowrap; }
html body form.mepr-signup-form .isn-co-plan__hoy {
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: .4px; text-transform: uppercase; color: var(--isn-texto-2) !important; margin-top: 2px;
}
html body form.mepr-signup-form .isn-co-plan__nota { color: #3E4C59; }
html body form.mepr-signup-form .isn-co-plan [hidden] { display: none !important; }

/* Con el bloque destacado, la línea de condiciones de la tabla y el aviso
   "Usando el cupón" sobran (ya se muestran arriba) */
html body form.mepr-signup-form .isn-co-lateral--hero .mp_price_str,
html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-cupon { display: none !important; }
/* Ventajas y desglose separados como en el boceto */
html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-lateral__ventajas { margin: 0 0 16px !important; }
html body form.mepr-signup-form .isn-co-lateral--hero .mepr-transaction-invoice-wrapper {
  border-top: 1px solid var(--isn-borde) !important; padding-top: 8px !important;
}

/* Móvil/tablet: la cabecera de la página ya muestra plan, precio y ventajas.
   "Tu plan" se queda en un resumen corto: cupón aplicado + desglose. */
@media (max-width: 1023px) {
  html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-plan__nombre,
  html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-plan__precio,
  html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-plan__hoy,
  html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-plan__cond { display: none !important; }
  /* Con complementos, el desglose de cuotas sí se muestra en móvil */
  html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-plan--extras .isn-co-plan__cond { display: flex !important; }
  html body form.mepr-signup-form .isn-co-lateral--hero .isn-co-plan { margin: 0 0 8px; }
  html body form.mepr-signup-form .isn-co-lateral--hero .mepr-transaction-invoice-wrapper {
    border-top: 0 !important; padding-top: 0 !important;
  }
}

/* "Forma de pago:" lo pinta un ::before del recuadro de pago (CSS del tema o
   de MemberPress): se anula */
html body form.mepr-signup-form .mepr-payment-methods-wrapper::before,
html body form.mepr-signup-form .mepr-payment-methods-wrapper::after {
  content: none !important; display: none !important;
}

/* Bloque de Stripe: nunca recortar su altura (el iframe crece al mostrar
   Link, errores de tarjeta, etc.) */
html body form.mepr-signup-form .mepr-payment-methods-wrapper,
html body form.mepr-signup-form .mepr-payment-method,
html body form.mepr-signup-form .mepr-payment-method div {
  overflow: visible !important; max-height: none !important;
}
html body form.mepr-signup-form .mepr-payment-method iframe { max-height: none !important; }
/* Un <fieldset> se ensancha por defecto hasta su contenido: nunca más que la pantalla */
html body form.mepr-signup-form fieldset.mepr-payment-methods-wrapper { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }

/* Título "Pago" dentro de la tarjeta de pago */
html body form.mepr-signup-form .isn-co-caja--metodos > .isn-co-pago-cab {
  margin: 0 0 16px !important; padding: 0 !important; float: none !important; width: 100% !important;
}
html body form.mepr-signup-form .isn-co-caja--metodos > legend.isn-co-oculto { display: none !important; }

@media (min-width: 1024px) {
  .mepr-signup-form.isn-co-2col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px;
    column-gap: 32px;
    align-items: start;
  }
  .mepr-signup-form.isn-co-2col > * { grid-column: 1; min-width: 0; }
  .mepr-signup-form.isn-co-2col > .isn-co-lateral {
    grid-column: 2; grid-row: 1 / span 60;
    position: sticky; top: 24px; margin: 0;
  }
}

/* ---------- Detalles del boceto ---------- */
.mepr-signup-form .isn-co-seccion label {
  font-size: 14px !important; font-weight: 700 !important; color: var(--isn-texto) !important;
  margin-bottom: 6px; display: inline-block;
}
.mepr-signup-form .isn-co-seccion input:focus,
.mepr-signup-form .isn-co-seccion select:focus {
  border-color: var(--isn-azul) !important; box-shadow: 0 0 0 1px var(--isn-azul) !important; outline: none;
}
.mepr-signup-form .isn-co-acceso {
  text-align: right; font-size: 15px; color: var(--isn-texto-2); margin: 0 0 12px;
}
.mepr-signup-form .isn-co-acceso a { font-weight: 700; color: var(--isn-azul); }
.mepr-signup-form .isn-co-pais {
  grid-column: 1 / -1; display: flex; align-items: center; gap: 4px;
  font-size: 14px; color: var(--isn-texto-2); margin: -4px 0 8px;
}
.mepr-signup-form .isn-co-pais .isn-co-enlace { margin: 0 !important; padding: 6px 0 !important; }

@media (min-width: 1024px) {
  .mepr-signup-form .isn-co-bumps__rejilla {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px;
  }
  .mepr-signup-form .isn-co-bumps__rejilla > :not(.isn-co-bump) { grid-column: 1 / -1; }
}

.mepr-signup-form .isn-co-com { color: #3E4C59; }
.mepr-signup-form .isn-co-confianza {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 24px;
  font-size: 14px; color: #3E4C59; margin: 12px 0 4px;
}

.mepr-signup-form .isn-co-cupon-campo { margin: 8px 0 0 !important; font-size: 14px; }
.isn-co-lateral__nota {
  margin: 12px 0 0; padding: 10px 12px; border-radius: 10px;
  background: var(--isn-azul-fondo); font-size: 14px; color: var(--isn-texto);
}
.isn-co-lateral__ventajas { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.isn-co-lateral__ventajas li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.4; margin: 0; }
.isn-co-lateral__ventajas svg { flex-shrink: 0; color: #1E8FCB; margin-top: 1px; }
.isn-co-lateral__testimonio {
  margin: 16px 0 0; padding: 12px 14px; border: 0; border-radius: 10px;
  background: #F7F9FB; font-size: 14px; line-height: 1.5; color: #3E4C59; font-style: normal;
}
.isn-co-lateral__testimonio span { display: block; margin-top: 6px; font-weight: 700; color: var(--isn-texto); }

.isn-co-cab__ventajas { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.isn-co-cab__ventajas li { display: flex; align-items: center; gap: 8px; font-size: 15px; color: rgba(255,255,255,.9); margin: 0; }
.isn-co-cab__ventajas svg { color: #7CCBF0; flex-shrink: 0; }

/* ---------- Bloque de pago: más aire ---------- */
.mepr-signup-form .isn-co-caja--metodos { padding: 20px !important; margin-top: 0 !important; }
.mepr-signup-form .isn-co-pago-cab {
  position: relative; z-index: 1;
  margin: 24px 0 14px !important; line-height: 1.3 !important;
}
.isn-co-caja--metodos > .isn-co-pago-cab { margin: 0 0 14px !important; }

/* ---------- Casilla de condiciones ---------- */
.mepr-signup-form .isn-co-tos {
  display: flex !important; align-items: flex-start; gap: 12px;
  justify-content: flex-start !important; text-align: left !important;
  width: auto !important; float: none !important;
  margin: 4px 0 8px !important; font-size: 15px; line-height: 1.45;
}
.mepr-signup-form .isn-co-tos input[type="checkbox"] { width: 20px; height: 20px; margin: 1px 0 0 !important; flex-shrink: 0; }
.mepr-signup-form .isn-co-tos label { text-align: left !important; }

/* ---------- Cabecera [isn_cabecera] ---------- */
.isn-co-cab {
  display: flex; align-items: stretch;
  background: #0D2B5E; color: #fff;
  border-radius: 16px; overflow: hidden; margin: 0 0 20px;
}
.isn-co-cab--embarazo { background: #6B2F55; }
.isn-co-cab--menopausia { background: #1F4A43; }
.isn-co-cab__img { flex: 0 0 38%; min-height: 200px; }
.isn-co-cab__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.isn-co-cab__txt { padding: 28px 32px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.isn-co-cab__tag {
  align-self: flex-start; background: rgba(255,255,255,.16);
  font-size: 12px; font-weight: 700; letter-spacing: .4px;
  padding: 5px 10px; border-radius: 999px;
}
.isn-co-cab__tit { margin: 0; font-size: 34px; line-height: 1.15; color: #fff; }
.isn-co-cab__sub { margin: 0; font-size: 16px; color: rgba(255,255,255,.85); }

@media (max-width: 680px) {
  .isn-co-seccion { padding: 18px 16px; }
  .isn-co-nota { margin-left: 40px; width: 100%; }
  .isn-co-seccion__campos { column-gap: 12px; }
  .isn-co-seccion__campos > .isn-co-mitad { grid-column: 1 / -1; }
  /* CP y provincia sí van en dos columnas también en móvil */
  .isn-co-seccion__campos > .isn-co-mitad.isn-co-cp-prov { grid-column: auto; }
  .isn-co-bumps__cab { padding: 16px; }
  .isn-co-bumps__lista { padding: 8px 16px 14px; }
  .isn-co-cab { flex-direction: column; border-radius: 0; margin: 0 -16px 16px; }
  .isn-co-cab__img { flex-basis: auto; height: 150px; min-height: 0; }
  .isn-co-cab__txt { padding: 18px 16px; }
  .isn-co-cab__tit { font-size: 26px; }
}
