/* Página "Cuotas y formas de pago" (/cuotas) — capa sobre sitio.css.
 * Medidas en rem = pt/10 del PDF 4-CUOTAS-FormasdePago (2026-10-23, móvil) y
 * del artboard 4-CUOTAS-FormasdePago-Desktop (2026-10-27, escritorio; bloque
 * @media al final). */

/* Saltos de línea y patrones exclusivos de un corte */
.st-br-e,
span.st-patron--e { display: none; }

/* Cabecera */
.st-cuotas-cab { padding-bottom: 0; }
.st-cuotas-cab .st-etiqueta { margin-top: 1.8rem; }

/* Tabla de tarifas */
.st-tarifas {
  position: relative;
  margin-top: 4.2rem;
}
.st-tarifas > * { position: relative; }
/* El patrón va POR ENCIMA del franjeado de las filas (como en el PDF); al 8.9 % no
   se nota sobre el texto. */
.st-tarifas > .st-patron { z-index: 1; }
.st-tarifas__fila {
  display: flex;
  justify-content: space-between;
  height: 11rem;
  padding: 0 4rem 0 2.5rem;
}
.st-tarifas__fila:nth-of-type(odd) { background: var(--st-fondo-suave); }
.st-tarifas__fila::before {
  content: '';
  position: absolute;
  left: 2.5rem;
  right: 2rem;
  margin-top: -1px;
  border-top: 1px solid #d0d6d9;
}
.st-tarifas__fila:first-of-type::before,
.st-tarifas__cierre { border-color: var(--st-tinta); }
.st-tarifas__cierre {
  height: 0;
  margin: 0 2rem 0 2.5rem;
  border: 0;
  border-top: 1px solid var(--st-tinta);
}
.st-tarifas__nombre {
  padding-top: 0.5rem;
  font-weight: 700;
  font-size: 2.1rem;
  line-height: 2.9rem;
  color: var(--st-tinta);
}
.st-tarifas__periodo {
  margin-top: -0.43rem;
  font-size: 1.6rem;
  line-height: 2.5rem;
  color: var(--st-tinta-2);
}
.st-tarifas__precios {
  padding-top: 1.05rem;
  text-align: right;
  color: var(--st-tinta);
}
.st-tarifas__precio {
  font-size: 1.8rem;
  line-height: 2.4rem;
  white-space: nowrap;
}
.st-tarifas__precio small {
  font-size: 1.5rem;
  margin-right: 0.3rem;
}
.st-tarifas__perfil {
  margin-top: -0.415rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2rem;
}
.st-tarifas__perfil + .st-tarifas__precio { margin-top: -0.085rem; }

/* Cuerpo "Formas de pago" sobre fondo suave */
.st-pagos {
  position: relative;
  margin-top: 9rem;
  padding: 2.1rem 3rem 3.9rem 2.5rem;
  background: var(--st-fondo-suave);
  overflow: hidden;
}
.st-pagos > * { position: relative; }

.st-h-grande {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 3.3rem;
  color: var(--st-tinta);
}
.st-h-grande--azul { color: var(--st-azul); }
.st-intro-21 {
  margin-top: 2.51rem;
  font-size: 2.1rem;
  line-height: 3rem;
  color: var(--st-tinta-2);
}
.st-sub {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2.5rem;
  color: var(--st-azul);
}
.st-sub--sep { margin-top: 4.56rem; }
.st-sub--sep-corto { margin-top: 2.16rem; }
.st-intro-21 + .st-sub { margin-top: 4.55rem; }
.st-p16 {
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--st-tinta-2);
  white-space: pre-line;
}
.st-sub + .st-p16 { margin-top: 0.14rem; }
.st-sub + .st-p16--sep { margin-top: 2.54rem; }
.st-p16 + .st-p16 { margin-top: 2.4rem; }
.st-p16 strong { color: var(--st-tinta-2); }
.st-rotulo {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2.4rem;
  color: var(--st-tinta-2);
}
.st-p16 .st-rotulo, .st-rotulo + .st-p16 { margin-top: 0; }
.st-p16 + .st-rotulo { margin-top: 2.4rem; }
.st-sub + .st-rotulo { margin-top: 2.545rem; }
.st-rotulo + .st-rotulo { margin-top: 2.4rem; }
.st-rotulo + .st-sub { margin-top: 4.56rem; }

