/* Estudio → Personalizar, mensaje de bienvenida del Inicio, marcas del temario y certificado */

/* ---------- Personalizar ---------- */
.cz-panes{flex-wrap:wrap}
.cz-panes .chip{display:inline-flex;align-items:center;gap:7px}
.cz-panes .chip .ic{width:15px;height:15px}
.cz-form{max-width:860px}
.cz-form fieldset{margin:0;padding:0;min-width:0}
.cz-form legend{margin-bottom:10px}
.cz-save{position:sticky;bottom:12px;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:16px;background:rgba(var(--field),.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--line2)}
.cz-save .st-save{margin-right:auto}

/* paleta */
.cz-sw{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cz-dot{width:36px;height:36px;border-radius:50%;border:0;background:var(--c);cursor:pointer;box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),0 4px 14px rgba(0,0,0,.25);transition:transform .25s var(--e-spring)}
.cz-dot:hover{transform:scale(1.08)}
.cz-dot[aria-checked=true]{box-shadow:0 0 0 3px rgba(var(--bgc,12,9,7),1),0 0 0 5px var(--c)}
.cz-dot:focus-visible,.cz-pick:focus-within{outline:2px solid var(--yellow);outline-offset:3px}
.cz-pick{position:relative;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--t80);background:rgba(var(--tint),.08);box-shadow:inset 0 0 0 1px var(--line2)}
.cz-pick .ic{width:16px;height:16px}
.cz-pick input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cz-hex{width:110px;text-transform:uppercase}
.cz-prev{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:14px;border-radius:16px;background:rgba(var(--tint),.04);box-shadow:inset 0 0 0 1px var(--line)}
.cz-prev .btn{pointer-events:none}
.cz-prev-g{font-weight:700;font-size:18px}

/* imágenes */
.cz-img{display:grid;gap:8px}
.cz-img-b{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:start}
.cz-img-p{display:grid;place-items:center;border-radius:14px;overflow:hidden;background:rgba(var(--tint),.05);box-shadow:inset 0 0 0 1px var(--line2);min-height:72px}
.cz-img-p.coverUrl{aspect-ratio:16/5}
.cz-img-p img{width:100%;height:100%;object-fit:contain;max-height:120px}
.cz-img-p.coverUrl img{object-fit:cover;max-height:none}
.cz-img-p span{display:inline-flex;align-items:center;gap:6px;color:var(--t50);font-size:13px}
.cz-img-p .ic{width:16px;height:16px}
.cz-img-a{display:grid;gap:8px;justify-items:start}
.cz-img-a .input{width:100%}
.cz-file{position:relative;overflow:hidden;cursor:pointer}
.cz-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cz-file.busy{opacity:.6;pointer-events:none}

/* listas ordenables */
.cz-ol,.cz-mods,.cz-ls{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cz-li,.cz-l{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(var(--tint),.05);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .2s,box-shadow .2s}
.cz-li-t,.cz-l-t{flex:1;min-width:0;font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.cz-grip{color:var(--t50);cursor:grab;display:grid;place-items:center}
.cz-grip .ic{width:16px;height:16px}
.cz-arrows,.cz-arrows-x{display:inline-flex;gap:4px;flex:none}
.cz-li .switch,.cz-l .switch{font-size:13px;flex:none}
.dragging{opacity:.55;box-shadow:inset 0 0 0 2px var(--orange)!important}
.cz-extra{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:14px}

/* temario */
.cz-tm .st-chips{margin-bottom:12px}
.cz-mod{padding:12px;border-radius:18px;background:rgba(var(--tint),.03);box-shadow:inset 0 0 0 1px var(--line2);display:grid;gap:10px}
.cz-mod-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cz-n{color:var(--orange-t);font-size:12px}
.cz-mod-t{flex:1;min-width:160px;font-size:15.5px}
.cz-date{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t62)}
.cz-date span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}
.cz-date .input{padding:7px 10px;min-height:38px;width:auto}
.cz-days .input{width:76px;text-align:center}
.cz-mod{grid-template-columns:minmax(0,1fr)}
.cz-date>span:first-child{white-space:nowrap}
.cz-days span:last-child{text-transform:none;letter-spacing:0;font-family:inherit;font-size:12.5px}
.cz-ls{padding-left:26px}
.cz-l{padding:8px 10px}
.cz-l-t{font-weight:500}

