/* Pantallas de compra y de cuenta del curso (venta, bloqueo, alta, entrada,
   recuperacion de contrasenya, perfil y area del alumno). Se carga SIEMPRE
   despues de temario.css, de la que hereda
   la paleta, las tipografias y los botones. Aqui solo lo propio de estas
   pantallas: formularios, avisos y el listado de modulos del alumno. */

.pagina{padding:clamp(34px,7vw,72px) 0 clamp(56px,9vw,96px)}
.pagina .shell{max-width:820px}
.pagina .eyebrow{margin-bottom:14px}
.pagina h1{font-family:var(--display);font-size:clamp(30px,6.2vw,50px);line-height:1.04;
  letter-spacing:-.028em;margin-bottom:14px}
.pagina .lead{max-width:62ch}
.pagina .panel + .panel{margin-top:20px}

.cuenta{display:inline-flex;flex-direction:column;gap:6px;padding:16px 22px;margin-top:6px;
  background:var(--soft);border:1px solid rgba(47,179,160,.34);border-radius:var(--radius)}
.cuenta small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);font-weight:700}
.cuenta b{font-family:var(--display);font-size:clamp(26px,5vw,34px);letter-spacing:.05em;line-height:1}
.cuenta b.mini{font-family:inherit;font-size:17px;font-weight:600;letter-spacing:0;word-break:break-all}

.datos{margin-top:18px;display:grid;gap:12px}
.datos>div{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;
  padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.datos>div:last-child{border-bottom:0;padding-bottom:0}
.datos dt{flex:none;min-width:150px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);font-weight:700}
.datos dd{font-size:16px;color:var(--ink);word-break:break-word}

.form{margin-top:22px;display:grid;gap:12px;max-width:520px}
.form label{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.form input[type=email],.form input[type=password],.form input[type=text]{width:100%;font:inherit;
  font-size:16px;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px 16px}
.form input::placeholder{color:var(--ink-3)}
.form input:focus{outline:2px solid var(--accent-2);outline-offset:2px;border-color:transparent}
.form label+label{margin-top:4px}
.form .check{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0;
  font-size:14.5px;font-weight:400;color:var(--ink-2);cursor:pointer}
.form .check input{width:18px;height:18px;flex:none;accent-color:var(--accent-2);cursor:pointer}
.form button{font:inherit;cursor:pointer;border:0}
.form .fina{font-size:13.5px;color:var(--ink-3);line-height:1.55}
.form .fina a{color:var(--ink-2)}

.nota{margin-top:20px;padding:16px 18px;border-radius:var(--radius);font-size:15px;line-height:1.6;
  border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2)}
.nota.ok{border-color:rgba(47,179,160,.4);background:var(--soft);color:var(--ink)}
.nota.mal{border-color:rgba(226,124,110,.42);background:rgba(226,124,110,.1);color:var(--ink)}
.nota b{color:var(--ink)}

.listam{display:grid;gap:12px;margin-top:26px}
.itemm{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 20px;
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-lg)}
.itemm .n{font-family:var(--display);font-size:24px;line-height:1;color:var(--ink-3);flex:none;width:2ch}
.itemm .t{flex:1 1 260px;min-width:0}
.itemm .t b{display:block;font-size:17px;font-weight:600;letter-spacing:-.012em}
.itemm .t span{display:block;font-size:14px;color:var(--ink-3);margin-top:2px}
.itemm .btn{flex:none}
.itemm.abierto{border-color:rgba(47,179,160,.3)}
.chip-estado{flex:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;
  color:var(--ink-3);border:1px solid var(--line-2);border-radius:var(--radius-pill);padding:7px 14px}
.chip-estado.libre{color:var(--accent-2);border-color:rgba(47,179,160,.4);background:var(--soft)}
/* Modulo cerrado hasta la compra: candado a la vista, ficha atenuada y sin
   enlace a la leccion (el boton lleva a la pagina de compra). */
.chip-estado.bloq{display:inline-flex;align-items:center;gap:7px;color:var(--ink-3);
  border-color:var(--line-2);background:var(--bg-2)}
.chip-estado.bloq svg{width:13px;height:13px;flex:none}
.itemm.bloqueado{background:var(--bg-2);border-style:dashed}
.itemm.bloqueado .t b{color:var(--ink-2)}

.incluye{margin-top:22px;display:grid;gap:9px}
.incluye li{position:relative;padding-left:26px;color:var(--ink-2);font-size:15.5px;line-height:1.55}
.incluye li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;
  border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(-45deg);border-radius:1px}

.ayuda{margin-top:clamp(34px,6vw,54px);padding:clamp(22px,4.4vw,32px);border-radius:var(--radius-lg);
  border:1px solid var(--line-2);background:var(--surface)}
.ayuda h2{font-family:var(--display);font-size:clamp(21px,3.6vw,27px);letter-spacing:-.02em}
.ayuda>p{margin-top:12px;color:var(--ink-2);font-size:15.5px;max-width:64ch}
.ayuda .svcs{display:grid;gap:14px;margin-top:20px}
.ayuda .svcs>div{padding:16px 18px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg-2)}
.ayuda .svcs b{display:block;font-size:15.5px;font-weight:600}
.ayuda .svcs p{margin-top:6px;font-size:14.5px;color:var(--ink-3);line-height:1.6}
.ayuda .actions{margin-top:22px}
@media(min-width:760px){.ayuda .svcs{grid-template-columns:repeat(3,1fr)}}

/* Barra del alumno: mis modulos / mi cuenta / cerrar sesion. */
.bar-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bar-nav .bar-cta.ghost{opacity:.82}
@media(max-width:520px){.bar-nav .bar-cta span{display:none}
  .bar-nav .bar-cta:last-child span{display:inline}}

.lema{margin-top:14px;font-size:14px;color:var(--ink-3)}
/* Lema oficial de marca: "Tu cuenta, siempre en verde." SOLO la palabra
   "verde" va en el verde de marca (--accent, #2FB3A0); "Tu cuenta, siempre en"
   toma el color de texto normal de la superficie. */
.lema em{font-style:normal;color:var(--accent);font-weight:700}
