/* Paleta DII Brasil: roxo #321f4d · verde #258232 · verde-claro #d0f0bf · amarelo #f3b61f · lavanda #eeebf2 */
.dii-app,.dii-app input,.dii-app select,.dii-app textarea,.dii-app button{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif!important}
.dii-app pre,.dii-app code{white-space:normal;background:none;padding:0;border:0}
.dii-app{max-width:900px;margin:64px auto 80px;padding:0 16px;font-size:16px;line-height:1.55;color:#1f2933;text-align:left}
.dii-app *{box-sizing:border-box}
.dii-app [hidden]{display:none!important}
.dii-title{margin:0 0 .5em;font-size:1.7em}
.dii-consent{background:#eeebf2;border-left:4px solid #321f4d;padding:12px 16px;border-radius:4px;font-size:.95em}
.dii-q{padding:18px 0;border-bottom:1px solid #e5e7eb}
.dii-q[hidden]{display:none}
.dii-label{font-weight:600;margin-bottom:10px}
.dii-num-q{color:#321f4d}
.dii-options{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 28px}
.dii-opt{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.dii-opt input{margin:0;flex:none}
.dii-text,.dii-input,.dii-textarea,.dii-select{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:6px;font:inherit}
.dii-text{margin-top:6px;min-width:260px}
.dii-text[hidden]{display:none}
.dii-scale{display:flex;flex-wrap:wrap;gap:6px}
.dii-num{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;position:relative;background:#fff}
.dii-num input{position:absolute;opacity:0;inset:0;cursor:pointer}
.dii-num:has(input:checked){background:#321f4d;color:#fff;border-color:#321f4d}
.dii-anchors{display:flex;justify-content:space-between;font-size:.85em;color:#6b7280;margin-top:6px}
.dii-matrix-wrap{overflow-x:auto}
.dii-matrix{border-collapse:collapse;width:100%;min-width:480px}
.dii-matrix th,.dii-matrix td{padding:8px;border-bottom:1px solid #eef0f3;text-align:center}
.dii-matrix th[scope=row],.dii-matrix thead th:first-child{text-align:left;font-weight:500}
.dii-matrix td input{width:20px;height:20px;cursor:pointer}
.dii-error{color:#b91c1c;font-size:.9em;margin-top:6px;min-height:0}
.dii-invalid .dii-label{color:#b91c1c}
.dii-invalid .dii-opt span,.dii-invalid .dii-num,.dii-invalid .dii-input,.dii-invalid .dii-textarea,.dii-invalid .dii-select{border-color:#b91c1c}
.dii-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.dii-status{margin:16px 0 8px;font-weight:600}
.dii-submit{background:#258232;color:#fff;border:0;border-radius:6px;padding:14px 28px;font-size:1em;cursor:pointer}
.dii-submit:hover{background:#1c6a27}
.dii-submit:disabled{opacity:.6;cursor:wait}
.dii-thanks{text-align:center;padding:48px 16px}
@media(max-width:600px){.dii-num{min-width:38px;height:38px}}

/* Faixa de título (largura total, roxo da DII Brasil) com o logo */
.dii-page{overflow-x:hidden}
.dii-page .page-header,.dii-page .entry-header{display:none}
.dii-banner{background:#321f4d;background-image:radial-gradient(90% 140% at 85% 0%,#4b2f73 0%,rgba(75,47,115,0) 60%);color:#fff;text-align:center;padding:34px 16px;width:100vw;margin-left:calc(50% - 50vw);box-sizing:border-box}
.dii-banner-in{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,36px);flex-wrap:wrap;text-align:left}
.dii-banner-logo{background:#fff;border-radius:16px;padding:10px 14px 8px;box-shadow:0 14px 30px -14px rgba(0,0,0,.55);flex:none}
.dii-banner-title{margin:0;color:#fff!important;text-transform:uppercase;font-size:clamp(22px,3.4vw,38px);line-height:1.2;letter-spacing:.01em;font-family:inherit}
.dii-banner-title span{font-weight:300}
.dii-banner-title strong{font-weight:800}
@media(max-width:640px){.dii-banner-in{flex-direction:column;text-align:center}}

/* Logo (emblema provisório ou arquivo original) */
.dii-logo{display:inline-flex;flex-direction:column;align-items:center;gap:.25em;line-height:1}
.dii-logo svg{width:100%;height:auto;aspect-ratio:1;display:block}
.dii-logo-name{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif!important;font-weight:700;letter-spacing:.02em;color:#1d1d1f;white-space:nowrap}
.dii-logo--md{width:96px;font-size:24px}
.dii-logo-img{height:auto;width:110px;display:block}

/* Lista pública de formulários e aviso de formulário inativo */
.dii-list{max-width:1120px;margin:64px auto 80px;padding:0 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.dii-card-pub{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e5e7eb;border-top:5px solid #f3b61f;border-radius:12px;padding:28px 26px;text-decoration:none!important;color:#1f2933!important;box-shadow:0 2px 10px rgba(50,31,77,.06);transition:transform .15s,box-shadow .15s}
.dii-card-pub:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(50,31,77,.14)}
.dii-card-pub h2{margin:0;font-size:1.3em;line-height:1.25;color:#321f4d;text-transform:none}
.dii-card-pub p{margin:0;color:#4b5563;flex:1}
.dii-card-btn{align-self:flex-start;margin-top:6px;background:#321f4d;color:#fff;border-radius:6px;padding:10px 22px;font-weight:600}
.dii-card-pub:hover .dii-card-btn{background:#258232}
.dii-empty{grid-column:1/-1;text-align:center;color:#6b7280;padding:32px 0}
.dii-closed{text-align:center;padding:40px 16px;background:#eeebf2;border-radius:12px}
.dii-closed h2{margin:0 0 8px;color:#321f4d}
.dii-admin-note{margin-top:16px;padding:10px 14px;background:#fff7e6;border-left:4px solid #f3b61f;font-size:.9em}

/* Modo "uma pergunta por tela": letras e botões maiores, para facilitar em celulares */
.dii-steps{min-height:62vh}
.dii-steps .dii-q{border-bottom:0;padding:8px 0 4px;min-height:220px;outline:0}
.dii-steps .dii-label{font-size:1.35em;line-height:1.35;margin-bottom:18px;color:#321f4d}
.dii-steps .dii-opt{font-size:1.1em;padding:6px 0}
.dii-steps .dii-opt input{width:24px;height:24px}
.dii-steps .dii-options{gap:14px 32px}
.dii-steps .dii-select,.dii-steps .dii-input,.dii-steps .dii-textarea,.dii-steps .dii-text{font-size:1.1em;padding:14px}
.dii-steps .dii-matrix td input{width:24px;height:24px}
.dii-steps .dii-num{min-width:48px;height:48px;font-size:1.1em}
.dii-steps .dii-error{font-size:1em;font-weight:600;margin-top:14px}
.dii-progress{margin:0 0 22px}
.dii-prog-text{display:block;font-size:.95em;color:#4b5563;margin-bottom:8px;font-weight:600}
.dii-prog-track{height:10px;border-radius:5px;background:#e5e7eb;overflow:hidden}
.dii-prog-bar{display:block;height:100%;width:0;background:#258232;border-radius:5px;transition:width .25s}
.dii-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.dii-btn,.dii-steps .dii-submit{font-size:1.1em;padding:16px 32px;border:0;border-radius:8px;cursor:pointer;font-weight:600;min-width:140px}
.dii-steps .dii-submit{background:#258232;color:#fff}
.dii-steps .dii-submit:hover{background:#1c6a27}
.dii-btn-back{background:#e5e7eb;color:#1f2933}
.dii-btn-back:hover{background:#d1d5db}
.dii-steps .dii-nav .dii-submit{margin-left:auto}

/* Termo (TCLE) e opções de aceite */
.dii-intro{margin-bottom:6px}
.dii-tcle{max-height:52vh;overflow:auto;border:1px solid #d9d3e3;border-radius:12px;background:#fff;padding:22px 24px;line-height:1.6;font-size:1rem;scrollbar-width:thin}
.dii-tcle:focus-visible{outline:3px solid #f3b61f}
.dii-tcle-title{margin:0 0 4px;font-size:1.15em;font-weight:800;color:#321f4d;letter-spacing:.01em}
.dii-tcle-sub{margin:0 0 16px;font-weight:700;color:#4b2f73}
.dii-tcle-h{margin:20px 0 6px;font-size:1.05em;font-weight:800;color:#321f4d}
.dii-tcle p{margin:0 0 .9em}
.dii-tcle a{color:#1f5fbf;text-decoration:underline}
.dii-tcle-hint{margin:8px 2px 0;font-size:.88em;color:#6b5f7b}
.dii-choices{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.dii-choice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:2px solid #d9d3e3;border-radius:12px;cursor:pointer;font-weight:700;line-height:1.4;background:#fff;transition:border-color .2s,background .2s}
.dii-choice:hover{border-color:#321f4d}
.dii-choice input{margin:3px 0 0;width:22px;height:22px;flex:none;accent-color:#321f4d}
.dii-choice:has(input:checked){border-color:#321f4d;background:#eeebf2}
.dii-choice--no:has(input:checked){border-color:#6b5f7b;background:#f4f2f7}
.dii-decline{text-align:center;padding:40px 18px;background:#eeebf2;border-radius:16px}
.dii-decline h2{margin:0 0 10px;color:#321f4d}
.dii-decline p{margin:0 0 20px;color:#4b3f5f}
.dii-btn-link{background:none;border:0;color:#321f4d;font-weight:700;text-decoration:underline;font-size:1em;cursor:pointer;padding:10px}