.st-paypal {
  display: block;
  width: 27.8rem;
  height: 6.8rem;
  margin: 3.36rem 0 0 -0.5rem;
}
.st-paypal img { width: 100%; height: 100%; }
.st-paypal + .st-sub { margin-top: 4rem; }

.st-lista {
  margin-top: 2.2rem;
  padding-left: 4rem;
  list-style: none;
}
.st-lista li {
  position: relative;
  font-size: 1.6rem;
  line-height: 2.5rem;
  color: var(--st-tinta-2);
}
.st-lista li::before {
  content: '·';
  position: absolute;
  left: -1rem;
}
.st-lista li + li { margin-top: 2.2rem; }
.st-rotulo + .st-lista { margin-top: 2.35rem; }

/* Cajas de aviso: cabecera rosa + cuerpo oscuro */
.st-aviso {
  margin: 0;
  color: #fff;
}
.st-aviso__titulo {
  padding: 1.8rem 1rem 1.44rem 2.5rem;
  background: #d4368a;
}
.st-aviso__titulo p {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2.4rem;
}
.st-aviso__titulo .st-aviso__grande {
  font-size: 1.8rem;
  line-height: 2.5rem;
  margin-bottom: 0.06rem;
}
.st-aviso__titulo--20 { padding: 1.72rem 1rem 1.38rem 2.5rem; }
.st-aviso__titulo--20 p { font-size: 2rem; line-height: 2.8rem; }
.st-aviso__cuerpo {
  padding: 1.155rem 1rem 3.565rem 2.5rem;
  background: var(--st-tinta);
}
.st-aviso__cuerpo p {
  font-size: 1.4rem;
  line-height: 2.4rem;
}
.st-aviso__cuerpo p + p { margin-top: 2.4rem; }
.st-aviso__cuerpo--nota { padding-top: 1.225rem; padding-bottom: 3.9rem; }
.st-aviso--importante { margin-top: 0; }
.st-aviso--nota { margin-top: 6.16rem; }

/* Facturación (fondo blanco) */
.st-facturacion {
  position: relative;
  padding: 3rem 2.5rem 0;
  overflow: hidden;
}
.st-facturacion > * { position: relative; }
.st-facturacion > p, .st-facturacion > h2 { margin-right: 0.5rem; }
.st-h-grande + .st-p16 { margin-top: 2.44rem; }

/* Políticas (fondo suave) */
.st-politicas {
  margin-top: 4rem;
  padding: 1.6rem 3rem 3.2rem 2.5rem;
  background: var(--st-fondo-suave);
}
.st-h-grande + .st-p16--pol { margin-top: 2.48rem; }
.st-correo {
  display: block;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2.5rem;
  color: var(--st-azul);
  text-decoration: none;
}
.st-p16 + .st-correo { margin-top: 2.15rem; }
.st-correo + .st-p16 { margin-top: 0.145rem; }
.st-p16 + .st-correo--pegado { margin-top: -0.245rem; }
.st-correo + .st-sub { margin-top: 4.7rem; }
.st-lista--reembolso { margin-top: 2.45rem; }
.st-lista--reembolso li { line-height: 2.45rem; }
.st-lista + .st-p16 { margin-top: 2.35rem; }
.st-p16 + .st-sub--dudas { margin-top: 2.15rem; }
.st-sub--dudas + .st-p16 { margin-top: 2.545rem; }
.st-correo16 {
  display: block;
  margin-top: 2.3rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--st-tinta-2);
  text-decoration: none;
}

/* Banda de consultas */
.st-consultas {
  padding: 2.54rem 3rem 3.9rem;
  background: #1b576f;
  color: #fff;
}
.st-consultas__titulo {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2.4rem;
}
.st-consultas__datos {
  margin-top: 1.97rem;
  font-size: 2.1rem;
  line-height: 3.6rem;
}
.st-consultas__datos a { text-decoration: none; }

