﻿/**
 * Forminator quiz + leads — overrides do tema Vivazmente
 *
 * Fase B: migrado de css/layout/global.css (quiz, intro, resultado, paginação, leads).
 * Carrega depois de layout/global.css e components/buttons.css (prioridade 99999).
 *
 * Estrutura (um ficheiro — selectores genéricos, sem IDs Forminator):
 *   A. Partilhado — todos os quizzes (.forminator-ui.forminator-quiz, id^=forminator-module-)
 *   B. Quiz landing — page-teste / marketing (.forminator-quiz-start)
 *   C. Excepções por página — slug WP (.page-teste-quiz-gds-15, etc.)
 *
 * JS associado: js/main.js (autostart, rodapé, leads, .th-quiz-step-result)
 */

/* ══════════════════════════════════════════════════════════════════════════
   B. Quiz landing (page-teste) — botão marketing «Fazer o Teste / INICIAR»
   ══════════════════════════════════════════════════════════════════════════ */

.forminator-quiz-start{
    width:230px;
    min-height:79px;
    background: var(--color-primary-accent) !important;
    border-radius:80px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:.75rem 1rem;
    border:none;
    text-decoration:none;
}

.forminator-quiz-start::before{
    content:"Fazer o Teste";
    font-size: var(--font-size-14);
    font-weight: 600;
    color:var(--color-surface-base);
    line-height:1.2;
    display:block;
}

.forminator-quiz-start{
    font-size: var(--font-size-0) !important;
}


.forminator-quiz-start::after{
    content:"INICIAR";
    font-size: var(--font-size-24);
    font-weight: 600;
    color: var(--color-accent-warning-strong);
    line-height:1.2;
    display:block;
}

.forminator-quiz-start{
	display:none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   A. Partilhado — todos os quizzes Forminator
   ══════════════════════════════════════════════════════════════════════════ */

/* A.1 Focus e acessibilidade */

/* Forminator: sem outline/box-shadow no focus de campos (botões → buttons.css) */
.forminator-ui input:focus,
.forminator-ui input:focus-visible,
.forminator-ui select:focus,
.forminator-ui select:focus-visible,
.forminator-ui textarea:focus,
.forminator-ui textarea:focus-visible{
    outline:none !important;
    box-shadow:none !important;
}

/* form.forminator-quiz recebe tabindex="-1" e focus programático do JS no page load —
   confirmado via DevTools: elemento focado é form[id^="forminator-module-"].forminator-quiz */
form[id^="forminator-module-"].forminator-ui.forminator-quiz:focus,
form[id^="forminator-module-"].forminator-ui.forminator-quiz:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* .forminator-question[tabindex="0"] e .forminator-pagination recebem focus programático
   do JS no page load — suprimir outline nesses containers; feedback de teclado mantido
   pelo focus ring nas .forminator-answer individuais (ver regra abaixo) */
body .forminator-ui .forminator-question:focus,
body .forminator-ui .forminator-question:focus-visible,
body .forminator-ui .forminator-pagination:focus,
body .forminator-ui .forminator-pagination:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Fallback de especificidade — cobre o caso do UA :focus-visible ganhar por cascade position */
.forminator-question[tabindex="0"]:focus-visible {
    outline: none !important;
}

/* Focus ring nas respostas individuais para navegação por teclado (setas ↑↓ dentro do radiogroup).
   input[type="radio"] fica focado mas está visualmente oculto — feedback via :has() no label. */
body .forminator-ui .forminator-answer:has(input[type="radio"]:focus-visible) {
    outline: 2px solid var(--color-interactive) !important;
    outline-offset: 3px;
    border-radius: 6px;
}

/* Forminator quiz: wrapper de leads — sobrepor max-width 600px do plugin — usa largura da coluna Bootstrap (.page-teste) */
[id^="forminator-quiz-leads-"].forminator-ui{
    max-width: 100% !important;
}

/* Forminator quiz: removido o bloqueio de cliques no submit (pointer-events:none via .th-quiz-leads-form-visible): markup dev/prod variável. */

/* A.2 Intro do quiz */

/* Forminator quiz — ecrã intro: cartão, tipografia e botões alinhados ao tema */
.forminator-quiz-intro{
    box-sizing: border-box;
    border-radius: var(--radius-lg);
    background-color: var(--color-surface-base);
    border: 1px solid color-mix(in srgb, var(--color-primary-dark) 12%, transparent);
    box-shadow: 0 4px 24px color-mix(in srgb, var(--color-primary-dark) 8%, transparent);
    padding: clamp(1.25rem, 4vw, 2rem);
    margin: 0 auto 1.5rem;
    max-width: 42rem;
    text-align: left;
    color: var(--color-text-primary);
}

.forminator-quiz-intro :last-child{
    margin-bottom: 0;
}

.forminator-quiz-intro h1,
.forminator-quiz-intro h2,
.forminator-quiz-intro h3,
.forminator-quiz-intro .forminator-title{
    color: var(--color-primary-dark);
    font-weight: 600;
    font-size: var(--font-size-22);
    line-height: 1.25;
    margin: 0 0 0.75rem;
}

.forminator-quiz-intro h1{
    font-size: var(--font-size-24);
}

.forminator-quiz-intro p,
.forminator-quiz-intro .forminator-description,
.forminator-quiz-intro .forminator-subtitle{
    font-size: var(--font-size-16);
    line-height: 1.55;
    color: var(--color-text-primary);
    margin: 0 0 1rem;
}

.forminator-quiz-intro img,
.forminator-quiz-intro .forminator-image img{
    border-radius: var(--radius-lg);
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1rem;
}

.forminator-quiz-intro .forminator-button,
.forminator-quiz-intro button.forminator-button,
.forminator-quiz-intro .forminator-button-link,
.forminator-quiz-intro a.forminator-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--size-form-submit-min-height);
    padding: 0.65rem 1.5rem;
    border-radius: 999px;
    border: none;
    background-color: var(--color-primary-accent);
    color: var(--color-surface-base) !important;
    font-size: var(--font-size-16);
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
    transition: background-color 0.15s ease, opacity 0.15s ease;
    margin-top: 0.25rem;
}

.forminator-quiz-intro .forminator-button:hover,
.forminator-quiz-intro button.forminator-button:hover,
.forminator-quiz-intro a.forminator-button:hover{
    background-color: var(--color-primary-light);
    color: var(--color-surface-base) !important;
    opacity: 0.95;
}

.forminator-quiz-intro .forminator-button:focus-visible,
.forminator-quiz-intro button.forminator-button:focus-visible,
.forminator-quiz-intro a.forminator-button:focus-visible{
    outline: none;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-primary-light) 28%, transparent);
}

/* A.3 Resultado do quiz */

/* Forminator quiz — ecrã de resultado: mesmo “cartão” e tokens que .forminator-quiz-intro */
body .forminator-ui .forminator-result,
body .forminator-quiz .forminator-result{
    box-sizing: border-box;
    border-radius: var(--radius-lg) !important;
    background-color: var(--color-surface-muted);
    border: 1px solid color-mix(in srgb, var(--color-primary-dark) 12%, transparent);
    box-shadow: 0 4px 24px color-mix(in srgb, var(--color-primary-dark) 8%, transparent);
    padding: 0;
    margin: 0 auto 1.5rem;
    max-width: none !important;
    width: 100%;
    text-align: left;
    color: var(--color-text-primary);
}

/* Design default: sem “cartão” duplo — borda/sombra só no wrapper do plugin, aqui limpamos o .forminator-result */
.forminator-ui.forminator-quiz[data-design="default"] .forminator-quiz--result .forminator-result,
.forminator-ui.forminator-quiz[data-design=default] .forminator-quiz--result .forminator-result{
    border: none !important;
    box-shadow: none !important;
    border-radius: var(--radius-lg) !important;
}

