/* Postulación paso a paso · mismo mundo que la landing (montaje del thangka, manual CMM V2) */
:root{
  --azul:#2A5B7F;--verde:#2D5C46;--turquesa:#2E6F75;--marfil:#F7F2E6;--papel:#EFE8D8;
  --coral:#C65B48;--coral-dk:#A94634;--naranja:#EF9241;--ink:#173A3F;--ink-2:#3E5A5E;
  --rule:rgba(23,58,63,.16);--white:#FFFCF5;
  --serif:Georgia,"Times New Roman",Times,serif;
  --sans:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --strip:linear-gradient(to bottom,var(--coral) 0 3px,transparent 3px 4px,var(--naranja) 4px 7px);
}
*{box-sizing:border-box}
html,body{height:100%}
html{scrollbar-color:var(--turquesa) var(--papel)}
body{
  margin:0;background:var(--marfil);color:var(--ink);font:400 18px/1.55 var(--sans);
  -webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100dvh;
  transition:background-color .5s var(--ease);
}
body[data-step="intro"],body[data-step="done"]{background:var(--azul)}
::selection{background:var(--naranja);color:var(--ink)}
input,textarea{caret-color:var(--turquesa)}
a{color:var(--turquesa);text-underline-offset:.22em}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px}
h1{font:400 clamp(2rem,8.4vw,2.9rem)/1.06 var(--serif);letter-spacing:-.018em;margin:0 0 .3em;text-wrap:balance}
p{margin:0 0 1em}

/* Montaje */
.mount{position:relative;background:var(--marfil);color:var(--ink);padding:34px 22px 28px}
.mount::before,.mount::after{content:"";position:absolute;left:0;right:0;height:7px;background:var(--strip)}
.mount::before{top:0}
.mount::after{bottom:0;transform:scaleY(-1)}

