/* Aprovação, contrato e página de obrigado — Proposta 360° Easy Odonto (MVX Studios) */
:root{
  --abismo:#050D1F;--marinho:#0C2547;--agua:#5EE6C8;--agua-2:#A7F3E4;--azul:#5B7CFF;--violeta:#9A86FF;--agua-escura:#0B7A68;
  --esmalte:#F2F6F8;--esmalte-2:#E1EAEE;--tinta:#0A1A33;--tinta-2:#3E5472;--claro:#EAF2F8;--raiox:#A9BED6;
  --vidro:rgba(255,255,255,.06);--vidro-borda:rgba(255,255,255,.14);
  --f-display:"Archivo",system-ui,sans-serif;--f-serif:"Newsreader",Georgia,serif;--f-mono:"IBM Plex Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
}

/* ============ SEÇÃO DE APROVAÇÃO ============ */
.aceite-lead{margin-top:1.4rem;color:var(--raiox);max-width:56ch}
.wizard{margin-top:clamp(32px,5vh,56px);border-radius:28px;border:1px solid var(--vidro-borda);background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.02));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:clamp(20px,3vw,40px);scroll-margin-top:80px}
.steps{list-style:none;margin:0 0 1.8rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.steps li{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-radius:14px;border:1px solid rgba(169,190,214,.16);color:var(--raiox);font-size:.9rem;transition:border-color .4s,color .4s}
.steps li b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:500 .78rem var(--f-mono);border:1px solid rgba(169,190,214,.35);flex:none}
.steps li.is-active{border-color:rgba(94,230,200,.5);color:var(--claro)}
.steps li.is-active b{background:var(--agua);color:var(--tinta);border-color:var(--agua)}
.steps li.is-done{color:var(--agua-2)}
.steps li.is-done b{border-color:var(--agua);color:var(--agua)}
.steps li.is-done b::after{content:"✓"}
.steps li.is-done b span{display:none}
.wstep{display:none;border:0;margin:0;padding:0;min-width:0}
.wstep.is-active{display:block}
.wstep__title{font-family:var(--f-display);font-stretch:110%;font-weight:600;font-size:1.35rem;margin:0 0 .4rem;padding:0;color:var(--claro)}
.wstep__note{margin:0 0 1.4rem;color:var(--raiox);font-size:.95rem;max-width:60ch}
.aform__fields{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.aform__group{grid-column:1/-1;margin-top:.6rem;padding-top:1rem;border-top:1px solid rgba(169,190,214,.14);display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.aform__group > p{grid-column:1/-1;margin:0 0 .2rem;font:500 .68rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--raiox)}
.fld{position:relative}
.fld--wide{grid-column:1/-1}
.fld input{width:100%;box-sizing:border-box;padding:1.25rem .95rem .55rem;border-radius:12px;border:1px solid rgba(169,190,214,.25);background:rgba(5,13,31,.55);color:var(--claro);font:400 1rem var(--f-display);outline:none;transition:border-color .3s,box-shadow .3s}
.fld input:focus{border-color:var(--agua);box-shadow:0 0 0 3px rgba(94,230,200,.15)}
.fld label{position:absolute;left:.95rem;top:.95rem;font-size:.95rem;color:var(--raiox);pointer-events:none;transition:all .2s var(--ease)}
.fld input:focus + label,.fld input:not(:placeholder-shown) + label{top:.4rem;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--agua)}
.fld.is-invalid input{border-color:#ff7a90;box-shadow:0 0 0 3px rgba(255,122,144,.15)}
.fld.is-invalid label{color:#ff9fae}
.wnav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.6rem;flex-wrap:wrap}
.wnav__hint{font:400 .72rem var(--f-mono);letter-spacing:.06em;color:var(--raiox)}
.btn2{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:0;cursor:pointer;text-decoration:none;font:600 1rem var(--f-display);font-stretch:108%;padding:.95rem 1.5rem;border-radius:99px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),opacity .3s}
.btn2--primary{background:linear-gradient(100deg,var(--agua),#7FE0FF);color:var(--tinta)}
.btn2--primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px -8px rgba(94,230,200,.6)}
.btn2--ghost{background:transparent;color:var(--claro);border:1px solid rgba(169,190,214,.35)}
.btn2--ghost:hover{border-color:var(--agua);color:var(--agua)}
.btn2[disabled]{opacity:.6;cursor:wait;transform:none}
.pad-wrap{border-radius:18px;padding:3px;transition:box-shadow .3s}
.pad-wrap.is-invalid{box-shadow:0 0 0 3px rgba(255,122,144,.35)}
.pad{position:relative;height:220px;border-radius:16px;background:#fff;overflow:hidden;touch-action:none;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.pad canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.pad__line{position:absolute;left:8%;right:8%;bottom:54px;border-top:1px solid #9fb1c4}
.pad__hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font:400 .72rem var(--f-mono);letter-spacing:.08em;color:#7890A8;pointer-events:none;white-space:nowrap}
.pad__clear{position:absolute;right:12px;top:12px;border:1px solid var(--esmalte-2);background:#fff;color:var(--tinta-2);font:500 .72rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:.4rem .7rem;border-radius:99px;cursor:pointer}
.review{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.review__party{padding:1.1rem 1.2rem;border-radius:16px;border:1px solid rgba(169,190,214,.16);background:rgba(5,13,31,.4)}
.review__party .eyebrow{margin-bottom:.8rem}
.lines{margin:0;display:grid;gap:.45rem}
.lines > div{display:grid;grid-template-columns:auto 1fr;gap:.8rem;font-size:.92rem}
.lines dt{font:500 .64rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--raiox);padding-top:.25rem;white-space:nowrap}
.lines dd{margin:0;color:var(--claro);overflow-wrap:anywhere}
.review__sum{margin-top:1.4rem;padding:1.1rem 1.2rem;border-radius:16px;background:rgba(94,230,200,.08);border:1px solid rgba(94,230,200,.3);display:grid;gap:.25rem;text-align:center}
.review__sum span{color:var(--raiox);font-size:.92rem}
.review__sum b{font-stretch:125%;font-weight:600;font-size:2rem;letter-spacing:-.02em;color:var(--claro)}
.contract-row{margin-top:1.2rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 1.1rem;border-radius:14px;border:1px solid rgba(169,190,214,.16)}
.contract-row p{margin:0;color:var(--raiox);font-size:.92rem}
.contract-row__actions{display:flex;gap:.6rem;flex-wrap:wrap}
.linkbtn{background:none;border:1px solid rgba(169,190,214,.35);color:var(--claro);cursor:pointer;text-decoration:none;font:500 .72rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:.55rem .8rem;border-radius:99px;transition:border-color .3s,color .3s}
.linkbtn:hover{border-color:var(--agua);color:var(--agua)}
.check{display:flex;gap:.8rem;align-items:flex-start;margin-top:1.3rem;padding:.9rem 1rem;border-radius:12px;border:1px solid transparent;cursor:pointer;color:var(--claro);font-size:.95rem;line-height:1.45}
.check input{margin-top:.25rem;width:18px;height:18px;accent-color:var(--agua);flex:none}
.check.is-invalid{border-color:#ff7a90}
.aform__msg{margin:1rem 0 0;font:400 .8rem/1.5 var(--f-mono);color:#ff9fae;min-height:1.2em}

/* modal do contrato */
dialog.contrato-modal{width:min(94vw,900px);max-height:90vh;padding:0;border:0;border-radius:20px;background:#fff;color:var(--tinta);overflow:auto;box-shadow:0 40px 120px -20px rgba(0,0,0,.7)}
dialog.contrato-modal::backdrop{background:rgba(5,13,31,.75);backdrop-filter:blur(6px)}
.contrato-modal__bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;background:#fff;border-bottom:1px solid var(--esmalte-2)}
.contrato-modal__bar b{font:500 .7rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--agua-escura)}
.contrato-modal__bar .linkbtn{color:var(--tinta);border-color:var(--esmalte-2)}
.contrato-modal__body{padding:1.4rem clamp(1rem,4vw,3rem) 2.5rem}

/* ============ CONTRATO (modal e página) ============ */
.ct{font-family:var(--f-serif);color:#1a2438;font-size:1rem;line-height:1.6;max-width:820px;margin:0 auto}
.ct__head{text-align:center;margin-bottom:1.8rem}
.ct__cab{font:400 .62rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2);margin:0 0 1.2rem}
.ct__titulo{font-family:var(--f-display);font-stretch:112%;font-weight:600;font-size:1.5rem;letter-spacing:.06em;margin:0;color:var(--tinta)}
.ct__titulo small{display:block;font-size:.85rem;letter-spacing:.16em;color:var(--agua-escura);margin-top:.3rem;font-weight:500}
.ct__ref{font:400 .72rem var(--f-mono);color:var(--tinta-2);margin:.8rem 0 0}
.ct__partes{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.2rem}
.ct__parte{border:1px solid var(--esmalte-2);border-radius:12px;padding:.9rem 1rem;font-size:.88rem}
.ct__parte b{display:block;font:500 .64rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--agua-escura);margin-bottom:.5rem}
.ct__parte div{display:grid;gap:.15rem}
.ct__parte span:first-child{font-family:var(--f-display);font-weight:600}
.ct__data{text-align:right;margin:.8rem 0;font-style:italic;color:var(--tinta-2)}
.ct__p{margin:0 0 .9rem;text-align:justify}
.ct__cons b{font:500 .7rem var(--f-mono);letter-spacing:.14em;color:var(--tinta)}
.ct__lista{margin:.3rem 0 1rem 1.2rem;padding:0;list-style:none;display:grid;gap:.35rem}
.ct__lista li{text-align:justify}
.ct__clausula{margin-top:1.4rem}
.ct__clausula h2{font-family:var(--f-display);font-stretch:108%;font-weight:600;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta);margin:0 0 .6rem;padding-left:2.4rem}
.ct__item{display:grid;grid-template-columns:2.4rem 1fr;gap:0;margin-bottom:.55rem}
.ct__item > b{font:500 .74rem var(--f-mono);color:var(--agua-escura);padding-top:.25rem}
.ct__item p{margin:0;text-align:justify}
.ct__item ul{margin:.4rem 0 .4rem 1rem;padding:0;list-style:none;display:grid;gap:.3rem}
.ct__tabela{width:100%;border-collapse:collapse;margin:.6rem 0 .8rem;font-size:.88rem}
.ct__tabela th{text-align:left;font:500 .62rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--agua-escura);background:var(--esmalte);padding:.5rem .6rem}
.ct__tabela td{padding:.5rem .6rem;border-bottom:1px solid var(--esmalte-2);vertical-align:top}
.ct__assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2.4rem 0 1rem}
.ct__ass{display:grid;gap:.15rem;font-size:.88rem;padding-top:2.6rem}
.ct__ass .ct__linha{display:block;border-top:1px solid var(--tinta);margin-bottom:.5rem}
.ct__ass b{font:500 .64rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--agua-escura)}
.ct__anexo{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--esmalte-2)}
.ct__anexo-t{font-family:var(--f-display);font-stretch:112%;font-weight:600;font-size:1.2rem;letter-spacing:.08em;text-align:center;margin:0 0 1rem;color:var(--tinta)}
.ct__anexo-t small{display:block;font-size:.78rem;letter-spacing:.14em;color:var(--agua-escura);margin-top:.3rem}
.ct__anexo h3{font-family:var(--f-display);font-stretch:108%;font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin:1.2rem 0 .4rem;color:var(--tinta)}
.ct__eletronica{margin-top:2rem;font:400 .7rem/1.5 var(--f-mono);color:var(--tinta-2);text-align:center}