/* Forminator quiz: wrapper do ecrã de resultado sem caixa extra (padding/margin/border do tema default) */
.forminator-ui.forminator-quiz[id^="forminator-module-"] .forminator-quiz--result,
[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result{
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* Forminator quiz: texto do resultado sem fundo (o cinza fica só no .forminator-result) */
.forminator-ui.forminator-quiz[id^="forminator-module-"] .forminator-quiz--result .forminator-result .forminator-result--content .forminator-result--text,
[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result .forminator-result .forminator-result--content .forminator-result--text{
    background: none !important;
    background-color: transparent !important;
}

/* Forminator quiz: título do resultado — 24px via token do :root */
.forminator-ui.forminator-quiz[id^="forminator-module-"] .forminator-quiz--result .forminator-result--title,
[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result .forminator-result--title{
    font-size: var(--font-size-24) !important;
}

body .forminator-ui .forminator-result--content,
body .forminator-quiz .forminator-result--content{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: clamp(1rem, 3vw, 1.5rem);
    margin-bottom: var(--space-form-row-gap);
    box-sizing: border-box;
    padding: clamp(1.25rem, 4vw, 2rem);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

body .forminator-ui .forminator-result--text,
body .forminator-quiz .forminator-result--text{
    flex: 1 1 16rem;
    min-width: 0;
}

body .forminator-ui .forminator-result--title,
body .forminator-quiz .forminator-result--title{
    margin: 0 0 0.75rem;
    color: var(--color-primary-dark);
    font-weight: 600;
    font-size: var(--font-size-24);
    line-height: 1.25;
}

body .forminator-ui .forminator-result--description,
body .forminator-quiz .forminator-result--description{
    font-size: var(--font-size-16);
    line-height: 1.55;
    color: var(--color-text-primary);
}

body .forminator-ui .forminator-result--description p,
body .forminator-quiz .forminator-result--description p{
    margin: 0 0 0.75rem;
}

body .forminator-ui .forminator-result--description p:last-child,
body .forminator-quiz .forminator-result--description p:last-child{
    margin-bottom: 0;
}

body .forminator-ui .forminator-result--description strong,
body .forminator-quiz .forminator-result--description strong{
    color: var(--color-primary-dark);
    font-weight: 600;
}

body .forminator-ui .forminator-result--image,
body .forminator-quiz .forminator-result--image{
    flex: 0 1 auto;
    align-self: center;
    width: 6.5rem;
    height: 6.5rem;
    max-width: 100%;
    border-radius: var(--radius-lg);
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid color-mix(in srgb, var(--color-primary-dark) 8%, transparent);
    box-sizing: border-box;
}

/*
 * Plugin duplica imagem: background-image no div + <img>.
 * Mobile: só <img>. Desktop: só background (ver js/main.js thQuizResultImageFix).
 */
body .forminator-ui .forminator-result--image img,
body .forminator-quiz .forminator-result--image img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.65rem;
    box-sizing: border-box;
}

/* max 767px — uma só fonte: img válido → sem fundo no div
 * Excepção intencional a bootstrap5-layout.mdc: override de plugin (Forminator);
 * max-width necessário para reverter estilo acima do breakpoint. */
@media (max-width: 767px) {
	body .forminator-ui .forminator-result--image:has(img[src]:not([src=""]):not([src="#"])),
	body .forminator-quiz .forminator-result--image:has(img[src]:not([src=""]):not([src="#"])){
		background-image: none !important;
	}

	body .forminator-ui .forminator-result--image img[src]:not([src=""]):not([src="#"]),
	body .forminator-quiz .forminator-result--image img[src]:not([src=""]):not([src="#"]){
		display: block !important;
	}
}

/* Imagem resultado: reforço em js/main.js (thQuizResultImageFix) se o plugin só injectar background no desktop */
body .forminator-ui .forminator-result--image.th-quiz-result-image-ready,
body .forminator-quiz .forminator-result--image.th-quiz-result-image-ready{
	visibility: visible !important;
	opacity: 1 !important;
}

/*
 * Quiz footer — esconder no resultado antes do JS (só quiz, ambos nav ocultos).
 * Não aplicar a todos os forms: na pág. 1 o Anterior pode estar oculto com Seguinte visível.
 */
body form.forminator-ui.forminator-quiz .forminator-pagination-footer:has(> .forminator-button-back.forminator-hidden):has(> .forminator-button-next.forminator-hidden):not(:has(> .forminator-button-next:not(.forminator-hidden))):not(:has(> .forminator-button-submit:not(.forminator-hidden))):not(:has(> #forminator-submit:not(.forminator-hidden))) {
	display: none !important;
	visibility: hidden !important;
}

/* Resultado — esconder rodapé quando .th-quiz-step-result está no form (JS) */
body form.th-quiz-step-result .forminator-pagination-footer,
body .th-quiz-step-result .forminator-pagination-footer {
	display: none !important;
	visibility: hidden !important;
}

/*
 * Quiz — rodapé: anular justify-content: space-between do plugin (inline).
 * Grupo à direita com gap --btn-actions-gap (24px).
 */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
body .forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
body .forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty) {
	display: flex !important;
	flex-wrap: wrap !important;
	flex-direction: column-reverse !important;
	justify-content: flex-end !important;
	align-items: stretch !important;
	gap: var(--btn-actions-gap) !important;
	column-gap: var(--btn-actions-gap) !important;
	row-gap: var(--btn-actions-gap) !important;
}

@media (min-width: 576px) {
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
	body .forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
	body .forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty) {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: var(--btn-actions-gap) !important;
		column-gap: var(--btn-actions-gap) !important;
		row-gap: var(--btn-actions-gap) !important;
	}
}

/* max 575px — coluna centrada (excepção intencional: override Forminator mobile-only) */
@media (max-width: 575px) {
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
	body .forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
	body .forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
	body .forminator-ui .forminator-quiz--action-buttons,
	body .forminator-quiz .forminator-quiz--action-buttons{
		flex-direction: column-reverse !important;
		align-items: stretch !important;
		justify-content: center !important;
	}
}

body .forminator-quiz .forminator-pagination-footer .forminator-button,
body .forminator-ui.forminator-quiz .forminator-pagination-footer .forminator-button{
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

/* Ações do resultado — gap 24px (inclui ecrã de resultado; não confundir com .forminator-pagination-footer). */
body .forminator-ui .forminator-quiz--action-buttons,
body .forminator-quiz .forminator-quiz--action-buttons,
body form.forminator-ui.forminator-quiz.th-quiz-step-result .forminator-quiz--action-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	flex-direction: column-reverse !important;
	justify-content: flex-end !important;
	align-items: stretch !important;
	gap: var(--btn-actions-gap) !important;
	column-gap: var(--btn-actions-gap) !important;
	row-gap: var(--btn-actions-gap) !important;
	width: 100%;
	box-sizing: border-box;
	padding: 0 clamp(1.25rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem);
}

@media (min-width: 576px) {
	body .forminator-ui .forminator-quiz--action-buttons,
	body .forminator-quiz .forminator-quiz--action-buttons,
	body form.forminator-ui.forminator-quiz.th-quiz-step-result .forminator-quiz--action-buttons {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
	}
}

body .forminator-ui .forminator-quiz--action-buttons .forminator-button,
body .forminator-quiz .forminator-quiz--action-buttons .forminator-button {
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
}

body .forminator-ui .forminator-legend,
body .forminator-custom-form .forminator-legend,
.forminator-legend{
    color: var(--color-text-primary) !important;
}

/* A.4 Respostas (radio / checkbox) */

/* Estado não-seleccionado: círculo vazio (Forminator quiz não usa .forminator-answer--selected) */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:not(:checked) + .forminator-answer--design .forminator-answer--status {
    color: var(--color-primary-muted) !important;
    background-color: var(--color-surface-base) !important;
    border: 2px solid var(--color-primary-light) !important;
    border-radius: 50% !important;
}

/* Estado seleccionado: círculo accent + ícone/check branco (--color-surface-base) */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer:not(.forminator-answer--selected) input:checked + .forminator-answer--design .forminator-answer--status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--color-surface-base) !important;
    background-color: var(--color-primary-accent) !important;
    border: 2px solid var(--color-primary-accent) !important;
    border-radius: 50% !important;
}

/*
 * Checkbox knowledge (ex. GDS-15, data-quiz="knowledge"): span.forminator-answer--status fica vazio.
 * O Forminator só injecta <i class="forminator-icon-check"> em radio/personality — aqui simular via ::before
 * com a mesma fonte forminator-icons-font que .forminator-icon-check::before (forminator-icons.min.css).
 */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz[data-quiz="knowledge"]
    .forminator-answer input[type="checkbox"]:checked + .forminator-answer--design .forminator-answer--status::before {
    content: "✓" !important;
    font-family: forminator-icons-font, sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    font-size: 12px !important;
    color: var(--color-surface-base) !important;
    display: block !important;
}

/* Knowledge checkbox: um só ícone — o plugin injecta ícones certo/errado além do ::before */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz[data-quiz="knowledge"]
    .forminator-answer input[type="checkbox"] + .forminator-answer--design .forminator-answer--status .forminator-icon-check,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz[data-quiz="knowledge"]
    .forminator-answer input[type="checkbox"] + .forminator-answer--design .forminator-answer--status [class*="forminator-icon-"],
body form[id^="forminator-module-"].forminator-ui.forminator-quiz[data-quiz="knowledge"]
    .forminator-answer input[type="checkbox"] + .forminator-answer--design .forminator-answer--status svg {
    display: none !important;
}

/* Radio (landing): <i class="forminator-icon-check"> injectado pelo Forminator */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer--status .forminator-icon-check {
    display: block !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

/* .forminator-answer--design: border-radius consistente no estado normal e seleccionado */
.forminator-ui.forminator-quiz
    .forminator-answer .forminator-answer--design {
    border-radius: var(--radius-lg) !important;
}

/* Resposta seleccionada — sem ID específico, aplica a todos os quizzes Forminator.
   !important necessário para sobrepor o CSS gerado automaticamente pelo plugin (style-{ID}.css) */
.forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design {
    border-color: var(--color-primary-accent) !important;
    background-color: color-mix(
        in srgb,
        var(--color-primary-light) 8%,
        var(--color-surface-base)
    ) !important;
    border-radius: var(--radius-lg) !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:not(:checked) + .forminator-answer--design .forminator-answer--status svg,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:not(:checked) + .forminator-answer--design .forminator-answer--status .forminator-icon svg,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:not(:checked) + .forminator-answer--design .forminator-answer--status .forminator-icon-check {
    fill: currentColor !important;
    color: var(--color-primary-muted) !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status svg,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status .forminator-icon svg,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status .forminator-icon-check,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status .forminator-icon-check::before {
    fill: var(--color-surface-base) !important;
    color: var(--color-surface-base) !important;
}

.forminator-answer--status .forminator-answer--text,
.forminator-answer--status p,
.forminator-answer--status span{
    color: var(--color-primary-muted) !important;
}

/* A.5 Formulário de leads */

/*
 * Forminator — formulário de leads no fim do quiz: alinhado à esquerda (fluxo LTR / coluna — melhor que centrar o bloco).
 * Largura: até à coluna-pai; forminator-size--small anulado para bater com contacto (--font-size-16, min-height).
 * Ids forminator-module-* mudam por instalação — selectores por prefixo + :not(.forminator-quiz).
 */
[id^="forminator-module-"]:not(.forminator-quiz).forminator-ui,
form[id^="forminator-module-"]:not(.forminator-quiz){
    width: 100%;
    max-width: 100%;
    margin-top: 24px;
    margin-left: 0;
    margin-right: auto;
    box-sizing: border-box;
    text-align: left;
}

/* Preset "small" do plugin: forçar tipografia e toques iguais ao resto do tema */
form[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small .forminator-label,
[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small .forminator-label{
    font-size: var(--font-size-14) !important;
    line-height: 1.5 !important;
}

form[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="text"],
form[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="email"],
form[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="tel"],
form[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="url"],
form[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="number"],
[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="text"],
[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="email"],
[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="tel"],
[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="url"],
[id^="forminator-module-"]:not(.forminator-quiz).forminator-size--small input.forminator-input[type="number"]{
    min-height: var(--size-form-submit-min-height) !important;
    padding: 0.65rem 1rem !important;
    font-size: var(--font-size-16) !important;
    line-height: 1.4 !important;
}

/*
 * Quiz leads — grelha Forminator sem padding lateral (inputs e CTA com a mesma caixa).
 * O plugin usa margens negativas na row + padding nas cols → o botão ficava ~15px à esquerda do input.
 */
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz).forminator-ui,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz),
body [id^="forminator-quiz-leads-"] form.forminator-leads-form,
body form.forminator-leads-form.forminator-custom-form {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row,
body form.forminator-leads-form .forminator-row,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last:has(> .forminator-button.forminator-button-submit),
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last:has(> .forminator-button.forminator-button-submit) {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last:has(> .forminator-button.forminator-button-submit),
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last:has(> .forminator-button.forminator-button-submit) {
	display: flex !important;
	justify-content: flex-end !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}

body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-col,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-col,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-col,
body form.forminator-leads-form .forminator-col {
	padding-left: 0 !important;
	padding-right: 0 !important;
	flex: 0 0 100% !important;
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-field,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-field,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field:has(> .forminator-button.forminator-button-submit),
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field:has(> .forminator-button.forminator-button-submit),
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last .forminator-field,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-field:has(> .forminator-button.forminator-button-submit),
body form.forminator-leads-form .forminator-row-last .forminator-field,
body form.forminator-leads-form .forminator-field:has(> .forminator-button.forminator-button-submit) {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* CTA do leads (formulário embutido): à direita, como Anterior/Seguinte no quiz */
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field:has(.forminator-button-submit),
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field:has(.forminator-button-submit),
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last .forminator-col,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-field:has(.forminator-button-submit),
body form.forminator-leads-form .forminator-row-last,
body form.forminator-leads-form .forminator-field:has(.forminator-button-submit) {
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	width: 100% !important;
	text-align: right !important;
	box-sizing: border-box !important;
}

body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field .forminator-button.forminator-button-submit,
body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field .forminator-button.forminator-button-submit,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last button.forminator-button.forminator-button-submit,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-field .forminator-button.forminator-button-submit,
body form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit,
body form.forminator-leads-form .forminator-field .forminator-button.forminator-button-submit {
	display: inline-flex !important;
	box-sizing: border-box !important;
}

/* sm | min-width: 576px — CTA à direita + largura fixa */
@media (min-width: 576px) {
	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field .forminator-button.forminator-button-submit,
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field .forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last button.forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-field .forminator-button.forminator-button-submit,
	body form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit,
	body form.forminator-leads-form .forminator-field .forminator-button.forminator-button-submit {
		margin-left: auto !important;
		margin-right: 0 !important;
		width: var(--size-button-primary-width) !important;
		min-width: var(--size-button-primary-width) !important;
		max-width: var(--size-button-primary-width) !important;
	}
}

/* max 575px — CTA leads 100% (igual Seguinte / Enviar / contacto) (excepção intencional: override Forminator mobile-only) */
@media (max-width: 575px) {
	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last,
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last,
	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field:has(.forminator-button-submit),
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field:has(.forminator-button-submit),
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last .forminator-col,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-field:has(.forminator-button-submit),
	body form.forminator-leads-form .forminator-row-last,
	body form.forminator-leads-form .forminator-field:has(.forminator-button-submit) {
		align-items: stretch !important;
		justify-content: center !important;
		text-align: center !important;
	}

	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
	body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field .forminator-button.forminator-button-submit,
	body .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field .forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last button.forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-field .forminator-button.forminator-button-submit,
	body form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit,
	body form.forminator-leads-form .forminator-field .forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"].forminator-quiz-leads form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit),
	body form[id^="forminator-module-"].forminator-ui.forminator-custom-form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit) {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/*
 * Quiz — resultado com captura de leads: submit duplicado do plugin → aspeto mais subtil (nunca pointer-events:none: :has()
 * corresponde a nós ocultos e bloqueava «Ver o meu perfil» no rodapé em prod).
 */
body .forminator-ui.forminator-quiz .forminator-quiz--result:is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result:is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) button.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result:is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) input.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result:is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result:is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) button.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result:is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) input.forminator-button.forminator-button-submit{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--size-form-submit-min-height) !important;
    padding: 0.65rem 1.5rem !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--color-text-primary) 12%, var(--bs-border-color, #dee2e6)) !important;
    background-color: color-mix(in srgb, var(--color-surface-muted) 88%, var(--color-text-primary)) !important;
    background-image: none !important;
    color: color-mix(in srgb, var(--color-text-primary) 42%, var(--color-surface-base)) !important;
    font-size: var(--font-size-16) !important;
    font-weight: 600 !important;
    opacity: 0.85 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    visibility: visible !important;
}

/* Submit real do formulário de leads — CTA normal (especificidade > bloco acima). */
body .forminator-quiz .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz).forminator-ui .forminator-row-last .forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz).forminator-ui .forminator-row-last button.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz).forminator-ui .forminator-row-last input.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result form[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last input.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last .forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last button.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last input.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result form:is(:has(input[type="email"]), :has(input[type="text"][name*="email"]), :has(input[name*="mail"]), :has(.forminator-field-email input)) .forminator-row-last .forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result form:is(:has(input[type="email"]), :has(input[type="text"][name*="email"]), :has(input[name*="mail"]), :has(.forminator-field-email input)) .forminator-row-last button.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-quiz--result form:is(:has(input[type="email"]), :has(input[type="text"][name*="email"]), :has(input[name*="mail"]), :has(.forminator-field-email input)) .forminator-row-last input.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result form:is(:has(input[type="email"]), :has(input[type="text"][name*="email"]), :has(input[name*="mail"]), :has(.forminator-field-email input)) .forminator-row-last .forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result form:is(:has(input[type="email"]), :has(input[type="text"][name*="email"]), :has(input[name*="mail"]), :has(.forminator-field-email input)) .forminator-row-last button.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-quiz--result form:is(:has(input[type="email"]), :has(input[type="text"][name*="email"]), :has(input[name*="mail"]), :has(.forminator-field-email input)) .forminator-row-last input.forminator-button.forminator-button-submit{
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    cursor: pointer !important;
    border: none !important;
    background-color: var(--color-primary-accent) !important;
    background-image: none !important;
    color: var(--color-surface-base) !important;
    box-shadow: none !important;
}

/* #forminator-submit («Ver o meu perfil»): também no .forminator-pagination-footer na última pergunta (fora de .forminator-quiz--result). */
body .forminator-quiz .forminator-quiz--result #forminator-submit.forminator-button-submit:not(:disabled),
body .forminator-ui.forminator-quiz .forminator-quiz--result #forminator-submit.forminator-button-submit:not(:disabled),
body .forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(:disabled),
body .forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(:disabled),
body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(:disabled){
    pointer-events: auto !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

/* Sobrepõe :focus/:active/:hover do bundle Forminator (.forminator-quiz#forminator-module-XXX … sem !important). */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(:disabled):hover,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(:disabled):focus,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(:disabled):focus-visible,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(:disabled):active{
    background-color: var(--btn-action-hover-bg) !important;
    border-color: var(--btn-action-hover-bg) !important;
    color: var(--btn-action-hover-color) !important;
    box-shadow: none !important;
    outline: none !important;
}

[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row{
    margin-bottom: var(--space-form-row-gap);
}

[id^="forminator-module-"]:not(.forminator-quiz) .forminator-row-last{
    margin-bottom: 0;
    margin-top: 0.25rem;
}

[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field{
    margin-bottom: 0;
}

[id^="forminator-module-"]:not(.forminator-quiz) .forminator-label{
    display: block;
    margin-bottom: 0.35rem;
    font-size: var(--font-size-14);
    font-weight: 600;
    line-height: 1.5;
    color: var(--color-text-primary);
}

[id^="forminator-module-"]:not(.forminator-quiz) .forminator-required{
    color: var(--color-primary-base);
    font-weight: 600;
}

[id^="forminator-module-"]:not(.forminator-quiz) input.forminator-input[type="text"],
[id^="forminator-module-"]:not(.forminator-quiz) input.forminator-input[type="email"],
[id^="forminator-module-"]:not(.forminator-quiz) input.forminator-input[type="tel"],
[id^="forminator-module-"]:not(.forminator-quiz) input.forminator-input[type="url"],
[id^="forminator-module-"]:not(.forminator-quiz) input.forminator-input[type="number"]{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
    min-height: var(--size-form-submit-min-height);
    padding: 0.65rem 1rem;
    border-radius: 999px !important;
    border: 1px solid var(--bs-border-color, #dee2e6) !important;
    background-color: var(--color-surface-base);
    color: var(--color-text-primary);
    font-size: var(--font-size-16);
    line-height: 1.4;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[id^="forminator-module-"]:not(.forminator-quiz) input.forminator-input::placeholder{
    color: color-mix(in srgb, var(--color-text-primary) 45%, transparent);
}

[id^="forminator-module-"]:not(.forminator-quiz) input.forminator-input:focus{
    outline: none !important;
    border-color: var(--color-primary-light) !important;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-primary-light) 22%, transparent) !important;
}

/* Override do default do Forminator: .forminator-ui.forminator-custom-form[data-design=basic] .forminator-response-message { margin: 20px 0 20px; } */
.forminator-ui.forminator-custom-form[data-design=basic] .forminator-response-message,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-response-message{
    margin: var(--space-form-row-gap) 0 0;
    box-sizing: border-box;
}

/* Mensagens de erro — ver css/components/form-errors.css */

/* Bordo suave no input em erro (até corrigir) */
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field.forminator-has_error input.forminator-input:not(:focus){
    border-color: color-mix(in srgb, var(--color-text-danger) 42%, var(--bs-border-color, #dee2e6)) !important;
}

/*
 * Formulário de leads — campo ficheiro: após gravar/seleccionar, o nome do ficheiro herdava cor clara (ex. branco do .forminator-quiz--result)
 * e ficava invisível sobre fundo claro. Forçar texto escuro no bloco de upload (não nos .forminator-button do plugin).
 */
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field-upload,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-field-upload .forminator-description,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload .forminator-uploaded-file,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-uploaded-file,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-uploaded-file--name,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-uploaded-file__name,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-file--name,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload--file-name,
[id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload--filename{
    color: var(--color-text-primary) !important;
}

body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field-upload,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-field-upload .forminator-description,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload .forminator-uploaded-file,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-uploaded-file,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-uploaded-file--name,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-uploaded-file__name,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-file--name,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload--file-name,
body .forminator-quiz--result [id^="forminator-module-"]:not(.forminator-quiz) .forminator-upload--filename{
    color: var(--color-text-primary) !important;
}

/* Seguinte com .forminator-disabled (classe do plugin — nem sempre há atributo disabled) */
body .forminator-ui .forminator-button.forminator-button-next.forminator-disabled,
body .forminator-ui button.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-ui a.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-custom-form .forminator-button.forminator-button-next.forminator-disabled,
body .forminator-custom-form button.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-custom-form a.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-quiz .forminator-button.forminator-button-next.forminator-disabled,
body .forminator-quiz button.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-quiz a.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled,
body .forminator-pagination-footer button.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-pagination-footer a.forminator-button.forminator-button-next.forminator-disabled,
.forminator-button.forminator-button-next.forminator-disabled,
button.forminator-button.forminator-button-next.forminator-disabled,
a.forminator-button.forminator-button-next.forminator-disabled{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--size-form-submit-min-height) !important;
    padding: 0.65rem 1.5rem !important;
    border-radius: 999px !important;
    border: none !important;
    background-color: var(--color-primary-accent) !important;
    background-image: none !important;
    color: var(--color-surface-base) !important;
    font-size: var(--font-size-16) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    transition: background-color 0.15s ease, opacity 0.15s ease !important;
}

body .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled:hover,
body .forminator-pagination-footer button.forminator-button.forminator-button-next.forminator-disabled:hover,
.forminator-button.forminator-button-next.forminator-disabled:hover{
    background-color: var(--color-primary-accent) !important;
    color: var(--color-surface-base) !important;
    opacity: 0.55 !important;
}

body .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled:focus-visible,
body .forminator-pagination-footer button.forminator-button.forminator-button-next.forminator-disabled:focus-visible,
.forminator-button.forminator-button-next.forminator-disabled:focus-visible{
    outline: none !important;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-primary-light) 22%, transparent) !important;
}

/* Submeter com .forminator-disabled (ajax / envio) — mesmo tratamento que Seguinte */
body .forminator-ui .forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-ui button.forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-ui input.forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-custom-form .forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-custom-form button.forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-custom-form input.forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-quiz .forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-quiz button.forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-quiz input.forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-pagination-footer .forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-pagination-footer button.forminator-button.forminator-button-submit.forminator-disabled,
body .forminator-pagination-footer input.forminator-button.forminator-button-submit.forminator-disabled,
.forminator-button.forminator-button-submit.forminator-disabled,
button.forminator-button.forminator-button-submit.forminator-disabled,
input.forminator-button.forminator-button-submit.forminator-disabled{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--size-form-submit-min-height) !important;
    padding: 0.65rem 1.5rem !important;
    border-radius: 999px !important;
    border: none !important;
    background-color: var(--color-primary-accent) !important;
    background-image: none !important;
    color: var(--color-surface-base) !important;
    font-size: var(--font-size-16) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    width: auto !important;
    max-width: none !important;
    transition: background-color 0.15s ease, opacity 0.15s ease !important;
}

body .forminator-pagination-footer .forminator-button.forminator-button-submit.forminator-disabled:hover,
body .forminator-pagination-footer button.forminator-button.forminator-button-submit.forminator-disabled:hover,
body .forminator-pagination-footer input.forminator-button.forminator-button-submit.forminator-disabled:hover,
.forminator-button.forminator-button-submit.forminator-disabled:hover{
    background-color: var(--color-primary-accent) !important;
    color: var(--color-surface-base) !important;
    opacity: 0.55 !important;
}

body .forminator-pagination-footer .forminator-button.forminator-button-submit.forminator-disabled:focus-visible,
body .forminator-pagination-footer button.forminator-button.forminator-button-submit.forminator-disabled:focus-visible,
body .forminator-pagination-footer input.forminator-button.forminator-button-submit.forminator-disabled:focus-visible,
.forminator-button.forminator-button-submit.forminator-disabled:focus-visible{
    outline: none !important;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-primary-light) 22%, transparent) !important;
}

/* Forminator quiz: botão Voltar — cores/forma (também com .forminator-hidden no DOM; não mexer em display aí) */
body .forminator-ui .forminator-button.forminator-button-back,
body .forminator-ui button.forminator-button.forminator-button-back,
body .forminator-ui a.forminator-button.forminator-button-back,
body .forminator-custom-form .forminator-button.forminator-button-back,
body .forminator-custom-form button.forminator-button.forminator-button-back,
body .forminator-custom-form a.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-button.forminator-button-back,
body .forminator-quiz button.forminator-button.forminator-button-back,
body .forminator-quiz a.forminator-button.forminator-button-back,
body .forminator-ui .forminator-button.forminator-button-back.forminator-hidden,
body .forminator-custom-form .forminator-button.forminator-button-back.forminator-hidden,
body .forminator-quiz .forminator-button.forminator-button-back.forminator-hidden,
.forminator-button.forminator-button-back.forminator-hidden,
.forminator-button.forminator-button-back,
button.forminator-button.forminator-button-back,
a.forminator-button.forminator-button-back,
.forminator-button--back{
    min-height: var(--size-form-submit-min-height) !important;
    padding: 0.65rem 1.5rem !important;
    border-radius: 999px !important;
    border: 2px solid var(--color-primary-light) !important;
    background-color: var(--color-surface-base) !important;
    background-image: none !important;
    color: var(--color-primary-dark) !important;
    font-size: var(--font-size-16) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease !important;
}

body .forminator-ui .forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-ui button.forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-ui a.forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-custom-form .forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-custom-form button.forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-custom-form a.forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-quiz .forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-quiz button.forminator-button.forminator-button-back:not(.forminator-hidden),
body .forminator-quiz a.forminator-button.forminator-button-back:not(.forminator-hidden),
.forminator-button.forminator-button-back:not(.forminator-hidden),
button.forminator-button.forminator-button-back:not(.forminator-hidden),
a.forminator-button.forminator-button-back:not(.forminator-hidden),
.forminator-button--back:not(.forminator-hidden){
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .forminator-ui .forminator-button.forminator-button-back:hover,
body .forminator-custom-form .forminator-button.forminator-button-back:hover,
body .forminator-quiz .forminator-button.forminator-button-back:hover,
body .forminator-ui .forminator-button.forminator-button-back.forminator-hidden:hover,
.forminator-button.forminator-button-back:hover,
button.forminator-button.forminator-button-back:hover,
a.forminator-button.forminator-button-back:hover,
.forminator-button--back:hover{
    background-color: var(--color-surface-primary-subtle-weak) !important;
    border-color: var(--color-primary-accent) !important;
    color: var(--color-primary-dark) !important;
}

body .forminator-ui .forminator-button.forminator-button-back:focus-visible,
body .forminator-custom-form .forminator-button.forminator-button-back:focus-visible,
body .forminator-quiz .forminator-button.forminator-button-back:focus-visible,
.forminator-button.forminator-button-back:focus-visible,
button.forminator-button.forminator-button-back:focus-visible,
a.forminator-button.forminator-button-back:focus-visible,
.forminator-button--back:focus-visible{
    outline: none !important;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-primary-light) 28%, transparent) !important;
}

body .forminator-ui .forminator-button.forminator-button-back:disabled,
body .forminator-custom-form .forminator-button.forminator-button-back:disabled,
button.forminator-button.forminator-button-back:disabled{
    opacity: 0.55 !important;
    cursor: not-allowed !important;
}

/*
 * Rodapé do quiz: Voltar com .forminator-hidden mas visível — só quando Seguinte NÃO está oculto
 * (no resultado Anterior+Seguinte têm .forminator-hidden → não forçar display aqui).
 */
body .forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back.forminator-hidden,
body .forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) button.forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) a.forminator-button.forminator-button-back,
body .forminator-custom-form:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back.forminator-hidden,
body .forminator-custom-form:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back,
body .forminator-custom-form:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) button.forminator-button.forminator-button-back,
body .forminator-custom-form:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) a.forminator-button.forminator-button-back,
body .forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back.forminator-hidden,
body .forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back,
body .forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) button.forminator-button.forminator-button-back,
body .forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) a.forminator-button.forminator-button-back,
body form.forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back.forminator-hidden,
body form.forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) .forminator-button.forminator-button-back,
body form.forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) button.forminator-button.forminator-button-back,
body form.forminator-ui.forminator-quiz:not(.th-quiz-step-result):not(.th-quiz-leads-step) .forminator-pagination-footer:not(.th-quiz-footer-empty):has(> .forminator-button-next:not(.forminator-hidden)) a.forminator-button.forminator-button-back{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--size-form-submit-min-height) !important;
    padding: 0.65rem 1.5rem !important;
    border-radius: 999px !important;
    border: 2px solid var(--color-primary-light) !important;
    background-color: var(--color-surface-base) !important;
    background-image: none !important;
    color: var(--color-primary-dark) !important;
    font-size: var(--font-size-16) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease !important;
    width: auto !important;
    max-width: none !important;
}

