/* Tickets nuevos (papel C + tinta A), traídos de la web sin publicar (css/tickets.css) sin la portada,
   la pila ni el formulario: aquí van dentro del hueco de las facturas (.receipt). */
/* ---------- Ticket (papel en lienzo, tinta encima) ---------- */
  .ticket{position:relative;isolation:isolate;color:var(--azul-oscuro,#000526);font-family:var(--font-ticket);font-variant-numeric:tabular-nums}
  .ticket > .papel{position:absolute;inset:0;z-index:0;pointer-events:none}
  .ticket > .papel canvas{display:block;width:100%;height:100%}
  .ticket > :not(.papel){position:relative;z-index:1}
  .ticket:not(.listo){background:var(--blanco,#fff)}
  .tinta{mix-blend-mode:multiply;filter:url(#f-tinta)}
  .icono{display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .logo-papel{mix-blend-mode:multiply}

  /* Líneas tecleadas: separadores hechos con caracteres, como los imprime la máquina */
  .tecleada{display:block;margin:0;white-space:nowrap;overflow:hidden;line-height:1;letter-spacing:0;user-select:none}
  .tecleada::before{content:attr(data-c)}

  /* Mini tickets de portada */
  .mini{width:236px;height:300px;padding:40px 22px 40px;text-align:center;display:flex;flex-direction:column;justify-content:center}
  .mini .t{margin:0;font-weight:700;font-size:1.55rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}

  .mini--quienes .icono{width:64px;height:64px;margin:0 auto 18px}
  .mini--quienes .tecleada{font-size:.875rem;margin:0 0 16px}
  .mini--quienes .t{letter-spacing:.18em}

  .mini--que .t{margin-bottom:18px}
  .mini-lista .tecleada{font-size:.875rem}
  .mini-lista p{display:flex;align-items:center;gap:8px;margin:9px 0;font-weight:500;font-size:.9375rem}
  .mini-lista .relleno{flex:1 1 auto;border-bottom:2px dotted currentColor;transform:translateY(2px)}
  .mini-lista .icono{width:18px;height:18px;stroke-width:2.2;flex:none}
  .mini--jugar .pre{margin:0 0 12px;font-weight:500;font-size:1rem;letter-spacing:.3em;text-transform:uppercase}
  .mini--jugar .t{font-size:1.45rem;letter-spacing:.06em;margin:10px 0}
  .mini--jugar .tecleada{font-size:.875rem}
  .mini--jugar .icono{width:40px;height:40px;margin:16px auto 0}

  .doble{border:0;height:5px;margin:0;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}

  /* Ticket grande */
  .ticket--grande{width:min(580px,100%)}
  .tramo{padding:34px clamp(18px,6%,40px) 30px;font-size:.9375rem;line-height:1.7}
  .tramo--inicio{padding-top:48px;text-align:center}
  .tramo--inicio .logo-papel{display:block;width:min(300px,78%);height:auto;margin:0 auto}
  .tramo--inicio .tit{margin:18px 0 0;font-size:.8125rem;letter-spacing:.32em;text-transform:uppercase}
  .tramo--fin{text-align:center;padding-top:10px}
  .tramo--fin .logo-papel{display:block;width:min(240px,64%);height:auto;margin:6px auto 22px}
  .corte{height:38px;position:relative}
  .corte::before{content:"";position:absolute;left:22px;right:22px;top:50%;border-top:1.5px dashed rgba(0,5,38,.7)}
  .corte.con-sello::before{-webkit-mask:linear-gradient(to right,#000 calc(50% - 38px),transparent calc(50% - 38px),transparent calc(50% + 38px),#000 calc(50% + 38px));mask:linear-gradient(to right,#000 calc(50% - 38px),transparent calc(50% - 38px),transparent calc(50% + 38px),#000 calc(50% + 38px))}
  .corte .sello{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .corte .sello .simbolo{display:block;width:44px;height:auto}

  /* Bloques de texto con forma de ticket (Formación, Optimización) */
  .partida{margin:0 0 18px}
  .partida .cant{display:flex;gap:1.2ch;align-items:baseline;margin:0 0 6px;font-weight:700;font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase}
  .partida .cant span:first-child{font-weight:500;min-width:3ch}
  .partida p{margin:0;padding-left:4.2ch;font-size:1.0625rem;line-height:1.65}
  @media (max-width:420px){ .partida p{padding-left:0;font-size:1rem} }

  /* Lista de artículos */
  .lista{margin:0;padding:0;list-style:none}
  .lista .enc,.lista li{display:grid;grid-template-columns:8.5ch minmax(0,1fr) 1.4em;column-gap:1.4ch;align-items:baseline}
  .lista .enc{font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding-bottom:6px;border-bottom:1.5px dashed currentColor;margin-bottom:8px}
  .lista li{padding:3px 0}
  .lista .ref{font-weight:500}
  .lista .grupo{margin-top:12px;padding-top:6px;font-weight:700;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase}
  .lista .grupo span:nth-child(2)::before{content:"» "}
  .lista .enc + .grupo{margin-top:0;padding-top:0}
  .lista .nota{display:block;font-size:.8125rem;line-height:1.5;opacity:.85}
  .lista .ok{width:1.15em;height:1.15em;align-self:center;stroke-width:2.2}
  .resumen{display:flex;justify-content:space-between;gap:2ch;margin:10px 0 0;padding-top:8px;border-top:1.5px dashed currentColor;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem}
  .extras{list-style:none;margin:10px 0 0;padding:8px 0 0;border-top:1.5px dashed currentColor;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}
  .extras li{display:flex;align-items:baseline;gap:.8ch;padding:2px 0}
  .extras .relleno{flex:1 1 auto;min-width:2ch;border-bottom:1.5px dotted currentColor;transform:translateY(-.25em);opacity:.7}
  .total .der{text-align:right}
  .total{display:flex;justify-content:space-between;align-items:baseline;gap:2ch;margin:8px 0 0;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em}

  /* Recortables: marcos tecleados, texto impreso grande */
  .recorte{margin:22px 0 0;text-align:center}
  .recorte .tecleada{font-size:1rem}
  .recorte .tijera-fila{display:flex;align-items:center;gap:6px}
  .recorte .tijera-fila .icono{width:26px;height:26px;flex:none}
  .recorte .tijera-fila .tecleada{flex:1 1 auto}
  .recorte .dentro-recorte{padding:16px 6px 14px}
  .recorte .dentro-recorte p{margin:0;font-weight:700;font-size:1.25rem;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
  .recorte--grande{margin-top:0}
  .recorte--grande .dentro-recorte{padding:22px 6px 20px}
  .recorte--grande .dentro-recorte p{font-size:1.6rem;line-height:1.35}
  @media (max-width:420px){
    .recorte .dentro-recorte p{font-size:1.05rem}
    .recorte--grande .dentro-recorte p{font-size:1.3rem}
  }

  /* Cabeceras: una distinta por tramo */
  .cab{margin-bottom:22px}
  .cab h3{margin:0;font-weight:700;text-transform:uppercase}

  .cab--formacion{text-align:center}
  .cab--formacion .icono{width:56px;height:56px;margin:18px auto 10px}
  .cab--formacion h3{font-size:2rem;letter-spacing:.3em;padding-left:.3em;margin-bottom:18px}
  .remate{display:flex;justify-content:center;align-items:center;margin-top:10px;padding-top:22px;border-top:4px double var(--azul-oscuro,#000526)}
  .remate .holded{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:inherit;text-decoration:none;border-radius:6px;transition:transform .16s ease}
  .remate .holded:hover{transform:translateY(-2px)}
  .remate .holded:hover small{text-decoration:underline;text-underline-offset:3px}
  .remate .holded:focus-visible{outline:2px solid var(--azul-oscuro,#000526);outline-offset:6px}
  .remate .holded img{display:block;width:min(300px,70%);height:auto}
  .partida p strong{font-weight:700;letter-spacing:.04em;text-transform:uppercase}
  .remate .holded small{font-size:.6875rem;letter-spacing:.06em;line-height:1.35;text-transform:uppercase}
  .remate .nunca{font-weight:700;font-size:1.6rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

  .cab--contabilidad{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:2px solid currentColor}
  .cab--contabilidad .caja{flex:none;width:56px;height:56px;border:2px solid currentColor;display:grid;place-items:center}
  .cab--contabilidad .caja .icono{width:34px;height:34px}
  .cab--contabilidad h3{font-size:1.5rem;letter-spacing:.16em}

  .cab--fiscal{text-align:center}
  .cab--fiscal .tecleada{font-size:1rem;font-weight:700}
  .cab--fiscal .fila{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 0}
  .cab--fiscal h3{font-size:1.8rem;letter-spacing:.42em;padding-left:.42em}
  .cab--fiscal .icono{width:34px;height:34px}

  .cab--optimizacion{text-align:center}
  .cab--optimizacion .tecleada{font-size:1rem;font-weight:500}
  .cab--optimizacion .icono{width:42px;height:42px;margin:10px auto 6px}
  .cab--optimizacion h3{font-size:1.3rem;letter-spacing:.22em;line-height:1.35;margin-bottom:8px}

  .cab--administracion{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:10px;border-bottom:1.5px solid currentColor;box-shadow:0 5px 0 -3.5px currentColor}
  .cab--administracion h3{font-size:1.4rem;letter-spacing:.12em;line-height:1.1}
  .cab--administracion .icono{width:40px;height:40px;flex:none}

  .cab--laboral{text-align:center}
  .cab--laboral .tecleada{font-size:1rem}
  .cab--laboral .fila{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0}
  .cab--laboral h3{font-size:1.6rem;letter-spacing:.3em;padding-left:.3em}
  .cab--laboral .icono{width:34px;height:34px}

  .barras{display:block;width:78%;height:56px;margin:0 auto}

  @media (max-width:420px){
    .tramo{font-size:.875rem}
    .lista .enc,.lista li{grid-template-columns:7.5ch minmax(0,1fr) 1.3em;column-gap:1ch}
    .cab--formacion h3{font-size:1.5rem;letter-spacing:.22em}
    .cab--fiscal h3{font-size:1.4rem;letter-spacing:.3em}
    .cab--contabilidad h3{font-size:1.15rem;letter-spacing:.1em}
    .cab--administracion h3{font-size:1.1rem;letter-spacing:.08em}
    .remate .nunca{font-size:1.25rem}

  }

  /* ===== Letra más grande en todos los tickets (lectura cómoda) ===== */
  .mini{width:256px;height:316px}
  .mini .t{font-size:1.7rem}
  .mini--que .t{font-size:1.7rem}
  .mini--jugar .t{font-size:1.6rem}
  .mini--jugar .pre{font-size:1.125rem}
  .mini-lista p{font-size:1.0625rem}
  .ticket--grande{width:min(660px,100%)}
  .tramo{font-size:1.0625rem}
  .tramo--inicio .tit{font-size:.9375rem}
  .partida .cant{font-size:1.15rem}
  .partida p{font-size:1.1875rem}
  .lista .enc{font-size:.875rem}
  .lista .nota{font-size:.9375rem}
  .lista .grupo{font-size:.9375rem}
  .resumen,.extras{font-size:.9375rem}
  .total{font-size:1.25rem}
  .recorte .tecleada{font-size:1.0625rem}
  .recorte .dentro-recorte p{font-size:1.4rem}
  .recorte--grande .dentro-recorte p{font-size:1.8rem}
  .remate .holded small{font-size:1rem;letter-spacing:.18em}
  .remate .nunca{font-size:1.85rem}
  .cab--formacion h3{font-size:2.3rem}
  .cab--contabilidad h3{font-size:1.75rem}
  .cab--fiscal h3{font-size:2.05rem}
  .cab--optimizacion h3{font-size:1.55rem}
  .cab--administracion h3{font-size:1.65rem}
  @media (max-width:420px){
    .tramo{font-size:.9375rem}
    .partida p{font-size:1.0625rem}
    .lista .nota,.lista .grupo,.resumen,.extras{font-size:.8125rem}
    .recorte .dentro-recorte p{font-size:1.15rem}
    .recorte--grande .dentro-recorte p{font-size:1.4rem}
    .remate .nunca{font-size:1.45rem}
    .cab--formacion h3{font-size:1.7rem;letter-spacing:.2em}
    .cab--fiscal h3{font-size:1.55rem;letter-spacing:.3em}
    .cab--contabilidad h3{font-size:1.3rem;letter-spacing:.1em}
    .cab--optimizacion h3{font-size:1.25rem}
    .cab--administracion h3{font-size:1.2rem;letter-spacing:.06em}
  }

  /* ===== Saltos entre bloques y títulos más destacados ===== */
  .corte{height:92px}
  .corte::before{left:30px;right:30px;border-top:2.5px dashed rgba(0,5,38,.8)}
  .corte.con-sello::before{-webkit-mask:linear-gradient(to right,#000 calc(50% - 44px),transparent calc(50% - 44px),transparent calc(50% + 44px),#000 calc(50% + 44px));mask:linear-gradient(to right,#000 calc(50% - 44px),transparent calc(50% - 44px),transparent calc(50% + 44px),#000 calc(50% + 44px))}
  .corte .sello .simbolo{width:54px}
  .tramo{padding-top:26px}
  .cab{margin-bottom:28px}
  .cab--contabilidad h3{font-size:2.15rem;letter-spacing:.12em}
  .cab--contabilidad .caja{width:68px;height:68px}
  .cab--contabilidad .caja .icono{width:42px;height:42px}
  .cab--fiscal h3{font-size:2.6rem;letter-spacing:.38em}
  .cab--fiscal .icono{width:42px;height:42px}
  .cab--fiscal .tecleada{font-size:1.15rem}
  .cab--optimizacion h3{font-size:1.95rem;letter-spacing:.16em}
  .cab--optimizacion .icono{width:52px;height:52px}
  .cab--administracion h3{font-size:2.05rem;letter-spacing:.08em}
  .cab--administracion .icono{width:50px;height:50px}

  /* Formación: la pieza principal, enmarcada */
  .tramo--principal > .tinta,.tramo--principal > .remate{position:relative}
  .tramo--principal .cab--formacion .icono{width:84px;height:84px;margin:22px auto 12px}
  .tramo--principal .cab--formacion h3{font-size:3.2rem;letter-spacing:.2em;padding-left:.2em;margin-bottom:22px}
  .tramo--principal .partida .cant{font-size:1.3rem}
  .tramo--principal .partida p{font-size:1.3rem;line-height:1.6}
  @media (max-width:420px){
    .corte{height:70px}
    .cab--contabilidad h3{font-size:1.45rem}
    .cab--contabilidad .caja{width:54px;height:54px}
    .cab--fiscal h3{font-size:1.8rem;letter-spacing:.28em}
    .cab--optimizacion h3{font-size:1.35rem}
    .cab--administracion h3{font-size:1.35rem;letter-spacing:.04em}
    .tramo--principal .cab--formacion h3{font-size:2.1rem;letter-spacing:.14em}
    .tramo--principal .cab--formacion .icono{width:64px;height:64px}
    .tramo--principal .partida p{font-size:1.125rem}
    .tramo--principal .partida .cant{font-size:1.1rem}
  }

  /* ===== Varios tickets separados ===== */
  .pila{display:flex;flex-direction:column;align-items:center;gap:clamp(44px,8vh,80px)}
  .ticket--cupon{width:min(600px,94%)}
  .ticket--cupon .tramo{padding-top:30px;padding-bottom:34px}
  .ticket--principal .tramo--inicio{padding-bottom:4px}
  .sello-ticket{display:flex;justify-content:center;margin:0 0 22px}
  .sello-ticket .simbolo{display:block;width:46px;height:auto}

  /* Ticket de presentación (portada de la web): texto corrido en párrafos; arranca con la pregunta */
  .ticket--presentacion .tramo--inicio{padding-bottom:4px}
  .ticket--presentacion .doble{margin:0 0 24px}
  .ticket--presentacion .gancho{margin:0 0 20px;font-weight:700;font-size:1.55rem;line-height:1.4;letter-spacing:.02em}
  .ticket--presentacion .intro{margin:0 0 16px;font-size:1.2rem;line-height:1.65}
  /* Autogestión (23/10/2026): pregunta, lista numerada del módulo, broma, valor y recortable */
  .ticket--principal .gancho{margin:0 0 18px;font-weight:700;font-size:1.55rem;line-height:1.4;letter-spacing:.02em}
  .ticket--principal .intro{margin:0 0 18px;font-size:1.2rem;line-height:1.65}
  .ticket--principal .modulo{margin:0 0 22px;padding:16px 0 0 2.2em;border-top:1.5px dashed currentColor;font-size:1.15rem;line-height:1.6}
  .ticket--principal .modulo li{margin:0 0 14px;padding-left:.3em}
  .ticket--principal .modulo li::marker{font-weight:700}
  .ticket--principal .broma{margin:0;padding-top:14px;border-top:1.5px dashed currentColor;text-align:center;font-weight:500;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase}
  .ticket--principal .valor{margin:22px 0 0;font-size:1.2rem;line-height:1.6;text-align:center}
  .ticket--principal .valor b{letter-spacing:.06em;text-transform:uppercase}