/* Cierre: ¿Desea inscribirse? */
.st-inscribirse {
  padding: 5.6rem 2.5rem 12.2rem 3rem;
}
.st-inscribirse .st-boton {
  display: flex;
  width: 43rem;
  margin: 5.04rem 0 0 -0.5rem;
  font-size: 1.61rem; /* el diseño lo trae a 16.09 pt */
  box-shadow: -0.2rem 0.2rem 0.4rem rgba(0, 0, 0, .25);
}

/* =====================================================================
   ESCRITORIO (≥ 768 px) — artboard de 1025 pt. 1rem = 10 pt.
   ===================================================================== */
@media (min-width: 768px) {
  .st-br-m,
  span.st-patron--m { display: none; }
  .st-br-e { display: inline; }
  span.st-patron--e { display: block; }

  /* Cabecera: el patrón naranja asoma por arriba, así que no se recorta. */
  .st-cuotas-cab { overflow: visible; }

  /* Tabla de tarifas: filas de 110 pt, nombre a x=125, importes al ras de x=865. */
  .st-tarifas__fila { padding: 0 16rem 0 12.5rem; }
  .st-tarifas__fila::before { right: 4rem; }
  .st-tarifas__cierre { margin-right: 4rem; }
  .st-tarifas__perfil { margin-top: -0.355rem; }
  .st-tarifas__perfil + .st-tarifas__precio { margin-top: 0.675rem; }
  .st-tarifas__precio + .st-tarifas__perfil:last-child { margin-top: -0.575rem; }

  /* Formas de pago: la banda suave va a sangre y sus patrones pueden
     salirse (uno asoma sobre la tabla de tarifas, como en el diseño). */
  .st-pagos {
    margin-top: 17.4rem;
    padding: 1.6rem 4rem 4.2rem 2.5rem;
    overflow: visible;
    --st-sangre: var(--st-fondo-suave);
  }
  .st-intro-21 { max-width: 86rem; }
  .st-ancho-77 { max-width: 77rem; }
  .st-ancho-90 { max-width: 90rem; }
  /* Botón PayPal del artboard (270×60 + sombra dura de 1.6 pt), renderizado
     con su fondo suave. */
  .st-paypal {
    width: 27.16rem;
    height: 6.16rem;
    margin: 4.06rem 0 0 -0.16rem;
  }
  .st-paypal + .st-sub { margin-top: 3.94rem; }
  /* Las etiquetas en negrita de 14 pt dentro del texto de 16 pt no deben
     agrandar la caja de línea (en el diseño todas miden 24 pt). */
  .st-p16 .st-rotulo { line-height: 2rem; }
  .st-lista { max-width: 80.5rem; }
  .st-lista li + li { margin-top: 2.3rem; }
  .st-rotulo + .st-lista { margin-top: 2.245rem; }

  /* Avisos (rosa + oscuro) a todo el ancho de la columna, texto centrado. */
  .st-facturacion { padding: 1.9rem 2.1rem 0 2.5rem; }
  .st-facturacion > p,
  .st-facturacion > h2 { margin-right: 0; max-width: 97rem; }
  .st-aviso { text-align: center; }
  .st-aviso__titulo { padding: 1.8rem 1rem 3.8rem; }
  .st-aviso__titulo--20 { padding: 1.63rem 1rem 4.07rem; }
  .st-aviso__cuerpo { padding: 3.455rem 2rem 5.96rem; }
  .st-aviso__cuerpo--nota { padding: 1.525rem 2rem 2.485rem; }
  .st-aviso--nota { margin-top: 3.46rem; }

  /* Políticas: la banda suave empieza justo tras el aviso oscuro. */
  .st-politicas {
    margin-top: 0;
    padding: 4.7rem 1rem 3.82rem 2.5rem;
    --st-sangre: var(--st-fondo-suave);
  }
  .st-lista--reembolso { max-width: none; }
  .st-lista--reembolso li { line-height: 2.5rem; }
  .st-lista + .st-p16 { margin-top: 2.38rem; }
  .st-p16 + .st-sub--dudas { margin-top: 2.25rem; }

  .st-consultas {
    padding: 4.7rem 3rem 9rem;
    text-align: center;
    --st-sangre: #1b576f;
  }
  .st-consultas__datos { margin-top: 2.17rem; }

  .st-inscribirse {
    padding: 6.1rem 2.5rem 12.5rem;
    text-align: center;
  }
  .st-inscribirse .st-boton { margin: 5.04rem auto 0; }
}

