/* Área de membros + ficha de inscrição. Usa as variáveis do tema (style.css). */
.m-wrap{width:100%;max-width:34rem;margin-inline:auto;padding-inline:1.25rem}
.m-wrap.wide{max-width:60rem}
.m-hero{padding:9rem 0 2rem}
.m-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
.m-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,6vw,3.2rem);line-height:1.05}
.m-sub{margin-top:.9rem;color:color-mix(in oklab,var(--foreground) 72%,transparent);line-height:1.6}
.m-card{background:var(--surface);border:1px solid rgba(255,255,255,.07);border-radius:1.5rem;padding:1.75rem;box-shadow:var(--shadow-elegant)}
@media(min-width:640px){.m-card{padding:2.25rem}}
.m-card+.m-card{margin-top:1.25rem}
.m-h2{font-family:var(--font-display);font-weight:700;font-size:1.35rem;margin-bottom:1rem}
.m-field{margin-bottom:1.1rem}
.m-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,var(--foreground) 62%,transparent);margin-bottom:.45rem}
.m-label .req{color:var(--gold)}
.m-hint{font-size:.8rem;color:color-mix(in oklab,var(--foreground) 55%,transparent);margin-top:.35rem;line-height:1.45}
.m-input,.m-select,.m-textarea{width:100%;background:rgba(3,10,38,.6);border:1px solid rgba(255,255,255,.12);border-radius:.8rem;padding:.8rem 1rem;color:var(--foreground);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}
.m-input:focus,.m-select:focus,.m-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(229,172,76,.18)}
.m-textarea{min-height:7rem;resize:vertical}
.m-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.4rem}
.m-select option{background:#061335;color:#f8f5ee}
.m-invalid .m-input,.m-invalid .m-select,.m-invalid .m-textarea{border-color:var(--destructive)}
.m-err{color:#ff8d92;font-size:.85rem;margin-top:.4rem}
.m-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;max-width:100%;border-radius:.9rem;padding:.85rem 1.25rem;font:inherit;font-weight:700;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,transform .1s;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.m-btn:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.m-btn:active{transform:translateY(1px)}
.m-btn[disabled]{opacity:.55;cursor:not-allowed}
.m-btn-gold{background:var(--gold);color:var(--gold-foreground)}
.m-btn-gold:hover{opacity:.9}
.m-btn-line{background:transparent;border-color:rgba(255,255,255,.2);color:var(--foreground)}
.m-btn-line:hover{border-color:var(--gold);color:var(--gold)}
.m-btn-danger{background:transparent;border-color:rgba(238,52,59,.5);color:#ff8d92}
.m-btn-danger:hover{background:rgba(238,52,59,.12)}
.m-btn-block{width:100%}
.m-btn-sm{padding:.55rem 1rem;font-size:.8rem}
.m-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.m-between{justify-content:space-between}
.m-alert{border-radius:1rem;padding:1rem 1.15rem;font-size:.92rem;line-height:1.5;margin-bottom:1.25rem;border:1px solid}
.m-alert-ok{background:rgba(44,200,120,.1);border-color:rgba(44,200,120,.35);color:#7be8b4}
.m-alert-err{background:rgba(238,52,59,.1);border-color:rgba(238,52,59,.35);color:#ff9ea2}
.m-alert-info{background:rgba(229,172,76,.1);border-color:rgba(229,172,76,.35);color:#f2cd8a}
.m-links{margin-top:1.4rem;font-size:.9rem;color:color-mix(in oklab,var(--foreground) 65%,transparent);display:flex;flex-direction:column;gap:.5rem}
.m-links a,.m-link{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.m-check{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;line-height:1.5;cursor:pointer}
.m-check input{margin-top:.2rem;accent-color:var(--gold);width:1.1rem;height:1.1rem;flex:none}
.m-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.m-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.25rem .65rem;border:1px solid}
.m-b-confirmada{background:rgba(44,200,120,.12);color:#7be8b4;border-color:rgba(44,200,120,.35)}
.m-b-pendente{background:rgba(229,172,76,.12);color:#f2cd8a;border-color:rgba(229,172,76,.35)}
.m-b-lista_espera{background:rgba(120,160,255,.12);color:#a9c1ff;border-color:rgba(120,160,255,.35)}
.m-b-cancelada{background:rgba(255,255,255,.06);color:#97a7b7;border-color:rgba(255,255,255,.15)}
.m-list{display:grid;gap:.85rem}
.m-item{border:1px solid rgba(255,255,255,.08);border-radius:1.1rem;padding:1.1rem 1.25rem;background:rgba(3,10,38,.35)}
.m-item h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem}
.m-meta{font-size:.85rem;color:color-mix(in oklab,var(--foreground) 60%,transparent);margin-top:.25rem}
.m-grid2{display:grid;gap:1.25rem}
@media(min-width:900px){.m-grid2{grid-template-columns:1.4fr 1fr}}
.m-empty{color:color-mix(in oklab,var(--foreground) 55%,transparent);font-size:.92rem}
.m-nav{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}

/* ── Ficha (assistente por etapas) ── */
.f-progress{height:.35rem;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-bottom:1.5rem}
.f-progress>i{display:block;height:100%;width:0;background:var(--gradient-gold);transition:width .35s}
.f-step-title{font-family:var(--font-display);font-weight:800;font-size:1.5rem}
.f-step-desc{margin:.4rem 0 1.4rem;color:color-mix(in oklab,var(--foreground) 68%,transparent);line-height:1.55;white-space:pre-line}
.f-q{margin-bottom:1.5rem}
.f-q[hidden]{display:none}
.f-q-title{font-weight:600;line-height:1.4;margin-bottom:.35rem}
.f-q-title .req{color:var(--gold);margin-left:.2rem}
.f-opts{display:grid;gap:.55rem;margin-top:.6rem}
.f-opt{display:flex;gap:.7rem;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:.85rem;padding:.75rem .95rem;cursor:pointer;transition:border-color .2s,background .2s}
.f-opt:hover{border-color:rgba(229,172,76,.5)}
.f-opt:has(input:checked){border-color:var(--gold);background:rgba(229,172,76,.08)}
.f-opt input{accent-color:var(--gold);width:1.05rem;height:1.05rem;flex:none}
.f-scale{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.f-scale label{cursor:pointer}
.f-scale input{position:absolute;opacity:0;pointer-events:none}
.f-scale span{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.8rem;border:1px solid rgba(255,255,255,.14);font-weight:700;transition:all .2s}
.f-scale input:checked+span{background:var(--gold);color:var(--gold-foreground);border-color:var(--gold)}
.f-scale input:focus-visible+span{box-shadow:0 0 0 3px rgba(229,172,76,.35)}
.f-scale-lbl{display:flex;justify-content:space-between;font-size:.78rem;color:color-mix(in oklab,var(--foreground) 55%,transparent);margin-top:.4rem}
.f-nav{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.75rem}
.f-block{border:1px solid rgba(238,52,59,.4);background:rgba(238,52,59,.08);border-radius:1.1rem;padding:1.25rem;margin-top:1rem}
.f-ok{text-align:center;padding:1rem 0}
.f-ok svg{width:3.2rem;height:3.2rem;color:var(--gold);margin:0 auto 1rem}

/* ── Cabeçalho: estado de login (Entrar x Conectado) ── */
.hm-pill{display:inline-flex;align-items:center;gap:.6rem;border-radius:999px;padding:.3rem .95rem .3rem .3rem;border:1px solid;transition:all .2s;line-height:1.1}
.hm-avatar{position:relative;display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;font-weight:800;font-size:.95rem;flex:none}
.hm-avatar svg{width:1.1rem;height:1.1rem}
.hm-txt{display:flex;flex-direction:column}
.hm-txt b{font-size:.84rem;font-weight:700}
.hm-txt small{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7be8b4}
/* deslogado: contorno discreto */
.hm-off{border-color:rgba(255,255,255,.18);color:var(--foreground);padding-right:1.05rem}
.hm-off .hm-avatar{background:rgba(255,255,255,.08);color:var(--foreground)}
.hm-off:hover{border-color:var(--gold);color:var(--gold)}
/* logado: verde, selo de check e pulso — impossível confundir com "Entrar" */
.hm-on{border-color:rgba(44,200,120,.55);background:rgba(44,200,120,.12);color:#d9fbe9}
.hm-on .hm-avatar{background:linear-gradient(135deg,#2cc878,#16a05a);color:#04210f;box-shadow:0 0 0 0 rgba(44,200,120,.55);animation:hm-pulse 2.4s ease-out 2}
.hm-on:hover{background:rgba(44,200,120,.2);border-color:#2cc878}
.hm-check{position:absolute;right:-.3rem;bottom:-.3rem;display:grid;place-items:center;width:.95rem;height:.95rem;border-radius:50%;background:#fff;color:#16a05a;border:1.5px solid #16a05a}
.hm-check svg{width:.6rem;height:.6rem}
@keyframes hm-pulse{0%{box-shadow:0 0 0 0 rgba(44,200,120,.6)}100%{box-shadow:0 0 0 .8rem rgba(44,200,120,0)}}
.hm-out{display:inline-flex}
.hm-outbtn{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;border:1px solid rgba(255,255,255,.15);color:color-mix(in oklab,var(--foreground) 70%,transparent);cursor:pointer;transition:all .2s;background:transparent}
.hm-outbtn svg{width:1rem;height:1rem}
.hm-outbtn:hover{border-color:#ff8d92;color:#ff8d92;background:rgba(238,52,59,.1)}
/* menu mobile */
.hm-card{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;border-radius:1.1rem;padding:.9rem 1rem;margin:.4rem 0 1rem;border:1px solid}
.hm-card .hm-avatar{width:2.6rem;height:2.6rem;font-size:1.1rem}
.hm-card-t{display:flex;flex-direction:column;flex:1;min-width:8rem}
.hm-card-t small{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.hm-card-t b{font-family:var(--font-display);font-size:1.15rem}
.hm-card.hm-on .hm-card-t small{color:#7be8b4}
.hm-card.hm-off{border-color:rgba(229,172,76,.4);background:rgba(229,172,76,.08)}
.hm-card.hm-off .hm-card-t small{color:var(--gold)}
.hm-card-a,.hm-card-s{display:inline-flex;align-items:center;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:700;border:1px solid;cursor:pointer;background:transparent}
.hm-card-a{background:#2cc878;color:#04210f;border-color:#2cc878}
.hm-card-s{border-color:rgba(255,255,255,.25);color:var(--foreground)}
/* aviso "Login realizado" */
.hm-toast{position:fixed;top:5.4rem;left:50%;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:.8rem;max-width:min(92vw,28rem);width:max-content;border-radius:1rem;padding:.85rem 1rem;background:#0b2a1b;border:1px solid rgba(44,200,120,.6);color:#d9fbe9;box-shadow:0 18px 50px -12px rgba(0,0,0,.7),0 0 0 1px rgba(44,200,120,.15);animation:hm-in .45s cubic-bezier(.2,.9,.3,1.2)}
.hm-toast b{display:block;font-size:.95rem}
.hm-toast span:not(.hm-toast-i){display:block;font-size:.82rem;color:#a8e8c6;margin-top:.1rem}
.hm-toast-i{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#2cc878;color:#04210f;flex:none}
.hm-toast-i svg{width:1.1rem;height:1.1rem}
.hm-toast button{margin-left:.3rem;color:#a8e8c6;font-size:1.4rem;line-height:1;cursor:pointer;background:none;border:0}
.hm-toast-out{opacity:0;transform:translate(-50%,-10px);transition:all .5s}
@keyframes hm-in{from{opacity:0;transform:translate(-50%,-14px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.hm-on .hm-avatar{animation:none}.hm-toast{animation:none}}

/* Menu do topo: nunca quebra o rótulo em duas linhas; compacta em telas médias para caber o botão de conta */
header nav a{white-space:nowrap}
@media(min-width:1024px) and (max-width:1279px){header nav a{padding-inline:.5rem!important;font-size:.82rem}.hm-txt small{display:none}.hm-pill{padding-right:.8rem}}

/* ══ Jornada guiada de inscrição ══ */
.j-steps{display:flex;list-style:none;margin:0 0 1.4rem;padding:0}
.j-steps li{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;font-size:.78rem;color:color-mix(in oklab,var(--foreground) 58%,transparent)}
.j-steps li:before{content:attr(data-n);display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid rgba(255,255,255,.25);font-weight:800;margin-bottom:.45rem;background:var(--background);position:relative;z-index:1}
.j-steps li:after{content:"";position:absolute;top:1.05rem;left:calc(50% + 1.1rem);right:calc(-50% + 1.1rem);height:2px;background:rgba(255,255,255,.18)}
.j-steps li:last-child:after{display:none}
.j-steps li.on{color:var(--foreground);font-weight:700}
.j-steps li.on:before{background:var(--gold);color:var(--gold-foreground);border-color:var(--gold)}
.j-steps li.ok:before{content:"✓";background:rgba(229,172,76,.18);border-color:var(--gold);color:var(--gold)}
.j-steps li.ok:after{background:var(--gold)}
.j-steps li.ok{color:color-mix(in oklab,var(--foreground) 80%,transparent)}
.j-ev{display:flex;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(229,172,76,.4);background:rgba(229,172,76,.07);border-radius:1.1rem;margin-bottom:1.25rem}
.j-ev img{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:.8rem;flex:0 0 4.5rem}
.j-ev small{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:.2rem}
.j-ev strong{display:block;font-family:var(--font-display);font-size:1.1rem;line-height:1.25}
.j-ev span{display:block;font-size:.85rem;opacity:.75;margin-top:.15rem}
.j-choice{display:grid;gap:.8rem;margin:1.1rem 0 1.4rem}
.j-how{counter-reset:j;list-style:none;margin:0;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:.7rem;font-size:.92rem;line-height:1.5}
.j-how li{counter-increment:j;display:flex;gap:.7rem;align-items:flex-start}
.j-how li:before{content:counter(j);flex:0 0 1.5rem;height:1.5rem;border-radius:50%;background:rgba(229,172,76,.2);color:var(--gold);font-weight:800;font-size:.8rem;display:grid;place-items:center;margin-top:.05rem}
.j-next{display:grid;gap:.5rem;padding:1rem 1.1rem;border:1px solid rgba(229,172,76,.4);border-radius:1.1rem;background:rgba(229,172,76,.07);margin-bottom:1.25rem;font-size:.92rem;line-height:1.5}
.j-next a{justify-self:start}

/* A ficha salva não vira pendência por ter respostas opcionais em branco. */
.m-ficha-resumo{margin-bottom:1.25rem;border-color:rgba(229,172,76,.35)}
.m-ficha-resumo p{line-height:1.6;margin-bottom:1rem}
.m-ficha-resumo .m-meta{color:var(--foreground);opacity:.85}
@media(max-width:480px){.m-card{padding:1.25rem}.m-ficha-resumo .m-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.m-btn{transition:none}}