body .forminator-pagination-footer .forminator-button.forminator-button-back.forminator-hidden:hover,
body .forminator-pagination-footer .forminator-button.forminator-button-back:hover,
body .forminator-pagination-footer button.forminator-button.forminator-button-back:hover,
body .forminator-pagination-footer a.forminator-button.forminator-button-back:hover{
    background-color: var(--color-surface-primary-subtle-weak) !important;
    border-color: var(--color-primary-accent) !important;
    color: var(--color-primary-dark) !important;
}

body .forminator-pagination-footer .forminator-button.forminator-button-back.forminator-hidden:focus-visible,
body .forminator-pagination-footer .forminator-button.forminator-button-back:focus-visible,
body .forminator-pagination-footer button.forminator-button.forminator-button-back:focus-visible,
body .forminator-pagination-footer a.forminator-button.forminator-button-back:focus-visible{
    outline: none !important;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-primary-light) 28%, transparent) !important;
}

/*
 * Resultado — .th-quiz-step-result no <form> (ver regra final do ficheiro).
 */

/*
 * Removido esconder .forminator-pagination-footer com :has(.forminator-quiz--result) e .th-quiz-step-result — o passo de
 * resultado continua no DOM oculto → o rodapé global («Ver o meu perfil») podia ficar display:none nas perguntas finais.
 * Rodapé de paginação: submit duplicado — estilo subtil (sem bloquear cliques; ver .th-quiz-leads-form-visible).
 */
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer .forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer button.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer input.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer .forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer button.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer input.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer .forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer button.forminator-button.forminator-button-submit,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer input.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer .forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer button.forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer input.forminator-button.forminator-button-submit{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--size-form-submit-min-height) !important;
    padding: 0.65rem 1.5rem !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--color-text-primary) 12%, var(--bs-border-color, #dee2e6)) !important;
    background-color: color-mix(in srgb, var(--color-surface-muted) 88%, var(--color-text-primary)) !important;
    background-image: none !important;
    color: color-mix(in srgb, var(--color-text-primary) 42%, var(--color-surface-base)) !important;
    font-size: var(--font-size-16) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    width: auto !important;
    max-width: none !important;
}