/* ============ PÁGINAS SECUNDÁRIAS ============ */
.page-light{background:var(--esmalte);color:var(--tinta);font-family:var(--f-display);margin:0;min-height:100vh}
.page-dark{background:var(--abismo);color:var(--claro);font-family:var(--f-display);margin:0;min-height:100vh}
.subtop{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(16px,4vw,48px);height:60px;border-bottom:1px solid rgba(169,190,214,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.page-light .subtop{background:rgba(242,246,248,.85)}
.page-dark .subtop{background:rgba(5,13,31,.8)}
.subtop .brand{display:flex;align-items:baseline;gap:.45rem;text-decoration:none;color:inherit}
.subtop .brand b{font-stretch:125%;font-weight:700;letter-spacing:.06em;font-size:1.05rem}
.subtop .brand span{font:400 .7rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.subtop nav{display:flex;gap:.6rem;flex-wrap:wrap}
.page-light .linkbtn{color:var(--tinta);border-color:rgba(10,26,51,.25)}
.page-light .linkbtn:hover{border-color:var(--agua-escura);color:var(--agua-escura)}
.contrato-page__main{width:min(100% - 2*clamp(16px,4vw,48px),980px);margin:0 auto;padding:40px 0 80px}
.contrato-page__box{background:#fff;border-radius:20px;padding:clamp(20px,4vw,56px);box-shadow:0 30px 80px -40px rgba(10,26,51,.35);margin-top:1.4rem}

/* obrigado */
.thanks__main{width:min(100% - 2*clamp(16px,4vw,48px),1100px);margin:0 auto;padding:clamp(56px,10vh,110px) 0 80px}
.thanks__title{font-family:var(--f-display);font-stretch:116%;font-weight:500;letter-spacing:-.025em;line-height:.98;font-size:clamp(2.4rem,5.2vw,4.6rem);margin:0}
.thanks__title .grad{background:linear-gradient(100deg,var(--agua) 0%,var(--azul) 55%,var(--violeta) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.thanks__meta{margin:1.8rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:760px}
.thanks__meta div{padding:.9rem 1rem;border-radius:14px;border:1px solid var(--vidro-borda);background:var(--vidro)}
.thanks__meta dt{font:500 .64rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--raiox)}
.thanks__meta dd{margin:.3rem 0 0;font-size:.95rem;overflow-wrap:anywhere}
.thanks__status{margin:1.4rem 0 0;color:var(--raiox);max-width:62ch}
.thanks__status small{display:block;margin-top:.4rem;font:400 .72rem var(--f-mono);color:#ff9fae}
.pixcard{margin-top:clamp(40px,7vh,72px);display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start;padding:clamp(20px,3vw,40px);border-radius:28px;border:1px solid rgba(94,230,200,.35);background:linear-gradient(150deg,rgba(94,230,200,.14),rgba(91,124,255,.08) 45%,rgba(255,255,255,.02))}
.pix__qr{background:#fff;border-radius:18px;padding:16px;aspect-ratio:1}
.pix__qr svg{width:100%;height:100%;display:block}
.pix__amount{font-stretch:125%;font-weight:600;font-size:clamp(2rem,1.6rem+1.6vw,3rem);letter-spacing:-.02em;margin:.3rem 0 0}
.pix__who{margin:.4rem 0 0;color:var(--raiox);font-size:.9rem}
.pix__code{display:block;margin-top:1.2rem}
.pix__code span{display:block;font:500 .66rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--raiox);margin-bottom:.4rem}
.pix__code textarea{width:100%;box-sizing:border-box;resize:none;border-radius:12px;border:1px solid rgba(169,190,214,.25);background:rgba(5,13,31,.55);color:var(--claro);font:400 .78rem/1.5 var(--f-mono);padding:.7rem .8rem}
.done__actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.2rem}
.sig{margin:1.4rem 0 0;padding:0}
.sig img{max-height:70px;background:#fff;border-radius:10px;padding:.4rem .9rem}
.sig figcaption{margin-top:.4rem;font:400 .7rem var(--f-mono);color:var(--raiox)}
.next{margin-top:clamp(48px,8vh,88px)}
.next ol{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.1rem;max-width:760px}
.next li{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid rgba(169,190,214,.14)}
.next li b{font:500 .7rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--agua);padding-top:.3rem}
.next li span{display:block;font-weight:600;font-stretch:108%;margin-bottom:.2rem}
.next li p{margin:0;color:var(--raiox);font-size:.95rem}
.subfoot{padding:40px clamp(16px,4vw,48px);border-top:1px solid rgba(169,190,214,.14);font:400 .72rem/1.6 var(--f-mono);color:var(--raiox)}

@media (max-width:760px){
  .steps{grid-template-columns:1fr;gap:.4rem}
  .steps li{padding:.5rem .8rem}
  .aform__fields,.aform__group,.review,.ct__partes,.ct__assinaturas{grid-template-columns:1fr}
  .contract-row{grid-template-columns:1fr}
  .thanks__meta{grid-template-columns:1fr}
  .pixcard{grid-template-columns:1fr}
  .next li{grid-template-columns:1fr;gap:.3rem}
  .ct__item{grid-template-columns:2rem 1fr}
  .ct__clausula h2{padding-left:2rem}
}
@media print{
  .subtop,.contrato-page__actions{display:none}
  .page-light{background:#fff}
  .contrato-page__box{box-shadow:none;padding:0}
}

/* assinatura no passo 3: mais respiro */
.review__sig{width:100%;max-height:96px;object-fit:contain}
.review__sig{margin-top:1rem;width:100%;max-height:96px;object-fit:contain;background:#fff;border-radius:10px;padding:.4rem .8rem;box-sizing:border-box}

.ct__item--destaque p{font-weight:600;color:var(--tinta)}
.ct__lista--termo li{padding:.35rem 0;border-bottom:1px dashed var(--esmalte-2)}
