/* Formulário do Diagnóstico Subverso (popup e página própria). Os seletores levam o prefixo .rb-dx-form
 * para vencer as regras gerais do site (body.rb-site a / button / input). */
.rb-dx-form{--dx-red:#D1001C;--dx-ink:#111110;--dx-sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--dx-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:0 clamp(20px,4.4vw,52px) clamp(18px,3vw,28px);color:#fff;font-family:var(--dx-sans)}
.rb-dx-form *,.rb-dx-form *::before,.rb-dx-form *::after{box-sizing:border-box}
.rb-dx-form .rb-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rb-dx-form [hidden]{display:none!important}

/* Topo: contador e barra de progresso (só com JavaScript) */
.rb-dx-form .rb-dx-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:22px;margin-top:4px}
.rb-dx-form .rb-dx-count{font:700 11px/1.5 var(--dx-sans);letter-spacing:.13em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.rb-dx-form .rb-dx-restart{padding:6px 0;border:0;background:none;color:#fff;font:600 12px/1.4 var(--dx-sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rb-dx-form .rb-dx-progress{position:relative;height:3px;margin:8px 0 0;background:rgba(255,255,255,.34);overflow:hidden}
.rb-dx-form .rb-dx-progress span{display:block;height:100%;width:8%;background:#fff;transition:width .3s ease}
.rb-dx-form .rb-dx-resume{margin:14px 0 0;font-size:14px;line-height:1.45;color:#fff}

/* Palco: a tela atual */
.rb-dx-form .rb-dx-stage{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding-block:clamp(18px,3.4vw,34px)}
.rb-dx-form.is-enhanced .rb-dx-stage{overflow-y:auto;justify-content:center;overscroll-behavior:contain}
.rb-dx-form .rb-dx-step{min-width:0;margin:0 0 clamp(28px,4vw,44px);padding:0;border:0;display:flex;flex-direction:column;gap:16px}
.rb-dx-form.is-enhanced .rb-dx-step{margin:0}
.rb-dx-form .rb-dx-step legend{display:block;float:left;width:100%;margin:0 0 6px;padding:0}
.rb-dx-form .rb-dx-kicker{display:block;font:700 11px/1.6 var(--dx-sans);letter-spacing:.13em;text-transform:uppercase;color:#fff}
.rb-dx-form .rb-dx-step legend strong{display:block;margin-top:12px;font:500 clamp(26px,5.2vw,42px)/1.12 var(--dx-serif);letter-spacing:-.015em;text-wrap:balance;clear:both}
.rb-dx-form .rb-dx-optional{font:500 .46em/1 var(--dx-sans);letter-spacing:.02em;white-space:nowrap;opacity:1}
.rb-dx-form .rb-dx-help{clear:both;margin:0;max-width:34em;font-size:15px;line-height:1.55;color:#fff;text-wrap:pretty}
.rb-dx-form .rb-dx-step[hidden]{display:none}
.rb-dx-form .rb-dx-step.is-entering{animation:rb-dx-in .26s ease both}
@keyframes rb-dx-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rb-dx-form.is-enhanced .rb-dx-label-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.rb-dx-form .rb-dx-field{clear:both;display:grid;gap:8px;font-size:13px;font-weight:700}
.rb-dx-form .rb-dx-field :is(input,textarea){width:100%;min-height:56px;padding:14px 16px;border:2px solid transparent;border-radius:10px;background:#fff;color:#161615;font:400 18px/1.4 var(--dx-sans)}
.rb-dx-form .rb-dx-field textarea{min-height:150px;resize:vertical}
.rb-dx-form .rb-dx-field :is(input,textarea)::placeholder{color:#716d69;opacity:1}
.rb-dx-form .rb-dx-field :is(input,textarea):focus{outline:3px solid var(--dx-ink);outline-offset:2px}
.rb-dx-form :is(input,textarea)[aria-invalid="true"]{border-color:var(--dx-ink);box-shadow:0 0 0 2px #fff}

/* Escolhas */
.rb-dx-form .rb-dx-choices{clear:both;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.rb-dx-form .rb-dx-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border:2px solid rgba(255,255,255,.62);border-radius:12px;color:#fff;font:600 16px/1.35 var(--dx-sans);cursor:pointer;transition:background-color .15s ease,color .15s ease}
.rb-dx-form .rb-dx-choice:hover{background:rgba(255,255,255,.14)}
.rb-dx-form .rb-dx-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rb-dx-form .rb-dx-choice span{display:block;position:relative;padding-left:32px;text-wrap:pretty}
.rb-dx-form .rb-dx-choice span::before{content:"";position:absolute;left:0;top:50%;width:20px;height:20px;margin-top:-10px;border:2px solid currentColor;border-radius:50%}
.rb-dx-form .rb-dx-choice input:checked + span::after{content:"";position:absolute;left:5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:currentColor}
.rb-dx-form .rb-dx-choice:has(input:checked){background:#fff;color:#161615;border-color:#fff}
.rb-dx-form .rb-dx-choice:has(input:focus-visible){outline:3px solid #fff;outline-offset:3px}
@media(min-width:620px){.rb-dx-form .rb-dx-choices[data-short]{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Consentimento, avisos e erros */
.rb-dx-form .rb-dx-consent{clear:both;display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;margin-top:4px;font-size:14px;line-height:1.5;color:#fff}
.rb-dx-form .rb-dx-consent input{width:20px;height:20px;margin:2px 0 0;accent-color:#111110}
.rb-dx-form .rb-dx-consent span{text-wrap:pretty}
.rb-dx-form .rb-dx-note{margin:0;font-size:13px;line-height:1.5;color:#fff;text-wrap:pretty}
.rb-dx-form .rb-dx-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.rb-dx-form .rb-dx-error{margin:0;padding:10px 12px;border-radius:10px;background:#fff;color:#8a0014;font-size:14px;font-weight:600;line-height:1.4}
.rb-dx-form .rb-dx-error[hidden]{display:none}
.rb-dx-form .rb-dx-error--form{margin-top:12px}
.rb-dx-form .rb-dx-hint{margin:10px 0 0;font-size:12px;color:#fff}

/* Botões */
.rb-dx-form .rb-dx-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:6px}
.rb-dx-form .rb-dx-next,.rb-dx-form .rb-dx-submit{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:14px 26px;border:0;border-radius:999px;background:#fff;color:#161615;font:700 14px/1.25 var(--dx-sans);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .15s ease}
.rb-dx-form .rb-dx-next{margin-left:auto}
.rb-dx-form .rb-dx-next:hover,.rb-dx-form .rb-dx-submit:hover{background:#f3ede6}
.rb-dx-form .rb-dx-next[aria-disabled="true"]{opacity:.65;cursor:progress}
.rb-dx-form .rb-dx-back,.rb-dx-form .rb-dx-skip,.rb-dx-form .rb-dx-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;border:0;background:none;color:#fff;font:600 14px/1.3 var(--dx-sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.rb-dx-form .rb-dx-skip{margin-left:auto}
.rb-dx-form .rb-dx-skip + .rb-dx-next{margin-left:0}
.rb-dx-form .rb-dx-submit{align-self:flex-start;margin-top:8px}
.rb-dx-form.is-enhanced .rb-dx-submit{display:none}
.rb-dx-form :is(button,a,input[type=checkbox]):focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Tela final */
.rb-dx-done{padding-block:clamp(24px,4vw,48px);display:grid;gap:14px;justify-items:start}
.rb-dx-done h2{margin:0;font:500 clamp(30px,6vw,46px)/1.1 var(--dx-serif,'Playfair Display',Georgia,serif);letter-spacing:-.015em;text-wrap:balance}
.rb-dx-done p{margin:0;max-width:30em;font-size:17px;line-height:1.55;text-wrap:pretty}
.rb-dx-done .rb-dx-kicker{margin:0}
.rb-dx-done:focus{outline:none}
.rb-dx-done-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:10px}
.rb-dx-form .rb-dx-done[hidden]{display:none!important}

/* Popup */
.rb-modal--dx{width:min(780px,calc(100vw - 32px));height:min(820px,calc(100vh - 32px));height:min(820px,calc(100dvh - 32px));margin:auto}
.rb-modal--dx .rb-modal-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#D1001C;color:#fff}
.rb-modal--dx .rb-modal-eyebrow{color:#fff}
.rb-modal--dx .rb-modal-close{background:rgba(255,255,255,.18)}
.rb-modal--dx .rb-modal-close:hover{background:rgba(255,255,255,.3)}
.rb-modal--dx :is(button,a):focus-visible{outline-color:#fff}
@media(max-width:640px){
  .rb-modal--dx{width:100vw;height:100vh;height:100dvh}
  .rb-modal--dx .rb-modal-panel{border-radius:0}
}

/* Página própria (/diagnostico-subverso/?aplicar=1) */
.rb-dx-page{background:#D1001C;color:#fff;padding-block:clamp(48px,8vw,110px)}
.rb-dx-page .rb-dx-page-head{max-width:760px;margin:0 auto clamp(16px,3vw,32px);padding-inline:clamp(20px,4.4vw,52px)}
.rb-dx-page h1{margin:12px 0 0;font:500 clamp(34px,6vw,62px)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-.02em;text-wrap:balance}
.rb-dx-page .rb-dx-page-box{max-width:760px;margin:0 auto}
.rb-dx-page .rb-dx-form{min-height:520px}
.rb-dx-page .rb-dx-done.is-static{padding-inline:clamp(20px,4.4vw,52px)}
.rb-dx-page .rb-dx-error--form{margin-inline:clamp(20px,4.4vw,52px)}
.rb-dx-page .rb-dx-kicker{color:#fff}

@media(prefers-reduced-motion:reduce){.rb-dx-form .rb-dx-step.is-entering{animation:none}.rb-dx-form .rb-dx-progress span,.rb-dx-form .rb-dx-choice{transition:none}}
@media(forced-colors:active){
  .rb-dx-form .rb-dx-choice,.rb-dx-form .rb-dx-field :is(input,textarea){border:2px solid CanvasText}
  .rb-dx-form .rb-dx-next,.rb-dx-form .rb-dx-submit{border:2px solid ButtonText}
}