/* Barra superior con progreso */
.bar{
  position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;
  padding:10px 18px;background:rgba(247,242,230,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.bar__back img{height:34px;width:auto;display:block}
.bar__progress{flex:1;height:7px;background:rgba(23,58,63,.1);overflow:hidden}
.bar__progress span{display:block;height:100%;width:0;background:var(--strip);transition:width .5s var(--ease)}
.bar__count{font:700 .8rem/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink-2);min-width:38px;text-align:right}

/* Pasos */
.flow{flex:1;width:100%;max-width:660px;margin:0 auto;padding:30px 20px 130px}
.step{display:none}
.step.is-active{display:block;animation:in .5s var(--ease)}
@keyframes in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.intro .sub{font:italic 400 1.18rem/1.4 var(--serif);color:var(--turquesa)}
.status{display:flex;align-items:center;gap:10px;font:700 .8rem/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;margin:0 0 20px}
.status__dot{width:9px;height:9px;border-radius:50%;background:var(--coral);flex:0 0 9px}
.q{display:block;font:400 clamp(1.5rem,6vw,2rem)/1.22 var(--serif);letter-spacing:-.01em;margin:10px 0 10px;color:var(--ink);text-wrap:balance}
.hint{color:var(--ink-2);font-size:1rem;margin-bottom:20px}
.help{font-size:.95rem;color:var(--ink-2);margin:0}

input[type=text],input[type=email],input[type=number],textarea{
  width:100%;font:400 1.15rem/1.4 var(--sans);color:var(--ink);background:var(--white);
  border:0;border-bottom:2px solid rgba(23,58,63,.35);border-radius:0;padding:14px 4px;
  transition:border-color .25s var(--ease),background-color .25s var(--ease);-webkit-appearance:none;appearance:none;
}
input.short{max-width:170px}
textarea{min-height:200px;resize:vertical;font-size:1.05rem;line-height:1.6;border:1px solid rgba(23,58,63,.25);border-bottom-width:2px;padding:14px}
input:focus,textarea:focus{outline:none;border-color:var(--azul);background:#fff}
input::placeholder,textarea::placeholder{color:#6B7E80}
.is-invalid{border-color:var(--coral)!important}
.err{color:var(--coral-dk);font-weight:600;font-size:.95rem;margin:10px 0 0}
.err:empty{display:none}
.err--global{padding:12px 14px;background:#F6E1DC}
.counter{font-size:.85rem;color:var(--ink-2);text-align:right;margin:8px 2px 0;font-variant-numeric:tabular-nums}
.counter.is-ok{color:var(--verde);font-weight:700}

/* Intro: qué pasa después */
.timeline{list-style:none;padding:0;margin:24px 0;border-top:1px solid var(--rule)}
.timeline li{display:flex;gap:14px;padding:14px 0;align-items:flex-start;border-bottom:1px solid var(--rule)}
.timeline span{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;font:400 1rem/1 var(--serif);color:var(--marfil);background:var(--verde)}
.timeline li:nth-child(2) span{background:var(--azul)}
.timeline li:nth-child(3) span{background:var(--naranja);color:var(--ink)}
.timeline strong{display:block;font:400 1.08rem/1.3 var(--serif)}
.timeline small{display:block;font-size:.93rem;line-height:1.45;color:var(--ink-2)}
.prep{position:relative;padding:18px 0 0;font-size:1rem;margin-bottom:16px}
.prep::before{content:"";position:absolute;top:0;left:0;width:72px;height:7px;background:var(--strip)}

/* Archivos */
.drop{position:relative}
.drop input{position:absolute;inset:0;opacity:0;width:1px;height:1px}
.drop__btn{
  display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
  min-height:130px;border:1.5px dashed rgba(23,58,63,.4);background:var(--white);
  font:700 1.05rem/1.2 var(--sans);color:var(--azul);transition:border-color .25s var(--ease),background-color .25s var(--ease);
}
.drop__btn:hover,.drop input:focus-visible+.drop__btn{border-color:var(--azul);background:#fff}
.drop__btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.drop.is-full .drop__btn{display:none}
.files{list-style:none;padding:0;margin:14px 0 0;border-top:1px solid var(--rule)}
.files li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:.95rem}
.files .thumb{width:48px;height:48px;flex:0 0 48px;object-fit:cover;background:var(--papel);display:grid;place-items:center;font:700 .7rem/1 var(--sans);color:var(--coral-dk)}
.files .meta{flex:1;min-width:0}
.files .name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.files .size{font-size:.82rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.files .rm{border:0;background:none;color:var(--ink-2);cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.files .rm svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.files .rm:hover{background:rgba(198,91,72,.12);color:var(--coral-dk)}
.files .busy{font-size:.82rem;color:var(--turquesa)}

/* Revisión */
.review{margin:10px 0 22px;border-top:1px solid var(--rule)}
.review div{padding:14px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr auto;gap:4px 12px}
.review dt{font:700 .74rem/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--turquesa)}
.review dd{margin:0;grid-column:1;font-size:.98rem;white-space:pre-line;overflow-wrap:anywhere}
.review .edit{grid-row:1/3;grid-column:2;align-self:center;border:0;background:none;color:var(--azul);font:700 .92rem/1 var(--sans);cursor:pointer;padding:10px;text-decoration:underline;text-underline-offset:.22em}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;cursor:pointer}
.check input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:var(--verde)}

/* Listo */
.step--done{text-align:center}
.step--done .mount{padding-top:40px}
.done__icon{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;background:var(--verde);display:grid;place-items:center}
.done__icon svg{width:36px;height:36px;fill:none;stroke:var(--marfil);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* Píldoras y navegación */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:56px;padding:0 1.9em;
  border-radius:999px;border:0;background:var(--naranja);color:var(--ink);text-decoration:none;cursor:pointer;
  font:700 1.1rem/1 var(--sans);box-shadow:0 8px 18px -10px rgba(23,58,63,.55);
  transition:background-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease);
}
.btn:hover{background:var(--ink);color:var(--marfil)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid rgba(23,58,63,.4);box-shadow:none}
.btn--ghost:hover{background:var(--ink);color:var(--marfil);border-color:var(--ink)}
.nav{
  position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;gap:12px;justify-content:center;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--marfil);border-top:1px solid var(--rule);
}
.nav::before{content:"";position:absolute;left:0;right:0;top:-7px;height:7px;background:var(--strip)}
body[data-step="intro"] .nav{background:var(--azul);border-top-color:transparent}
body[data-step="intro"] .nav::before{display:none}
.nav .btn{max-width:620px}
.nav__back{width:56px;min-width:56px;padding:0}
.nav__back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nav__back[hidden]{display:none}
.nav__next{flex:1}
.nav.is-hidden{display:none}

/* Envío */
.sending{position:fixed;inset:0;z-index:10;background:rgba(23,58,63,.6);display:grid;place-items:center;padding:20px}
.sending[hidden]{display:none}
.sending__box{position:relative;background:var(--marfil);padding:30px 24px;width:100%;max-width:360px;text-align:center}
.sending__box::before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:var(--strip)}
.sending__t{font:400 1.25rem/1.3 var(--serif)}
.sending__bar{height:7px;background:rgba(23,58,63,.1);overflow:hidden}
.sending__bar span{display:block;height:100%;width:0;background:var(--verde);transition:width .2s}
.sending__pct{margin:10px 0 0;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

@media (min-width:720px){
  .flow{padding-top:56px}
  .mount{padding:46px 44px 40px}
  .nav{position:static;background:none!important;border:0;max-width:660px;margin:0 auto 48px;width:100%;padding:0 20px}
  .nav::before{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* detector */
input::placeholder,textarea::placeholder{color:#566B6E}
.status{text-transform:none;letter-spacing:0;font-size:.98rem}
.status__dot{animation:none}
.bar__progress span,.sending__bar span{width:100%!important;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.btn{box-shadow:0 8px 18px -10px rgba(0,0,0,.32)}
/* cifras en sans (DESIGN.md: Cifras en Sans) */
.timeline span{font-family:var(--sans);font-weight:700;font-variant-numeric:lining-nums tabular-nums}
/* escritorio: la navegación sigue al contenido, no al borde de la ventana */
@media (min-width:720px){
  .flow{flex:0 0 auto;padding-bottom:0}
  .nav{margin:28px auto 72px}
  .nav .btn{min-height:58px}
}
/* pantalla final: aire antes de la acción */
.step--done .help{margin:6px 0 26px}
.step--done p{max-width:46ch;margin-left:auto;margin-right:auto}
/* Bordes homogéneos con la landing: panel con borde completo */
.mount::before,.mount::after{display:none}
.mount{border:3px solid var(--naranja);outline:3px solid var(--coral);outline-offset:1px;margin:7px}
.check a{color:var(--turquesa);white-space:nowrap}
.cmm-aviso .nav{display:none}

/* WhatsApp: país + número (mismo trazo que los demás campos) */
.tel{display:grid;grid-template-columns:minmax(0,11.5rem) minmax(0,1fr);gap:14px;align-items:end}
.tel select,.tel input{width:100%;font:400 1.15rem/1.4 var(--sans);color:var(--ink);background:var(--white);border:0;border-bottom:2px solid rgba(23,58,63,.35);border-radius:0;padding:14px 4px;transition:border-color .25s var(--ease)}
.tel input{-webkit-appearance:none;appearance:none}
.tel select{padding-right:1.6em;cursor:pointer}
.tel select:focus,.tel input:focus{outline:none;border-bottom-color:var(--naranja,#EF9241)}
.tel select:focus-visible,.tel input:focus-visible{outline:3px solid #EF9241;outline-offset:3px}
.tel input.is-invalid{border-bottom-color:#C65B48}
@media (max-width:520px){.tel{grid-template-columns:1fr;gap:6px}}

/* Aviso de que los documentos se piden después (19-oct-2026) */
.aviso-docs{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:rgba(45,92,70,.09);color:#2D5C46;font-weight:600;font-size:.95rem}

/* Pregunta Sí / No (procesos individuales, 21-oct-2026) */
.sino{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.sino__op{position:relative;display:block;cursor:pointer}
.sino__op input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sino__op span{display:flex;align-items:center;justify-content:center;min-height:56px;border:2px solid rgba(23,58,63,.22);border-radius:14px;background:#fff;font-weight:700;font-size:1.1rem}
.sino__op input:checked+span{border-color:var(--verde,#2D5C46);background:rgba(45,92,70,.1);color:var(--verde,#2D5C46)}
.sino__op input:focus-visible+span{outline:3px solid #EF9241;outline-offset:2px}
