/* Renovi — página pública de cadastro de teste grátis */
body.publico { background: var(--fundo); display: block; min-height: 100vh; }
body.publico > .msg { max-width: 560px; margin: 16px auto; }

.cad { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: calc(100vh - 63px); }
@media (max-width: 900px) { .cad { grid-template-columns: 1fr; min-height: 0; } }

.cad-lado { background: var(--ink); color: #fff; display: flex; align-items: center; }
.cad-lado-in { padding: 56px 48px; max-width: 520px; margin-left: auto; }
@media (max-width: 900px) { .cad-lado-in { padding: 32px 20px 28px; margin: 0; } }
.cad-produto { display: inline-block; font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #9ED9C4; margin-bottom: 14px; }
.cad-lado h1 { color: #fff; font-size: 2.6rem; line-height: 1.1; margin: 0 0 14px; letter-spacing: -.035em; }
@media (max-width: 900px) { .cad-lado h1 { font-size: 1.9rem; } }
.cad-lado .cad-sub { color: #C9D6D4; font-size: 1.05rem; line-height: 1.55; margin: 0 0 26px; }
.cad-pontos { margin: 0; }
.cad-pontos li { display: flex; align-items: center; gap: 12px; padding: 7px 0; color: #E6EEEC; }
.cad-pontos i { color: var(--verde); font-size: 22px; }
@media (max-width: 900px) { .cad-pontos { display: none; } }

.cad-form { display: flex; align-items: center; padding: 48px 40px; }
.cad-form form { width: 100%; max-width: 520px; }
@media (max-width: 900px) { .cad-form { padding: 24px 16px 40px; } }
.cad-form h2 { font-size: 1.5rem; margin: 0 0 18px; }
.cad-form .row { margin: 0 !important; }
.cad-form .row .col { padding-left: 0; padding-right: 0; }
.cad-form .row .col.m6:first-of-type { padding-right: 0; }
@media (min-width: 601px) { .cad-form .row .col.m6 + .col.m6 { padding-left: 16px; } }

.cad-planos { border: 0; padding: 0; margin: 0 0 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.cad-planos legend { font-size: .8rem; color: var(--texto-2); margin-bottom: 8px; padding: 0; }
.cad-plano { display: block; cursor: pointer; }
.cad-plano { position: relative; }
.cad-plano input[type=radio] { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.cad-plano-in { display: flex; flex-direction: column; gap: 2px; border: 1.5px solid var(--borda); border-radius: 12px; padding: 12px 14px; background: #fff; color: var(--texto); transition: border-color .15s, box-shadow .15s; }
.cad-plano-in strong { font-size: 1rem; }
.cad-preco { font-size: .8rem; color: var(--texto-2); }
.cad-plano input:checked + .cad-plano-in { border-color: var(--verde); box-shadow: 0 0 0 3px rgba(31,163,122,.15); }
.cad-plano input:focus-visible + .cad-plano-in { outline: 2px solid var(--ink); outline-offset: 2px; }

.cad-aceite { margin: 6px 0 22px; }
.cad-aceite .helper-text { display: block; margin: 6px 0 0 35px; font-size: .8rem; }
.cad-aceite label span { font-size: .88rem; color: var(--texto); line-height: 1.5; height: auto; }
.cad-enviar { width: 100%; font-size: 1.05rem; height: 56px; line-height: 56px; }
.cad-rodape { font-size: .8rem; color: var(--texto-2); text-align: center; margin-top: 14px; }

.cad-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.cad-unico { max-width: 560px; margin: 64px auto; padding: 0 16px; }
.cad-unico h1 { font-size: 1.8rem; margin: 8px 0 12px; }
.cad-unico .cad-sub { font-size: 1.05rem; color: var(--texto-2); }
.cad-ok { font-size: 64px; color: var(--verde); }

/* Termos e privacidade */
.legal { max-width: 760px; margin: 40px auto 64px; padding: 40px 48px; background: #fff; border: 1px solid var(--borda); border-radius: var(--raio); }
@media (max-width: 700px) { .legal { margin: 0; padding: 28px 18px; border-radius: 0; border-left: 0; border-right: 0; } }
.legal-topo { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--verde-escuro); margin: 0 0 8px; }
.legal h1 { font-size: 2rem; margin: 0 0 24px; line-height: 1.15; }
.legal-texto h2 { font-size: 1.1rem; margin: 28px 0 8px; letter-spacing: -.01em; }
.legal-texto p { line-height: 1.7; margin: 0 0 12px; color: #24393C; }
.legal-lista { margin: 0 0 12px; padding-left: 22px !important; }
.legal-lista li { list-style-type: disc !important; display: list-item; line-height: 1.65; color: #24393C; margin-bottom: 4px; }
.legal-rodape { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--borda); font-size: .9rem; color: var(--texto-2); }
.cad-links { text-align: center; font-size: .82rem; margin-top: 10px; }
.cad-links a { color: var(--texto-2); text-decoration: underline; }