/* Mesmo ecrã: esconder Voltar/Seguinte duplicados no rodapé (fica o CTA do leads e os botões do resultado) */
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer .forminator-button.forminator-button-next,
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer button.forminator-button.forminator-button-next,
body .forminator-ui.forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer a.forminator-button.forminator-button-next,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer .forminator-button.forminator-button-next,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer button.forminator-button.forminator-button-next,
body .forminator-quiz .forminator-pagination:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) .forminator-pagination-footer a.forminator-button.forminator-button-next{
    display: none !important;
}

body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer .forminator-button.forminator-button-next,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer button.forminator-button.forminator-button-next,
body .forminator-ui.forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer a.forminator-button.forminator-button-next,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer .forminator-button.forminator-button-next,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer button.forminator-button.forminator-button-next,
body .forminator-quiz .forminator-pagination--content:has(.forminator-quiz--result):is(:has([id^="forminator-module-"]:not(.forminator-quiz)), :has(form:not(.forminator-quiz) input[type="email"]), :has(form:not(.forminator-quiz) input[type="text"][name*="email"]), :has(form:not(.forminator-quiz) input[name*="mail"]), :has(form:not(.forminator-quiz) .forminator-field-email input)) + .forminator-pagination-footer a.forminator-button.forminator-button-next{
    display: none !important;
}