/* =====================================================================
   LAPTOP Y ESCRITORIO (≥ 1200 px) — composición propia sobre el contenedor
   de sitio.css (`--st-lado`). Tarifas en cuatro tarjetas; el resto con un
   "riel" de dos columnas: encabezado a la izquierda, contenido a la derecha.
   ===================================================================== */
@media (min-width: 1200px) {
  .st-cuotas-cab { padding: 7rem var(--st-lado) 0; }
  .st-cuotas-cab .st-etiqueta { margin-top: 1.2rem; }

  /* ---------- Tarifas: cuatro tarjetas ---------- */
  .st-tarifas {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.4rem;
    margin-top: 3.6rem;
    padding: 0 var(--st-lado);
  }
  .st-tarifas > .st-patron { z-index: 0; }
  span.st-patron--e[style*="left:76rem"] { left: auto !important; right: -6rem; }
  .st-tarifas__fila,
  .st-tarifas__fila:nth-of-type(odd) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 3.2rem;
    height: auto;
    padding: 3.2rem 3.2rem 3rem;
    border-radius: 2.4rem;
    background: var(--st-fondo-suave);
    box-shadow: 0 0.2rem 0.4rem rgba(19, 51, 62, .08), 0 1rem 2.4rem rgba(19, 51, 62, .08);
  }
  .st-tarifas__fila::before,
  .st-tarifas__cierre { display: none; }
  .st-tarifas__nombre { padding-top: 0; font-size: 2.4rem; line-height: 3rem; }
  .st-tarifas__periodo { margin-top: 0.6rem; font-size: 1.7rem; line-height: 2.6rem; }
  /* Importes: rótulo del perfil sobre su monto */
  .st-tarifas__precios {
    display: flex;
    flex-direction: column;
    padding-top: 2rem;
    border-top: 1px solid #d0d6d9;
    text-align: left;
  }
  .st-tarifas__precios > :nth-child(1) { order: 2; }
  .st-tarifas__precios > :nth-child(2) { order: 1; }
  .st-tarifas__precios > :nth-child(3) { order: 4; margin-top: 0; }
  .st-tarifas .st-tarifas__precios > .st-tarifas__perfil:nth-child(4) { order: 3; margin-top: 1.6rem; }
  .st-tarifas__precios > .st-tarifas__perfil {
    font-size: 1.3rem;
    line-height: 2rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--st-teal);
  }
  .st-tarifas__precios > :nth-child(2) { margin-top: 0; }
  .st-tarifas__precios > .st-tarifas__precio {
    font-size: 2.6rem;
    line-height: 3.4rem;
    color: var(--st-tinta);
    font-variant-numeric: tabular-nums;
  }
  .st-tarifas .st-tarifas__precios > .st-tarifas__precio { margin-top: 0.2rem; line-height: 3.4rem; }
  .st-tarifas__precio small { font-size: 1.3rem; line-height: 1; }

  /* ---------- Riel de dos columnas (pagos, facturación, políticas) ---------- */
  .st-pagos,
  .st-facturacion,
  .st-politicas {
    display: grid;
    grid-template-columns: minmax(0, 30rem) minmax(0, 1fr);
    column-gap: 8rem;
    align-items: start;
    padding: 9rem var(--st-lado);
  }
  .st-pagos > *,
  .st-facturacion > *,
  .st-politicas > * { grid-column: 2; max-width: 80rem; }
  .st-pagos > .st-h-grande,
  .st-pagos > .st-sub,
  .st-facturacion > .st-h-grande,
  .st-politicas > .st-h-grande,
  .st-politicas > .st-sub { grid-column: 1; }

  .st-h-grande { font-size: 3.2rem; line-height: 4rem; letter-spacing: -0.01em; text-wrap: balance; }
  .st-sub { font-size: 2.1rem; line-height: 2.9rem; text-wrap: balance; }
  .st-p16,
  .st-lista li,
  .st-lista--reembolso li { font-size: 1.7rem; line-height: 2.8rem; }
  .st-rotulo { font-size: 1.5rem; line-height: 2.8rem; }
  .st-p16 .st-rotulo { line-height: 2.8rem; }
  .st-intro-21 { font-size: 2.2rem; line-height: 3.4rem; }

  /* Formas de pago */
  .st-pagos {
    margin-top: 9rem;
    clip-path: inset(0); /* los patrones no invaden las tarifas ni la sección siguiente */
  }
  .st-pagos > .st-h-grande,
  .st-pagos > .st-intro-21 { margin-top: 0; }
  .st-pagos > .st-sub,
  .st-pagos > .st-sub + *,
  .st-paypal + .st-sub,
  .st-intro-21 + .st-sub,
  .st-pagos > .st-intro-21 + .st-sub + * {
    margin-top: 6.4rem;
    padding-top: 0;
  }
  .st-paypal { margin: 2rem 0 0 -0.16rem; }
  .st-lista { padding-left: 2.4rem; }
  .st-lista li + li { margin-top: 1.6rem; }

  /* Facturación: avisos a todo el ancho, en dos columnas (rosa | oscuro) */
  .st-facturacion { padding-top: 6.4rem; padding-bottom: 9rem; }
  .st-facturacion > .st-aviso { grid-column: 1 / -1; max-width: none; }
  .st-aviso {
    display: grid;
    grid-template-columns: minmax(0, 30rem) minmax(0, 1fr);
    column-gap: 0;
    overflow: hidden;
    border-radius: 2.4rem;
    text-align: left;
    box-shadow: 0 1.6rem 4rem rgba(19, 51, 62, .14);
  }
  .st-aviso__titulo,
  .st-aviso__titulo--20 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem;
  }
  .st-aviso__titulo p { font-size: 1.8rem; line-height: 2.6rem; }
  .st-aviso__titulo .st-aviso__grande { font-size: 2.2rem; line-height: 3rem; margin-bottom: 0.6rem; }
  .st-aviso__titulo--20 p { font-size: 2.1rem; line-height: 3rem; }
  .st-aviso__cuerpo,
  .st-aviso__cuerpo--nota { padding: 4rem 5.6rem 4rem 8rem; }
  .st-aviso__cuerpo p { font-size: 1.7rem; line-height: 2.8rem; }
  .st-aviso__cuerpo .st-br-e { display: none; }
  .st-aviso--importante { margin-top: 0; }
  .st-facturacion > .st-h-grande { margin-top: 9rem !important; }
  .st-facturacion > .st-h-grande + .st-p16 { margin-top: 9rem; }
  .st-facturacion > .st-p16 + .st-p16 { margin-top: 2.4rem; }
  .st-aviso--nota { margin-top: 6.4rem; }

  /* Políticas */
  .st-politicas { margin-top: 0; }
  .st-politicas > .st-h-grande,
  .st-politicas > .st-p16--pol { margin-top: 0; }
  .st-politicas > .st-sub,
  .st-politicas > .st-sub + * { margin-top: 6.4rem; }
  .st-correo { font-size: 2rem; line-height: 3rem; }
  .st-p16 + .st-correo { margin-top: 1.6rem; }
  .st-correo16 { font-size: 1.8rem; line-height: 2.8rem; }
  .st-correo:hover,
  .st-correo16:hover,
  .st-consultas__datos a:hover { text-decoration: underline; text-underline-offset: 0.3rem; }

  /* Banda de consultas: rótulo | datos en una fila */
  .st-consultas {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6rem;
    padding: 6.4rem var(--st-lado);
    text-align: left;
  }
  .st-consultas__titulo { font-size: 2.4rem; line-height: 3.2rem; }
  .st-consultas__datos {
    margin-top: 0;
    font-size: 2.2rem;
    line-height: 3.4rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
  }

  /* Cierre: pregunta y botón en una fila */
  .st-inscribirse {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4.8rem;
    padding: 9rem var(--st-lado) 10rem;
  }
  .st-inscribirse .st-boton { width: 34rem; margin: 0; font-size: 1.5rem; }
}
