/* Modo Tora v2 · acceso.css · entrar, demo, bienvenida, no apto. Prefijo .acc- · Dueño: base. */

.acc-view{gap:0;padding-top:0}

/* entrar */
.acc-entry{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:calc(32px + var(--safe-b))}
.acc-hero{position:relative;height:260px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px;padding-top:var(--safe-t);-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.acc-hero__w{display:block;white-space:nowrap;font-size:58px;font-weight:800;line-height:.95;letter-spacing:-.02em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.3px rgba(142,31,47,.5);transform:translateX(calc(-8% - var(--i) * 13%))}
.acc-hero__w:nth-child(even){-webkit-text-stroke-color:rgba(29,29,31,.22)}
@supports not (-webkit-text-stroke:1px black){.acc-hero__w{color:rgba(142,31,47,.1)}}
.acc-brand{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:-86px;padding:0 var(--gutter) 6px}
.acc-brand::before{content:"";position:absolute;left:50%;top:40%;width:300px;height:150px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,var(--bg) 62%,rgba(236,236,236,0));z-index:-1}
.acc-brand img{width:196px;height:auto}
.acc-brand p{font-size:15px;font-weight:600;letter-spacing:-.005em}
.acc-body{display:flex;flex-direction:column;gap:22px;padding-top:26px}
.acc-how{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1)}
.acc-steps{display:flex;flex-direction:column;gap:14px}
.acc-steps li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}
.acc-steps b{width:32px;height:32px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}
.acc-steps span{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted);line-height:1.45}
.acc-steps strong{font-size:15px;color:var(--ink);font-weight:700}

/* onboarding */
.acc-stepnum{font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;padding-right:6px;white-space:nowrap}
.acc-onb{display:flex;flex-direction:column;gap:18px;overflow-x:hidden;overflow-x:clip}
.acc-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:4px var(--gutter) 0}
.acc-progress i{height:4px;border-radius:2px;background:rgba(29,29,31,.1);transition:background-color var(--dur-2) var(--ease)}
.acc-progress i.is-done{background:var(--ink)}
.acc-progress i.is-cur{background:var(--acc)}
.acc-step{display:flex;flex-direction:column;gap:26px;padding-top:6px;animation:acc-in var(--dur-3) var(--ease-out) both}
.acc-step.is-back{animation-name:acc-in-back}
@keyframes acc-in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes acc-in-back{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.acc-step__head{display:flex;flex-direction:column;gap:10px}
.acc-step__body{display:flex;flex-direction:column;gap:26px}
.acc-demo{margin:0}
.acc-q{display:flex;flex-direction:column;gap:12px}
.acc-q__label{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.3;padding:0;margin-bottom:12px}
.acc-q__hint{font-size:13.5px;color:var(--muted);margin-top:-8px;line-height:1.45}
.acc-list{padding:4px 16px}
.acc-edit .acc-q__label{font-size:16px}

/* perfil listo */
.acc-done{min-height:calc(100dvh - var(--cta-h) - var(--safe-b) - 40px);display:flex;flex-direction:column;justify-content:center;gap:14px;padding-top:calc(var(--safe-t) + 24px)}
.acc-done__check{width:92px;height:92px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;margin-bottom:14px;animation:acc-pop .6s var(--ease-out) both}
.acc-done__check svg{width:46px;height:46px;stroke-width:2.6}
@keyframes acc-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.06);opacity:1}100%{transform:scale(1)}}

/* no apto */
.acc-noapto{display:flex;flex-direction:column;gap:20px;padding-top:12px}
.acc-noapto__badge{width:64px;height:64px;border-radius:50%;background:var(--cream);color:var(--acc);display:grid;place-items:center}
.acc-noapto__badge svg{width:30px;height:30px}
.acc-noapto__why{color:var(--ink);font-size:16px}

@media (min-width:1024px){
  .acc-hero{height:280px}
}