/* Largura dos botões do quiz — css/components/buttons.css (--size-form-submit-max-width) */

/* md | min-width: 768px — imagem à direita do texto */
@media (min-width: 768px) {
	body .forminator-ui .forminator-result--image,
	body .forminator-quiz .forminator-result--image{
		flex: 0 0 10rem;
		width: 10rem;
		height: 10rem;
		min-width: 10rem;
		min-height: 10rem;
		flex-shrink: 0;
		order: 2;
		background-size: contain !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
	}

	body .forminator-ui .forminator-result--text,
	body .forminator-quiz .forminator-result--text{
		order: 1;
		flex: 1 1 auto;
	}

	body .forminator-ui .forminator-result--content,
	body .forminator-quiz .forminator-result--content{
		flex-wrap: nowrap;
		align-items: center;
	}
}

/* A.6 Botões — tokens --btn-action-* (especificidade máxima; carrega depois de layout/global.css) */

/* Seguinte + Submeter (= th-btn-action) */

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-button.forminator-button-next:not(.forminator-disabled),
body form[id^="forminator-module-"].forminator-ui.forminator-quiz button.forminator-button.forminator-button-next:not(.forminator-disabled),
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled),
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-pagination-footer button.forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-ui.forminator-quiz .forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-ui.forminator-quiz button.forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-ui.forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-ui.forminator-quiz .forminator-pagination-footer button.forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-quiz .forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-quiz button.forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-quiz .forminator-pagination-footer button.forminator-button.forminator-button-next:not(.forminator-disabled) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: var(--size-form-submit-min-height) !important;
	padding: 0.65rem 1.5rem !important;
	border-radius: 999px !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-16) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border: 1px solid var(--btn-action-border) !important;
	background-color: var(--btn-action-bg) !important;
	background-image: none !important;
	color: var(--btn-action-color) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz button.forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body .forminator-ui.forminator-quiz .forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body .forminator-ui.forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body .forminator-quiz .forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled):hover {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
	opacity: 1 !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-button.forminator-button-next:not(.forminator-disabled):focus-visible,
body .forminator-ui.forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled):focus-visible {
	outline: 0 !important;
	box-shadow: 0 0 0 0.2rem var(--btn-action-focus-ring) !important;
}

/* Seguinte disabled — largura/cores em css/components/buttons.css */

body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer button.forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer input.forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer button.forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body .forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled),
body .forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: var(--size-form-submit-min-height) !important;
	padding: 0.65rem 1.5rem !important;
	border-radius: 999px !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-16) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border: 1px solid var(--btn-action-border) !important;
	background-color: var(--btn-action-bg) !important;
	background-image: none !important;
	color: var(--btn-action-color) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled):hover,
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer button.forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled):hover,
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled):hover,
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled):hover,
body [id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled):hover,
body .forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled):hover,
body .forminator-ui.forminator-quiz:not(.th-quiz-leads-step) .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled):hover {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
	opacity: 1 !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled):not(:disabled):focus-visible,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled):focus-visible,