/* cupones */
.cz-cp-f{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;padding:14px;border-radius:16px;background:rgba(var(--tint),.04);box-shadow:inset 0 0 0 1px var(--line);margin:6px 0 16px}
.cz-cp-note{grid-column:span 2}
.cz-cp-a{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.cz-cp-a .switch{margin-right:auto}
.cz-cps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cz-cp{display:grid;grid-template-columns:auto auto auto 1fr auto;align-items:center;gap:6px 14px;padding:12px 14px;border-radius:14px;background:rgba(var(--tint),.05);box-shadow:inset 0 0 0 1px var(--line)}
.cz-cp b{font-size:15px;letter-spacing:.06em}
.cz-cp-v{font-weight:700;color:var(--orange-t)}
.cz-cp small{color:var(--t62);font-size:12.5px;min-width:0}
.cz-cp-b{display:inline-flex;gap:4px}

@media(max-width:760px){
  .cz-img-b{grid-template-columns:1fr}
  .cz-cp-f{grid-template-columns:1fr 1fr}
  .cz-cp-note{grid-column:1/-1}
  .cz-cp{grid-template-columns:1fr auto;}
  .cz-cp small{grid-column:1/-1}
  .cz-cp .st-tag{justify-self:start}
  .cz-li,.cz-l{flex-wrap:wrap}
  .cz-li-t,.cz-l-t{flex-basis:calc(100% - 120px)}
  .cz-li .switch,.cz-l .switch{order:3}
  .cz-arrows,.cz-arrows-x{margin-left:auto}
  .cz-ls{padding-left:6px}
  .cz-date{width:100%}
  .cz-date .input{flex:1}
  .cz-days .input{flex:0 0 76px}
  .cz-date .input{min-width:0}
  .cz-days span:last-child{min-width:0}
  .cz-grip{display:none}
}
@media(max-width:420px){.cz-cp-f{grid-template-columns:1fr}.cz-dot,.cz-pick{width:32px;height:32px}}

/* ---------- Inicio: mensaje y portada del instructor ---------- */
.hx-welcome-box{padding:20px 22px;border-radius:22px;display:grid;gap:6px;overflow:hidden}
.hx-welcome-box h2{margin:0;font-size:clamp(18px,2.2vw,22px);font-weight:700;letter-spacing:-.01em}
.hx-welcome-box p{margin:0;color:var(--t72);line-height:1.55;white-space:pre-line}
.hx-welcome-box.has-cover{padding:0 0 4px}
.hx-welcome-box.has-cover h2,.hx-welcome-box.has-cover p{padding:0 22px}
.hx-welcome-box.has-cover p:last-child{padding-bottom:16px}
.hx-welcome-cover{display:block;width:100%;aspect-ratio:16/5;object-fit:cover;margin-bottom:12px}
.hx-welcome-box.has-cover>.hx-welcome-cover:last-child{margin-bottom:0}

/* ---------- temario del alumno ---------- */
.gl-free{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;color:var(--orange-t);box-shadow:inset 0 0 0 1px rgba(255,106,19,.5);margin-left:4px;white-space:nowrap}
.gl-cert{margin:10px 0 4px;width:100%;justify-content:center}
.gl-cert-l{display:inline-flex;align-items:center;gap:6px;margin:8px 0 2px}
.gl-cert-l .ic{width:14px;height:14px}

/* ---------- certificado ---------- */
.cert-wrap{max-width:1000px;margin:0 auto;display:grid;gap:16px}
.cert-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}
.cert-lock{text-align:center;justify-items:center}
.cert-lock .bar{width:min(320px,100%);margin:6px 0 14px}
.cert{--cert-ink:#1A0A03;--cert-bg:#FFF9F1;aspect-ratio:1.414/1;width:100%;background:var(--cert-bg);color:var(--cert-ink);border-radius:18px;padding:clamp(10px,2vw,22px);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.cert-in{height:100%;border-radius:12px;border:2px solid var(--orange);box-shadow:inset 0 0 0 6px var(--cert-bg),inset 0 0 0 7px rgba(26,10,3,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(14px,4vw,48px);gap:clamp(2px,.6vw,8px);background:radial-gradient(120% 80% at 50% 0%,rgba(255,106,19,.10),transparent 60%)}
.cert-h{display:flex;align-items:center;gap:12px;margin-bottom:clamp(6px,1.6vw,18px)}
.cert-logo{height:clamp(26px,4vw,42px);width:auto}
.cert-logo.is-white{filter:brightness(0) saturate(100%) invert(7%) sepia(30%) saturate(2000%) hue-rotate(350deg)}
.cert-brand{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;font-size:clamp(9px,1.3vw,13px)}
.cert-k{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#B93F08;font-size:clamp(9px,1.4vw,14px);margin:0}
.cert-l{margin:0;color:rgba(26,10,3,.62);font-size:clamp(10px,1.5vw,15px)}
.cert-name{margin:clamp(2px,1vw,10px) 0;font-size:clamp(22px,5.4vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}
.cert-course{margin:0;font-size:clamp(14px,2.6vw,26px);font-weight:700;background:linear-gradient(95deg,#F59A00,#F26B0A 48%,#D9400A);-webkit-background-clip:text;background-clip:text;color:transparent}
.cert-meta,.cert-note{margin:0;color:rgba(26,10,3,.62);font-size:clamp(9px,1.3vw,13px)}
.cert-f{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:auto;padding-top:clamp(8px,2vw,24px)}
.cert-sign{display:grid;gap:2px;text-align:left;border-top:1px solid rgba(26,10,3,.35);padding-top:6px;min-width:40%}
.cert-sig{font-weight:700;font-size:clamp(11px,1.7vw,17px)}
.cert-sign small,.cert-code small{color:rgba(26,10,3,.55);font-size:clamp(8px,1.1vw,11px)}
.cert-code{display:grid;text-align:right}
.cert-code b{font-size:clamp(9px,1.3vw,13px);letter-spacing:.08em;color:var(--cert-ink)}
.cert h1,.cert h2,.cert b,.cert span{color:inherit}
.cert .cert-course{color:transparent}
@media(max-width:560px){.cert{aspect-ratio:auto}.cert-in{min-height:420px}}

@media print{
  @page{size:A4 landscape;margin:0}
  body{background:#fff!important}
  body *{visibility:hidden!important}
  .cert,.cert *{visibility:visible!important}
  .cert{position:fixed;inset:0;width:100vw;height:100vh;aspect-ratio:auto;border-radius:0;box-shadow:none;padding:10mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .no-print{display:none!important}
}

/* ---------- certificado: compartir y verificación pública (012) ---------- */
.cert-vurl{font-size:clamp(7px,1vw,10px)!important;letter-spacing:.02em;opacity:.85}
.cert-share{display:grid;gap:14px;padding:clamp(16px,3vw,24px)}
.cert-share .cs-head h3{margin:0 0 4px;font-size:18px}
.cert-share .cs-hint{margin:0;color:var(--t62,rgba(var(--tint),.62));font-size:14.5px;line-height:1.5}
.cert-share .cs-btns{display:flex;flex-wrap:wrap;gap:10px}
.cert-share .btn.is-off,.cert-share .btn:disabled{opacity:.45;pointer-events:none;filter:saturate(.4)}
.cert-share .cs-priv{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.cert-share .switch input:disabled+.tr{opacity:.5}
.cert-share .cs-note{margin:0;font-size:13px;color:var(--t62,rgba(var(--tint),.62))}
@media(max-width:560px){.cert-share .cs-btns .btn{flex:1 1 100%;justify-content:center}}
@media(max-width:560px){.cert-code b{white-space:nowrap;font-size:8.5px;letter-spacing:.02em}}
