/* ESCO – aspeto dos formulários (Forminator) */
body .forminator-ui.forminator-custom-form{--ef-navy:#0B4F6C;--ef-blue:#0A7FA6;--ef-cyan:#00A6D4;--ef-claro:#EEF7FA;--ef-linha:#DCEBF1;--ef-txt:#2C3338;--ef-cinza:#6B7B83;--ef-erro:#C0392B;font-family:Poppins,system-ui,sans-serif!important;color:var(--ef-txt);background:#fff;border:1px solid var(--ef-linha);border-radius:18px;box-shadow:0 8px 30px rgba(11,79,108,.08);padding:26px 28px!important;max-width:860px;margin:10px auto 30px!important}
@media(max-width:640px){body .forminator-ui.forminator-custom-form{padding:18px!important;border-radius:14px}}
body .forminator-ui.forminator-custom-form *{font-family:inherit!important}
body .forminator-ui.forminator-custom-form .forminator-row{margin-bottom:16px!important}
body .forminator-ui.forminator-custom-form .forminator-label{font-weight:500!important;font-size:14px!important;color:#083a50!important;margin-bottom:6px!important;text-transform:none!important}
body .forminator-ui.forminator-custom-form .forminator-required{color:var(--ef-erro)!important}
body .forminator-ui.forminator-custom-form .forminator-description{font-size:12.5px!important;color:var(--ef-cinza)!important}
body .forminator-ui.forminator-custom-form input.forminator-input,
body .forminator-ui.forminator-custom-form textarea.forminator-textarea,
body .forminator-ui.forminator-custom-form .select2-selection,
body .forminator-ui.forminator-custom-form select{border:1.5px solid var(--ef-linha)!important;border-radius:12px!important;background:#fff!important;padding:11px 14px!important;font-size:15px!important;color:var(--ef-txt)!important;min-height:46px;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
body .forminator-ui.forminator-custom-form textarea.forminator-textarea{min-height:120px}
body .forminator-ui.forminator-custom-form input.forminator-input:focus,
body .forminator-ui.forminator-custom-form textarea.forminator-textarea:focus,
body .forminator-ui.forminator-custom-form .select2-container--open .select2-selection{border-color:var(--ef-blue)!important;box-shadow:0 0 0 4px rgba(10,127,166,.12)!important;outline:none!important}
body .forminator-ui.forminator-custom-form .forminator-has_error input.forminator-input,
body .forminator-ui.forminator-custom-form .forminator-has_error textarea,
body .forminator-ui.forminator-custom-form .forminator-has_error .select2-selection{border-color:var(--ef-erro)!important}
body .forminator-ui.forminator-custom-form .forminator-error-message{color:var(--ef-erro)!important;background:none!important;font-size:12.5px!important;padding:4px 0 0!important}
/* escolhas */
body .forminator-ui.forminator-custom-form .forminator-checkbox,
body .forminator-ui.forminator-custom-form .forminator-radio{display:flex!important;align-items:flex-start;gap:10px;border:1.5px solid var(--ef-linha);border-radius:12px;padding:10px 12px!important;margin:0 0 8px!important;background:#fff;cursor:pointer;transition:.15s}
body .forminator-ui.forminator-custom-form .forminator-checkbox:hover,
body .forminator-ui.forminator-custom-form .forminator-radio:hover{border-color:var(--ef-cyan)}
body .forminator-ui.forminator-custom-form .forminator-checkbox:has(input:checked),
body .forminator-ui.forminator-custom-form .forminator-radio:has(input:checked){border-color:var(--ef-blue);background:var(--ef-claro)}
body .forminator-ui.forminator-custom-form .forminator-checkbox-box,
body .forminator-ui.forminator-custom-form .forminator-radio-bullet{border-color:#9DB8C4!important}
body .forminator-ui.forminator-custom-form input:checked+.forminator-checkbox-box,
body .forminator-ui.forminator-custom-form input:checked+.forminator-radio-bullet{background:var(--ef-blue)!important;border-color:var(--ef-blue)!important}
body .forminator-ui.forminator-custom-form .forminator-consent .forminator-checkbox{border:0;padding:0!important;background:none}
/* secções = títulos de grupo */
body .forminator-ui.forminator-custom-form .forminator-title{font-size:12px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ef-blue)!important;font-weight:600!important;margin:6px 0 2px!important;display:flex;align-items:center;gap:10px}
body .forminator-ui.forminator-custom-form .forminator-title:after{content:"";flex:1;height:1px;background:var(--ef-linha)}
body .forminator-ui.forminator-custom-form .forminator-border{display:none!important}
/* total */
body .forminator-ui.forminator-custom-form .forminator-field-calculation input,
body .forminator-ui.forminator-custom-form input.forminator-calculation{background:var(--ef-navy)!important;color:#fff!important;border-color:var(--ef-navy)!important;font-weight:700!important;font-size:20px!important;text-align:right}
/* ficheiros */
body .forminator-ui.forminator-custom-form .forminator-file-upload{border:2px dashed var(--ef-linha);border-radius:14px;padding:18px;background:#FAFDFE;display:flex!important;align-items:center;gap:12px;flex-wrap:wrap}
body .forminator-ui.forminator-custom-form .forminator-file-upload:hover{border-color:var(--ef-blue);background:var(--ef-claro)}
body .forminator-ui.forminator-custom-form .forminator-button-upload{background:#fff!important;color:var(--ef-navy)!important;border:1.5px solid var(--ef-linha)!important;border-radius:10px!important;box-shadow:none!important}
/* botões */
body .forminator-ui.forminator-custom-form .forminator-button{font-weight:600!important;font-size:15px!important;border-radius:12px!important;padding:13px 26px!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
body .forminator-ui.forminator-custom-form .forminator-button-submit,
body .forminator-ui.forminator-custom-form .forminator-button-next{background:var(--ef-blue)!important;color:#fff!important;border:0!important}
body .forminator-ui.forminator-custom-form .forminator-button-submit:hover,
body .forminator-ui.forminator-custom-form .forminator-button-next:hover{background:var(--ef-navy)!important}
body .forminator-ui.forminator-custom-form .forminator-button-back{background:#fff!important;color:var(--ef-navy)!important;border:1.5px solid var(--ef-linha)!important}
/* passos */
body .forminator-ui.forminator-custom-form .forminator-pagination-steps .forminator-break{background:var(--ef-linha)!important}
body .forminator-ui.forminator-custom-form .forminator-pagination-steps .forminator-step-current .forminator-step-dot,
body .forminator-ui.forminator-custom-form .forminator-pagination-steps .forminator-step-done .forminator-step-dot{background:var(--ef-blue)!important;border-color:var(--ef-blue)!important}
body .forminator-ui.forminator-custom-form .forminator-pagination-steps .forminator-step-label{font-size:12px!important;color:var(--ef-cinza)!important;text-transform:none!important}
body .forminator-ui.forminator-custom-form .forminator-pagination-steps .forminator-step-current .forminator-step-label{color:var(--ef-navy)!important;font-weight:600!important}
body .forminator-ui.forminator-custom-form .forminator-pagination-progress .forminator-progress-bar span{background:var(--ef-blue)!important}
/* mensagens */
body .forminator-ui.forminator-custom-form .forminator-response-message.forminator-success{background:#E6F4EA!important;color:#1E6B3A!important;border-radius:14px!important;padding:18px 20px!important;box-shadow:none!important}
body .forminator-ui.forminator-custom-form .forminator-response-message.forminator-success *{color:#1E6B3A!important}
body .forminator-ui.forminator-custom-form .forminator-response-message.forminator-error{border-radius:12px!important}
/* ícone do calendário dentro do campo, sem sobrepor o texto */
body .forminator-ui.forminator-custom-form .forminator-input-with-icon{position:relative!important;display:block!important}
body .forminator-ui.forminator-custom-form .forminator-input-with-icon [class*="forminator-icon-"]{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;color:#0A7FA6!important;pointer-events:none;z-index:2;line-height:1!important}
body .forminator-ui.forminator-custom-form .forminator-input-with-icon input.forminator-input{padding-left:44px!important}
body .forminator-ui.forminator-custom-form .forminator-pagination-steps .forminator-step-label{white-space:normal!important;max-width:160px;line-height:1.3!important}
body .forminator-ui.forminator-custom-form .forminator-field input.forminator-input,body .forminator-ui.forminator-custom-form .forminator-field textarea{margin:0!important;width:100%!important}
/* ESCO – tabelas, separadores e páginas legais */
.esco-table-wrap{overflow-x:auto;margin:16px 0;border:1px solid #DCEBF1;border-radius:14px}
.esco-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45;margin:0!important;border:0!important}
.esco-table th{background:#0B4F6C;color:#fff;font-weight:600;padding:11px 14px;text-align:center;border:0!important;white-space:nowrap}
.esco-table td{padding:11px 14px;border:0!important;border-top:1px solid #DCEBF1!important;text-align:center;vertical-align:middle;color:#2C3338}
.esco-table th:first-child,.esco-table td:first-child{text-align:left}
.esco-table tbody tr:nth-child(even) td{background:#F6FAFC}
.esco-table td.w{font-weight:700;color:#0A7FA6;white-space:nowrap}
.esco-table-left th,.esco-table-left td{text-align:left;vertical-align:top}
.esco-av-tabs{margin:26px 0 10px}
.esco-av-tabs input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.esco-av-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 22px}
@media(max-width:900px){.esco-av-btns{grid-template-columns:repeat(2,1fr)}}
.esco-av-btns label{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:74px;border:1.5px solid #DCEBF1;border-radius:14px;padding:12px 16px;cursor:pointer;background:#fff;color:#0B4F6C;font-weight:600;font-size:15px;line-height:1.25;transition:.15s;margin:0}
.esco-av-btns label:hover{border-color:#00A6D4;background:#EEF7FA}
.esco-av-btns label small{font-weight:400;font-size:12.5px;color:#6B7B83}
.esco-av-panel{display:none;animation:escoFade .25s}
@keyframes escoFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.esco-av-tabs:has(#esco-av1:checked) label[for=esco-av1],.esco-av-tabs:has(#esco-av2:checked) label[for=esco-av2],.esco-av-tabs:has(#esco-av3:checked) label[for=esco-av3],.esco-av-tabs:has(#esco-av4:checked) label[for=esco-av4]{background:#0B4F6C;border-color:#0B4F6C;color:#fff}
.esco-av-tabs:has(#esco-av1:checked) label[for=esco-av1] small,.esco-av-tabs:has(#esco-av2:checked) label[for=esco-av2] small,.esco-av-tabs:has(#esco-av3:checked) label[for=esco-av3] small,.esco-av-tabs:has(#esco-av4:checked) label[for=esco-av4] small{color:#cfe8f1}
.esco-av-tabs:has(#esco-av1:checked) .esco-av-p1,.esco-av-tabs:has(#esco-av2:checked) .esco-av-p2,.esco-av-tabs:has(#esco-av3:checked) .esco-av-p3,.esco-av-tabs:has(#esco-av4:checked) .esco-av-p4{display:block}
.esco-av-panel h2 small{font-size:.6em;color:#6B7B83;font-weight:500}
.esco-av-scale{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.esco-av-scale span{background:#EEF7FA;border-radius:999px;padding:5px 12px;font-size:13px;color:#083a50}
.esco-av-scale b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#0A7FA6;color:#fff;font-size:11px;margin-right:6px}
.esco-av-formula{background:#EEF7FA;border-left:4px solid #00A6D4;border-radius:10px;padding:12px 16px;margin:14px 0;font-weight:600;color:#083a50;font-size:14.5px}
.esco-av-formula span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#0A7FA6;margin-bottom:3px}
.esco-av-classes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 6px}
@media(max-width:640px){.esco-av-classes{grid-template-columns:1fr}}
.esco-av-classes div{border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.esco-av-classes b{font-size:15px}.esco-av-classes span{font-size:22px;font-weight:700}
.esco-av-classes .a{background:#E6F4EA;color:#1E6B3A}.esco-av-classes .b{background:#E3F2FB;color:#0A5E80}.esco-av-classes .c{background:#FDECEA;color:#A93226}
.esco-av-note{font-size:13px;color:#6B7B83}
.esco-av-result{border:1px solid #DCEBF1;border-radius:14px;padding:12px 16px;margin:16px 0 0;font-size:14px}
.esco-av-result p{margin:0}
.esco-av-iso{margin-top:26px}
.esco-legal-sec{border:1px solid #DCEBF1;border-radius:16px;padding:22px 26px;margin:18px 0;background:#fff;scroll-margin-top:120px}
@media(max-width:640px){.esco-legal-sec{padding:18px}}
.esco-legal-sec h2{display:flex;align-items:center;gap:12px;margin-top:0!important}
.esco-legal-sec h2 .n{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:#0B4F6C;color:#fff;font-size:16px}
.esco-legal-sec ul{margin:6px 0 12px 20px}
.esco-legal-card{background:#EEF7FA;border-radius:12px;padding:14px 18px;margin:12px 0}
.esco-legal-card p{margin:0 0 6px}
.esco-rights{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0 16px}
.esco-rights div{border:1px solid #DCEBF1;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;font-size:14px}
.esco-rights strong{color:#0B4F6C}
.esco-legal-date{font-size:13px;color:#6B7B83;border-top:1px solid #DCEBF1;padding-top:10px;margin-top:14px}