body .forminator-ui.forminator-quiz .forminator-pagination-footer #forminator-submit.forminator-button-submit:not(.forminator-disabled):not(:disabled):focus-visible {
	outline: 0 !important;
	box-shadow: 0 0 0 0.2rem var(--btn-action-focus-ring) !important;
}

/*
 * Quiz list (ex. GDS-15): «Ver Resultado» em .forminator-quiz--result > .forminator-button-submit
 * (fora do .forminator-pagination-footer — não coberto pelas regras de Seguinte/Enviar).
 */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result {
	display: flex !important;
	justify-content: flex-end !important;
	margin-top: var(--space-section-gap, 1.5rem) !important;
	text-align: right !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: var(--size-form-submit-min-height) !important;
	padding: 0.65rem 1.5rem !important;
	border-radius: 999px !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-16) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border: 1px solid var(--btn-action-border) !important;
	background-color: var(--btn-action-bg) !important;
	background-image: none !important;
	color: var(--btn-action-color) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit:not(:disabled):not(.forminator-disabled):hover,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit:not(:disabled):not(.forminator-disabled):hover {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit:not(:disabled):not(.forminator-disabled):focus-visible,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit:not(:disabled):not(.forminator-disabled):focus-visible {
	outline: 0 !important;
	box-shadow: 0 0 0 0.2rem var(--btn-action-focus-ring) !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit:disabled,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit.forminator-disabled,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit:disabled {
	border: 1px solid var(--btn-action-border) !important;
	background-color: var(--color-surface-disabled) !important;
	background-image: none !important;
	color: var(--color-text-disabled) !important;
	opacity: 0.65 !important;
	cursor: not-allowed !important;
}

@media (min-width: 576px) {
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit,
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit {
		width: var(--size-button-primary-width) !important;
		min-width: var(--size-button-primary-width) !important;
		max-width: var(--size-button-primary-width) !important;
		margin-left: auto !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 575px) {
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result {
		justify-content: center !important;
		text-align: center !important;
	}

	body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit,
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/*
 * Quiz + leads (Forminator): wrapper #forminator-quiz-leads-{id}, depois
 *   form.forminator-quiz (quiz) + form.forminator-leads-form (leads, irmão).
 * O CTA está em form#106 .forminator-row-last — não no quiz nem em .forminator-col solto.
 */

/* ── 1) Rodapé #forminator-submit: ocultar quando o form de leads está aberto (só fica o CTA em baixo) ── */

body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer #forminator-submit,
body [id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer #forminator-submit {
	display: none !important;
}

/* ── 2) CTA no form de leads → --btn-action-* ── */

body [id^="forminator-quiz-leads-"].forminator-quiz-leads form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled),
body [id^="forminator-quiz-leads-"].forminator-quiz-leads form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled),
body form.forminator-leads-form.forminator-custom-form .forminator-row-last .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled),
body form[id^="forminator-module-"].forminator-ui.forminator-custom-form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: var(--size-form-submit-min-height) !important;
	padding: 0.65rem 1.5rem !important;
	border-radius: 999px !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-16) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border: 1px solid var(--btn-action-border) !important;
	background-color: var(--btn-action-bg) !important;
	background-image: none !important;
	color: var(--btn-action-color) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

/* sm | min-width: 576px — largura pelo conteúdo / token (não 100%) */
@media (min-width: 576px) {
	body [id^="forminator-quiz-leads-"].forminator-quiz-leads form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled),
	body [id^="forminator-quiz-leads-"].forminator-quiz-leads form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled),
	body form.forminator-leads-form.forminator-custom-form .forminator-row-last .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled),
	body form[id^="forminator-module-"].forminator-ui.forminator-custom-form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled) {
		width: var(--size-button-primary-width) !important;
		min-width: var(--size-button-primary-width) !important;
		max-width: var(--size-button-primary-width) !important;
	}
}

body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled):hover,
body [id^="forminator-quiz-leads-"] form.forminator-leads-form .forminator-row-last button.forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled):hover,
body [id^="forminator-quiz-leads-"].forminator-quiz-leads form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled):hover,
body [id^="forminator-quiz-leads-"].forminator-quiz-leads form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled):hover,
body form[id^="forminator-module-"].forminator-ui.forminator-custom-form.forminator-leads-form .forminator-row-last .forminator-col .forminator-field .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled):hover,
body form.forminator-leads-form.forminator-custom-form .forminator-row-last .forminator-button.forminator-button-submit:not(#forminator-submit):not(.forminator-disabled):hover {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
	background-image: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
}

/*
 * Resultado — reforço no fim do ficheiro (ganha cascade sobre display:flex do rodapé).
 */
body form.th-quiz-step-result .forminator-pagination-footer,
body .th-quiz-step-result .forminator-pagination-footer,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-step-result .forminator-pagination-footer,
body form.forminator-ui.forminator-quiz.th-quiz-step-result .forminator-pagination-footer {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	gap: 0 !important;
}

body .forminator-ui :is(button, a, input).forminator-button,
body .forminator-custom-form :is(button, a, input).forminator-button,
body .forminator-quiz :is(button, a, input).forminator-button {
	font-weight: 600 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   C. Excepções por página (só quando necessário)
   Scope: .page-{slug} ou .page-template-page-teste — nunca #forminator-module-{id}
   GDS-15: quiz knowledge list (data-quiz="knowledge") — não afecta /teste/ (nowrong).
   ══════════════════════════════════════════════════════════════════════════ */

/* Leads vazio + «Skip and continue» — teste clínico sem captura */
.page-teste-quiz-gds-15 .forminator-quiz--skip.forminator-lead-form-skip,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--skip.forminator-lead-form-skip {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.page-teste-quiz-gds-15 .forminator-custom-form.forminator-leads-form,
.page-teste-quiz-gds-15 form.forminator-leads-form,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-custom-form.forminator-leads-form,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) form.forminator-leads-form {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

/* Resultado GDS-15 — cartão completo (global A.3 remove border em data-design=default) */
.page-teste-quiz-gds-15 .forminator-quiz--list .forminator-quiz--result:has(.forminator-result),
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--list .forminator-quiz--result:has(.forminator-result),
body form.forminator-ui.forminator-quiz[data-quiz="knowledge"] .forminator-quiz--result:has(.forminator-result) {
	display: block !important;
	justify-content: initial !important;
	align-items: stretch !important;
	text-align: left !important;
	margin-top: var(--space-section-gap, 1.5rem) !important;
	width: 100% !important;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

.page-teste-quiz-gds-15 .forminator-quiz--list .forminator-quiz--result:has(.forminator-result) > .forminator-button.forminator-button-submit,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--list .forminator-quiz--result:has(.forminator-result) > .forminator-button.forminator-button-submit {
	display: none !important;
}

.page-teste-quiz-gds-15 .forminator-quiz--list .forminator-quiz--result .forminator-result,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--list .forminator-quiz--result .forminator-result {
	box-sizing: border-box !important;
	border: 1px solid color-mix(in srgb, var(--color-primary-dark) 12%, transparent) !important;
	box-shadow: 0 4px 24px color-mix(in srgb, var(--color-primary-dark) 8%, transparent) !important;
	background-color: var(--color-surface-muted) !important;
	border-radius: var(--radius-lg) !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: left !important;
	color: var(--color-text-primary) !important;
}

.page-teste-quiz-gds-15 .forminator-quiz--list .forminator-quiz--result .forminator-result--content,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--list .forminator-quiz--result .forminator-result--content,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result .forminator-result--content {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-bottom: 0 !important;
	padding: clamp(1.25rem, 4vw, 2rem) !important;
	text-align: left !important;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.page-teste-quiz-gds-15 .forminator-quiz--list .forminator-result--text,
.page-teste-quiz-gds-15 .forminator-quiz--list .forminator-result--title,
.page-teste-quiz-gds-15 .forminator-quiz--list .forminator-result--description,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--text,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--title,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--description,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--text,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--title,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--description {
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--title {
	margin: 0 0 0.5rem !important;
	color: var(--color-primary-dark) !important;
	font-weight: 600 !important;
	font-size: var(--font-size-24) !important;
	line-height: 1.35 !important;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--description,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--description p {
	margin: 0 !important;
	font-size: var(--font-size-16) !important;
	line-height: 1.7 !important;
	color: var(--color-text-primary) !important;
}

/* Texto único do resultado (Forminator mete tudo na description) */
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--text:not(:has(.forminator-result--title)) .forminator-result--description,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--text:not(:has(.forminator-result--title)) .forminator-result--description p {
	font-size: var(--font-size-18) !important;
	line-height: 1.65 !important;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--description strong,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--title strong {
	color: var(--color-primary-dark) !important;
	font-weight: 600 !important;
}

/* Título único com frase completa (sem description) */
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--text:not(:has(.forminator-result--description)) .forminator-result--title {
	font-size: var(--font-size-18) !important;
	font-weight: 400 !important;
	color: var(--color-text-primary) !important;
	line-height: 1.65 !important;
}

/*
 * GDS-15 — escala clínica em quiz «knowledge»: sem feedback certo/errado por pergunta
 * (Forminator injecta «Incorrect»/«Correct» em .forminator-question--result).
 */
.page-teste-quiz-gds-15 .forminator-question--result,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-question--result {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.page-teste-quiz-gds-15 .forminator-answer.forminator-is-incorrect .forminator-answer--design,
.page-teste-quiz-gds-15 .forminator-answer.forminator-is-correct .forminator-answer--design,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-answer.forminator-is-incorrect .forminator-answer--design,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-answer.forminator-is-correct .forminator-answer--design {
	border-color: var(--color-primary-accent) !important;
	background-color: color-mix(
		in srgb,
		var(--color-primary-light) 8%,
		var(--color-surface-base)
	) !important;
}

.page-teste-quiz-gds-15 .forminator-answer.forminator-is-incorrect input:checked + .forminator-answer--design .forminator-answer--status,
.page-teste-quiz-gds-15 .forminator-answer.forminator-is-correct input:checked + .forminator-answer--design .forminator-answer--status,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-answer.forminator-is-incorrect input:checked + .forminator-answer--design .forminator-answer--status,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-answer.forminator-is-correct input:checked + .forminator-answer--design .forminator-answer--status {
	color: var(--color-surface-base) !important;
	background-color: var(--color-primary-accent) !important;
	border-color: var(--color-primary-accent) !important;
}

/*
 * GDS-15 — acções do resultado (quiz list: .forminator-quiz--action-buttons dentro de .forminator-result).
 * buttons.css exige .forminator-button-dynamic — o list quiz nem sempre traz essa classe.
 */
.page-teste-quiz-gds-15 .forminator-result .forminator-quiz--action-buttons,
.page-teste-quiz-gds-15 .forminator-quiz--action-buttons,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-result .forminator-quiz--action-buttons,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-quiz--action-buttons,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result .forminator-quiz--action-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	flex-direction: column-reverse !important;
	justify-content: flex-end !important;
	align-items: stretch !important;
	gap: var(--btn-actions-gap) !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 0 clamp(1.25rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem) !important;
	margin-top: 0 !important;
	border: none !important;
	background: transparent !important;
}

.page-teste-quiz-gds-15 .forminator-result .forminator-button.forminator-result--retake,
.page-teste-quiz-gds-15 .forminator-result button.forminator-result--retake,
.page-teste-quiz-gds-15 .forminator-quiz--action-buttons .forminator-button.forminator-result--retake,
.page-teste-quiz-gds-15 .forminator-quiz--action-buttons button.forminator-button.forminator-result--retake,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-result .forminator-button.forminator-result--retake,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-result button.forminator-result--retake,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-quiz--action-buttons .forminator-button.forminator-result--retake,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-quiz--action-buttons button.forminator-button.forminator-result--retake {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: var(--size-form-submit-min-height) !important;
	padding: var(--btn-padding-block) var(--btn-padding-inline) !important;
	border-radius: 999px !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-16) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border: 1px solid var(--btn-action-border) !important;
	background-color: var(--btn-action-bg) !important;
	background-image: none !important;
	color: var(--btn-action-color) !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	flex-wrap: nowrap !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--retake span {
	white-space: nowrap !important;
}

.page-teste-quiz-gds-15 .forminator-result .forminator-button.forminator-result--retake:hover,
.page-teste-quiz-gds-15 .forminator-quiz--action-buttons .forminator-button.forminator-result--retake:hover,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-result .forminator-button.forminator-result--retake:hover,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-quiz--action-buttons .forminator-button.forminator-result--retake:hover {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
}

.page-teste-quiz-gds-15 .forminator-result .forminator-button.forminator-result--retake:focus-visible,
.page-teste-quiz-gds-15 .forminator-quiz--action-buttons .forminator-button.forminator-result--retake:focus-visible,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-result .forminator-button.forminator-result--retake:focus-visible,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-quiz--action-buttons .forminator-button.forminator-result--retake:focus-visible {
	outline: 0 !important;
	box-shadow: 0 0 0 0.2rem var(--btn-action-focus-ring) !important;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--retake .forminator-icon-refresh {
	color: var(--btn-action-color) !important;
	margin-right: 0.35rem !important;
	font-size: 1em !important;
	line-height: 1 !important;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result--retake::before {
	content: none !important;
	display: none !important;
}

@media (min-width: 576px) {
	.page-teste-quiz-gds-15 .forminator-result .forminator-quiz--action-buttons,
	.page-teste-quiz-gds-15 .forminator-quiz--action-buttons,
	.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-result .forminator-quiz--action-buttons,
	.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-quiz--action-buttons {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
	}

	.page-teste-quiz-gds-15 .forminator-result .forminator-button.forminator-result--retake,
	.page-teste-quiz-gds-15 .forminator-quiz--action-buttons .forminator-button.forminator-result--retake,
	.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-result .forminator-button.forminator-result--retake,
	.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]):has(.forminator-result) .forminator-quiz--action-buttons .forminator-button.forminator-result--retake {
		width: auto !important;
		min-width: var(--size-button-min-width-horizontal-form) !important;
		max-width: 100% !important;
		margin-left: auto !important;
	}
}

/*
 * A.4 — reforço no fim do ficheiro: ganha cascade sobre style-{id}.css do Forminator
 * (enqueue tardio em assets.php). Sem IDs de módulo — só prefixo forminator-module-*.
 */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer:not(.forminator-answer--selected) input:checked + .forminator-answer--design .forminator-answer--status {
    color: var(--color-surface-base) !important;
    background-color: var(--color-primary-accent) !important;
    border-color: var(--color-primary-accent) !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz[data-quiz="knowledge"]
    .forminator-answer input[type="checkbox"]:checked + .forminator-answer--design .forminator-answer--status::before {
    content: "✓" !important;
    font-family: forminator-icons-font, sans-serif !important;
    color: var(--color-surface-base) !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz[data-quiz="knowledge"]
    .forminator-answer input[type="checkbox"] + .forminator-answer--design .forminator-answer--status .forminator-icon-check {
    display: none !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status .forminator-icon-check,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz
    .forminator-answer input:checked + .forminator-answer--design .forminator-answer--status .forminator-icon-check::before {
    color: var(--color-surface-base) !important;
}

/* Quiz list knowledge (GDS): com resultado visível, anular flex/text-align à direita de A.6 */
body form.forminator-ui.forminator-quiz[data-quiz="knowledge"] .forminator-quiz--result:has(.forminator-result),
body form[id^="forminator-module-"].forminator-ui.forminator-quiz[data-quiz="knowledge"] .forminator-quiz--result:has(.forminator-result) {
	display: block !important;
	justify-content: initial !important;
	text-align: left !important;
}

/* A.6 — «Ver Resultado» quiz list: reforço cascade sobre style-{id}.css */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit {
    border: 1px solid var(--btn-action-border) !important;
    background-color: var(--btn-action-bg) !important;
    color: var(--btn-action-color) !important;
    border-radius: 999px !important;
    font-size: var(--font-size-16) !important;
}

body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > .forminator-button.forminator-button-submit:disabled,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz .forminator-quiz--result > button.forminator-button.forminator-button-submit:disabled {
    background-color: var(--color-surface-disabled) !important;
    color: var(--color-text-disabled) !important;
}

/*
 * Captura de leads (landing): com .th-quiz-leads-step no <form> (main.js) esconder Anterior/Seguinte
 * no rodapé — reforço cascade sobre a regra a11y que força .forminator-button-back visível (~1124).
 */
body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer .forminator-button.forminator-button-back,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer button.forminator-button.forminator-button-back,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer a.forminator-button.forminator-button-back,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer .forminator-button.forminator-button-next,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer button.forminator-button.forminator-button-next,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer a.forminator-button.forminator-button-next,
body form.forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer .forminator-button.forminator-button-back,
body form.forminator-ui.forminator-quiz.th-quiz-leads-step .forminator-pagination-footer .forminator-button.forminator-button-next {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/*
 * C.2 — GDS knowledge: resultado + «Repetir» — reforço final sobre style-{id}.css do Forminator.
 */
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--result:has(.forminator-result),
body form.forminator-ui.forminator-quiz[data-quiz="knowledge"].forminator-quiz--list .forminator-quiz--result:has(.forminator-result) {
	display: block !important;
	justify-content: initial !important;
	text-align: left !important;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
	border: 1px solid color-mix(in srgb, var(--color-primary-dark) 12%, transparent) !important;
	box-shadow: 0 4px 24px color-mix(in srgb, var(--color-primary-dark) 8%, transparent) !important;
	background-color: var(--color-surface-muted) !important;
	border-radius: var(--radius-lg) !important;
	overflow: hidden !important;
}

body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result .forminator-button.forminator-result--retake,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result button.forminator-result--retake,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--action-buttons .forminator-button.forminator-result--retake,
body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--action-buttons button.forminator-result--retake,
body form.forminator-ui.forminator-quiz[data-quiz="knowledge"] .forminator-result .forminator-button.forminator-result--retake,
body form.forminator-ui.forminator-quiz[data-quiz="knowledge"] .forminator-quiz--action-buttons .forminator-button.forminator-result--retake {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: var(--size-form-submit-min-height) !important;
	padding: var(--btn-padding-block) var(--btn-padding-inline) !important;
	border-radius: 999px !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-16) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	border: 1px solid var(--btn-action-border) !important;
	background-color: var(--btn-action-bg) !important;
	background-image: none !important;
	color: var(--btn-action-color) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: pointer !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	white-space: nowrap !important;
	flex-wrap: nowrap !important;
}

@media (min-width: 576px) {
	body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result .forminator-button.forminator-result--retake,
	body .forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-quiz--action-buttons .forminator-button.forminator-result--retake,
	body form.forminator-ui.forminator-quiz[data-quiz="knowledge"] .forminator-result .forminator-button.forminator-result--retake,
	body form.forminator-ui.forminator-quiz[data-quiz="knowledge"] .forminator-quiz--action-buttons .forminator-button.forminator-result--retake {
		width: auto !important;
		min-width: var(--size-button-min-width-horizontal-form) !important;
		max-width: 100% !important;
		margin-left: auto !important;
	}
}

/* CRM flowbase — label/descrição injectados em .fc-quiz-resultado (flowbase-crm-quiz.js) */
.page-teste-quiz-gds-15 .forminator-result .fc-quiz-resultado,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .forminator-result .fc-quiz-resultado,
[data-fc-quiz-id] .forminator-result .fc-quiz-resultado {
	box-sizing: border-box !important;
	width: 100% !important;
	padding: clamp(1.25rem, 4vw, 2rem) !important;
	text-align: left !important;
}

.page-teste-quiz-gds-15 .fc-quiz-resultado__label,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .fc-quiz-resultado__label,
[data-fc-quiz-id] .fc-quiz-resultado__label {
	margin: 0 0 0.5rem !important;
	color: var(--color-primary-dark) !important;
	font-weight: 700 !important;
	font-size: var(--font-size-32) !important;
	line-height: 1.2 !important;
}

/* Label principal — cor por nível de risco (semáforo clínico) */
[data-fc-quiz-id] .fc-quiz-resultado--risco-baixo .fc-quiz-resultado__label {
	color: var(--color-accent) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado--risco-moderado .fc-quiz-resultado__label {
	color: var(--color-cta-avatar-ring) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado--risco-elevado .fc-quiz-resultado__label {
	color: var(--color-text-danger) !important;
}

.page-teste-quiz-gds-15 .fc-quiz-resultado__descricao,
.forminator-quiz-leads:has(form.forminator-quiz[data-quiz="knowledge"]) .fc-quiz-resultado__descricao,
[data-fc-quiz-id] .fc-quiz-resultado__descricao {
	margin: 0 !important;
	color: var(--color-text-primary) !important;
	font-size: var(--font-size-18) !important;
	line-height: 1.65 !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__pontuacao {
	margin: 0 0 1.25rem !important;
	color: var(--color-text-disabled) !important;
	font-size: var(--font-size-14) !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-wrap {
	margin: 0 0 var(--space-form-row-gap) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse !important;
	font-size: var(--font-size-16) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-cabecalho th {
	padding: 0.5rem 0.75rem !important;
	border-bottom: 1px solid var(--color-border-subtle) !important;
	text-align: left !important;
	font-size: var(--font-size-12) !important;
	font-weight: 600 !important;
	color: var(--color-text-disabled) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-intervalo,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-label {
	padding: 0.5rem 0.75rem !important;
	border-bottom: 1px solid var(--color-border-subtle) !important;
	border-left: 4px solid transparent !important;
	text-align: left !important;
	color: var(--color-text-primary) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela .fc-quiz-resultado__tabela-intervalo {
	white-space: nowrap !important;
	font-weight: 500 !important;
}

/* Vista mobile — cartões (visível só com d-sm-none do Bootstrap) */
[data-fc-quiz-id] .fc-quiz-resultado__tabela-mobile {
	gap: var(--space-form-row-gap) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao {
	border: 1px solid var(--color-border-subtle) !important;
	border-left-width: 4px !important;
	border-left-color: transparent !important;
	border-radius: var(--radius-control-sm) !important;
	overflow: hidden !important;
	background-color: var(--color-surface) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao .fc-quiz-resultado__tabela-intervalo,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao .fc-quiz-resultado__tabela-label {
	display: block !important;
	white-space: normal !important;
	border-bottom: none !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao .fc-quiz-resultado__tabela-intervalo {
	padding-bottom: 0.25rem !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao-etiqueta {
	display: block !important;
	margin-bottom: 0.15rem !important;
	font-size: var(--font-size-12) !important;
	font-weight: 600 !important;
	color: var(--color-text-disabled) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao-valor {
	display: block !important;
	font-size: var(--font-size-16) !important;
	line-height: 1.45 !important;
}

/* Linha activa — risco baixo */
[data-fc-quiz-id] .fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-baixo .fc-quiz-resultado__tabela-intervalo,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-baixo .fc-quiz-resultado__tabela-label,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao.fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-baixo {
	border-left-color: var(--color-interactive) !important;
	background-color: var(--color-surface-brand-weak) !important;
	color: var(--color-accent) !important;
	font-weight: 600 !important;
}

/* Linha activa — risco moderado */
[data-fc-quiz-id] .fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-moderado .fc-quiz-resultado__tabela-intervalo,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-moderado .fc-quiz-resultado__tabela-label,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao.fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-moderado {
	border-left-color: var(--color-cta-avatar-ring) !important;
	background-color: color-mix(in srgb, var(--color-cta-avatar-ring) 12%, var(--color-surface)) !important;
	font-weight: 600 !important;
}

/* Linha activa — risco elevado */
[data-fc-quiz-id] .fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-elevado .fc-quiz-resultado__tabela-intervalo,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-elevado .fc-quiz-resultado__tabela-label,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao.fc-quiz-resultado__tabela-linha--actual.fc-quiz-resultado__tabela-linha--risco-elevado {
	border-left-color: var(--color-danger) !important;
	background-color: color-mix(in srgb, var(--color-danger) 10%, var(--color-surface)) !important;
	color: var(--color-text-danger) !important;
	font-weight: 600 !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__tabela-cartao.fc-quiz-resultado__tabela-linha--actual {
	border-left-width: 4px !important;
	border-left-style: solid !important;
	box-shadow: 0 2px 8px color-mix(in srgb, var(--color-primary-dark) 6%, transparent) !important;
}

/* Acções CRM — esconder retake Forminator; barra injectada pelo flowbase-crm-quiz.js */
[data-fc-quiz-id] .forminator-quiz--action-buttons {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__accoes {
	align-self: stretch !important;
	width: 100% !important;
	margin-top: var(--space-form-row-gap) !important;
	padding-top: var(--space-form-row-gap) !important;
	border-top: 1px solid var(--color-border-subtle) !important;
}

[data-fc-quiz-id] .fc-quiz-resultado__btn-confirmar:disabled,
[data-fc-quiz-id] .fc-quiz-resultado__btn-confirmar[aria-disabled="true"] {
	background-color: var(--color-surface-disabled) !important;
	color: var(--color-text-disabled) !important;
	border-color: var(--color-border-subtle) !important;
	opacity: 0.65 !important;
	cursor: not-allowed !important;
}

/* CRM — ecrã de resultado alinhado à esquerda; sem caixa vazia do Forminator */
[data-fc-quiz-id] .forminator-quiz--result,
[data-fc-quiz-id] .forminator-quiz--result .forminator-result {
	display: block !important;
	text-align: left !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	width: 100% !important;
}

[data-fc-quiz-id] .forminator-quiz--summary,
[data-fc-quiz-id] .forminator-quiz--summary p {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

[data-fc-quiz-id] .fc-quiz-resultado,
[data-fc-quiz-id] .fc-quiz-resultado__label,
[data-fc-quiz-id] .fc-quiz-resultado__pontuacao,
[data-fc-quiz-id] .fc-quiz-resultado__descricao,
[data-fc-quiz-id] .fc-quiz-resultado__tabela-wrap {
	text-align: left !important;
	align-self: stretch !important;
	width: 100% !important;
}

[data-fc-quiz-id][data-fc-api-pendente] .forminator-quiz--result {
	visibility: hidden !important;
}

[data-fc-quiz-id] .forminator-quiz--result:has(.fc-quiz-resultado) > .forminator-button.forminator-button-submit,
[data-fc-quiz-id] .forminator-quiz--result:has(.fc-quiz-resultado) > button.forminator-button-submit {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

[data-fc-quiz-id] .fc-quiz-resultado {
	scroll-margin-top: 5rem;
}

/* Esconder botão "Calcular resultado" e rodapé de paginação durante a
   transição para o resultado clínico (fc-transicao-resultado). */
[data-fc-quiz-id][data-fc-transicao-resultado] .forminator-quiz--result .forminator-button-submit,
[data-fc-quiz-id][data-fc-transicao-resultado] .forminator-pagination-footer {
	visibility: hidden !important;
}

/* Impedir que o browser ajuste o scroll automaticamente (scroll anchoring)
   enquanto o guarda de scroll está activo. */
[data-fc-quiz-id][data-fc-scroll-guard] {
	overflow-anchor: none !important;
}
