/**
 * Botões — design system Vivazmente (Fase A)
 *
 * Classes: .th-btn-action | .th-btn-action--block | .th-btn-secondary | .th-btn-actions
 *          .th-btn-lift (+ --accent | --brand | --pill) | .th-btn-lift-wrap (link pai)
 * Tokens: css/tokens/variables.css (--btn-action-*, --th-lift-*)
 *
 * Fase A: estilos + mapeamento por selector nos plugins (abaixo).
 * Fase B (depois dos testes): só classes aqui; ponte fina em ficheiro à parte.
 *
 * Um botão: filtros → --block; formulários CF7 → largura max, alinhado à esquerda.
 * Dois botões: secundário à esquerda, primário à direita; gap único --btn-actions-gap (1.5rem / 24px).
 */

/* Todos os botões — peso 600 literal (Plus Jakarta semibold; não usar --font-weight-bold) */
body :is(
	.btn,
	a.btn,
	button.btn,
	input.btn,
	button[type="submit"]:not(.fa):not([class*="fa-"]),
	button[type="button"]:not(.fa):not([class*="fa-"]),
	input[type="submit"],
	input[type="button"],
	.wpcf7-submit,
	.forminator-button,
	button.forminator-button,
	a.forminator-button,
	input.forminator-button,
	.hero-btn,
	.test-btn,
	.th-btn-action,
	.th-btn-secondary,
	.th-btn,
	.th-btn-lift,
	.ea-btn
) {
	font-weight: 600 !important;
}

/* ── Base partilhada (altura, padding, pill) ── */

.th-btn-action,
.th-btn.th-btn--primary,
.th-btn-secondary,
.wrap-contact-form .wpcf7-submit,
.wrap-contact-form input.wpcf7-submit,
.wrap-contact-form button.wpcf7-submit,
body .ea-bootstrap .ea-btn.ea-submit,
body .ea-bootstrap-wrapper .ea-btn.ea-submit,
body .ea-bootstrap a.ea-btn.ea-submit,
body .ea-bootstrap-wrapper a.ea-btn.ea-submit,
body .ea-bootstrap button.ea-btn.ea-submit,
body .ea-bootstrap-wrapper button.ea-btn.ea-submit,
body .ea-bootstrap .booking-button.btn-primary,
body .ea-bootstrap-wrapper .booking-button.btn-primary,
body .ea-bootstrap input[type="submit"].btn.btn-primary.booking-button,
body .ea-bootstrap-wrapper input[type="submit"].btn.btn-primary.booking-button,
body .ea-bootstrap .ea-btn.ea-cancel,
body .ea-bootstrap-wrapper .ea-btn.ea-cancel,
body .ea-bootstrap a.ea-btn.ea-cancel,
body .ea-bootstrap-wrapper a.ea-btn.ea-cancel,
body .ea-bootstrap button.ea-btn.ea-cancel,
body .ea-bootstrap-wrapper button.ea-btn.ea-cancel,
body .ea-bootstrap .btn.booking-cancel,
body .ea-bootstrap-wrapper .btn.booking-cancel,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-ui .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-ui .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-ui .forminator-pagination-footer 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),
body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
body .forminator-ui .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--view-answers,
body .forminator-quiz .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--view-answers,
body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
body .forminator-ui .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--retake,
body .forminator-quiz .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--retake {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !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;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

/* ── Primário ── */

.th-btn-action,
.th-btn.th-btn--primary,
.wrap-contact-form .wpcf7-submit,
.wrap-contact-form input.wpcf7-submit,
.wrap-contact-form button.wpcf7-submit,
body .ea-bootstrap .ea-btn.ea-submit,
body .ea-bootstrap-wrapper .ea-btn.ea-submit,
body .ea-bootstrap a.ea-btn.ea-submit,
body .ea-bootstrap-wrapper a.ea-btn.ea-submit,
body .ea-bootstrap button.ea-btn.ea-submit,
body .ea-bootstrap-wrapper button.ea-btn.ea-submit,
body .ea-bootstrap .booking-button.btn-primary,
body .ea-bootstrap-wrapper .booking-button.btn-primary,
body .ea-bootstrap input[type="submit"].btn.btn-primary.booking-button,
body .ea-bootstrap-wrapper input[type="submit"].btn.btn-primary.booking-button,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled),
body .forminator-ui .forminator-pagination-footer 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),
body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
body .forminator-ui .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--retake,
body .forminator-quiz .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--retake {
	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;
	--bs-btn-bg: var(--btn-action-bg);
	--bs-btn-border-color: var(--btn-action-border);
	--bs-btn-color: var(--btn-action-color);
	--bs-btn-hover-bg: var(--btn-action-hover-bg);
	--bs-btn-hover-border-color: var(--btn-action-hover-bg);
	--bs-btn-hover-color: var(--btn-action-hover-color);
}

.th-btn-action:hover,
.th-btn-action:focus-visible,
.th-btn.th-btn--primary:hover,
.th-btn.th-btn--primary:focus-visible,
.wrap-contact-form .wpcf7-submit:hover,
.wrap-contact-form .wpcf7-submit:focus-visible,
.wrap-contact-form input.wpcf7-submit:hover,
.wrap-contact-form input.wpcf7-submit:focus-visible,
body .ea-bootstrap .ea-btn.ea-submit:hover,
body .ea-bootstrap-wrapper .ea-btn.ea-submit:hover,
body .ea-bootstrap a.ea-btn.ea-submit:hover,
body .ea-bootstrap-wrapper a.ea-btn.ea-submit:hover,
body .ea-bootstrap button.ea-btn.ea-submit:hover,
body .ea-bootstrap-wrapper button.ea-btn.ea-submit:hover,
body .ea-bootstrap .booking-button.btn-primary:hover,
body .ea-bootstrap-wrapper .booking-button.btn-primary:hover,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled):hover,
body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake:hover,
body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.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;
	outline: 0 !important;
	box-shadow: none !important;
}

.th-btn-action:focus-visible,
body .ea-bootstrap .ea-btn.ea-submit:focus-visible,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next:focus-visible {
	box-shadow: 0 0 0 0.2rem var(--btn-action-focus-ring) !important;
}

/* ── Secundário (outline) ── */

.th-btn-secondary,
body .ea-bootstrap .ea-btn.ea-cancel,
body .ea-bootstrap-wrapper .ea-btn.ea-cancel,
body .ea-bootstrap a.ea-btn.ea-cancel,
body .ea-bootstrap-wrapper a.ea-btn.ea-cancel,
body .ea-bootstrap button.ea-btn.ea-cancel,
body .ea-bootstrap-wrapper button.ea-btn.ea-cancel,
body .ea-bootstrap .btn.booking-cancel,
body .ea-bootstrap-wrapper .btn.booking-cancel,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-ui .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-ui .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination-footer button.forminator-button.forminator-button-back,
body .forminator-quiz .forminator-pagination-footer a.forminator-button.forminator-button-back,
body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
body .forminator-ui .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--view-answers,
body .forminator-quiz .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--view-answers {
	border: 2px solid var(--btn-secondary-border) !important;
	background-color: var(--btn-secondary-bg) !important;
	background-image: none !important;
	color: var(--btn-secondary-color) !important;
}

.th-btn-secondary:hover,
.th-btn-secondary:focus-visible,
body .ea-bootstrap .ea-btn.ea-cancel:hover,
body .ea-bootstrap-wrapper .ea-btn.ea-cancel:hover,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-back:hover,
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-back:hover,
body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers:hover,
body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers:hover {
	background-color: var(--btn-secondary-hover-bg) !important;
	border-color: var(--btn-secondary-hover-border) !important;
	color: var(--btn-secondary-color) !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.th-btn-secondary:focus-visible,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-back:focus-visible,
body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers:focus-visible {
	box-shadow: 0 0 0 0.2rem var(--btn-secondary-focus-ring) !important;
}

/* ── Largura (isolado vs par) ── */

.th-btn-action--block,
.th-btn.th-btn--block,
.wrap-filters .th-btn-action.th-btn-action--block {
	width: 100% !important;
	max-width: none !important;
}

.wrap-contact-form .wpcf7-submit.th-btn-action,
.wrap-contact-form input.wpcf7-submit.th-btn-action {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.error404-page .th-btn-action {
	margin-inline: auto !important;
}

/*
 * Grupos de acção — gap fixo (--btn-actions-gap), nunca space-between.
 * Quiz: grupo à direita. Agenda/CF7 par: à esquerda. Ordem: secundário (1) | primário (2).
 */
.th-btn-actions,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group {
	display: flex !important;
	flex-direction: column-reverse;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--btn-actions-gap);
	column-gap: var(--btn-actions-gap);
	row-gap: var(--btn-actions-gap);
	width: 100%;
	box-sizing: border-box;
}

body .forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
body .forminator-custom-form: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,
body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty) {
	display: flex !important;
	flex-direction: column-reverse;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: flex-end;
	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;
}

.th-btn-actions > .th-btn-action,
.th-btn-actions > .th-btn-secondary,
.th-btn-actions > .th-btn-action--block,
body .forminator-ui .forminator-pagination-footer .forminator-button,
body .forminator-quiz .forminator-pagination-footer .forminator-button,
body .forminator-ui .forminator-quiz--action-buttons .forminator-button,
body .forminator-quiz .forminator-quiz--action-buttons .forminator-button,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .btn {
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* EA: DOM = Enviar depois Cancelar — ordem visual secundário | primário */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group button.ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .booking-button.btn-primary,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group a.ea-btn.ea-submit {
	order: 2;
	margin: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group a.ea-btn.ea-cancel {
	order: 1;
	margin: 0 !important;
}

/* Seguinte disabled — cores (largura fixa só em tablet+, ver @media min-width 576px) */
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled,
body .forminator-ui .forminator-pagination-footer button.forminator-button.forminator-button-next.forminator-disabled,
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled,
body .forminator-quiz .forminator-pagination-footer button.forminator-button.forminator-button-next.forminator-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;
	box-sizing: border-box !important;
}

body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-back,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-back {
	order: 1 !important;
	margin: 0 !important;
}

body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next,
body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-submit,
body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-submit,
body .forminator-quiz .forminator-pagination-footer #forminator-submit,
body .forminator-ui .forminator-pagination-footer #forminator-submit {
	order: 2 !important;
	margin: 0 !important;
}

body .forminator-ui .forminator-result .forminator-button.forminator-result--retake span,
body .forminator-quiz .forminator-result .forminator-button.forminator-result--retake span {
	white-space: nowrap !important;
}

/*
 * Mobile (max 575px): todos os botões de acção a 100% (primário, secundário, disabled).
 * Tablet+ (576px+): larguras fixas e alinhamento por contexto.
 * Excepção intencional a bootstrap5-layout.mdc: max-width necessário para isolar
 * override de botões a mobile sem afectar tablet+; min-width não serve este padrão.
 */
@media (max-width: 575px) {
	.th-btn-actions,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group,
	body .forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
	body .forminator-custom-form: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,
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty) {
		flex-direction: column-reverse !important;
		align-items: stretch !important;
		justify-content: center !important;
		gap: var(--btn-actions-gap) !important;
	}

	/* CRM quiz — mobile: coluna à esquerda (Editar primeiro, largura total) */
	.th-btn-actions.fc-quiz-resultado__accoes {
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
	}

	.th-btn-action:not(.th-btn-action--block),
	.th-btn-actions > .th-btn-action,
	.th-btn-actions > .th-btn-secondary,
	.th-btn-actions > .th-btn-action--block,
	.th-btn-actions > .fc-quiz-resultado__btn-confirmar-wrap,
	.th-btn-actions > .fc-quiz-resultado__btn-confirmar-wrap .fc-quiz-resultado__btn-confirmar,
	body .forminator-ui .forminator-pagination-footer .forminator-button,
	body .forminator-ui .forminator-pagination-footer button.forminator-button,
	body .forminator-quiz .forminator-pagination-footer .forminator-button,
	body .forminator-quiz .forminator-pagination-footer button.forminator-button,
	body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next,
	body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled,
	body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next,
	body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled,
	body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-back,
	body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-back,
	body .forminator-ui .forminator-quiz--action-buttons .forminator-button,
	body .forminator-ui .forminator-quiz--action-buttons button.forminator-button,
	body .forminator-quiz .forminator-quiz--action-buttons .forminator-button,
	body .forminator-quiz .forminator-quiz--action-buttons button.forminator-button,
	body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
	body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
	body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
	body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group button.ea-btn,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .btn,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-submit.th-btn-action,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .btn,
	.wrap-contact-form .wpcf7-submit,
	.wrap-contact-form input.wpcf7-submit,
	.wrap-contact-form button.wpcf7-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-field .forminator-button.forminator-button-submit,
	body [id^="forminator-quiz-leads-"] 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 form.forminator-leads-form .forminator-row-last .forminator-button.forminator-button-submit {
		display: inline-flex !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
	body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake {
		white-space: nowrap !important;
	}
}

/* sm | min-width: 576px */
@media (min-width: 576px) {
	/* Primário + Seguinte disabled — mesma largura (sem salto ao activar) */
	body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled),
	body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next:not(.forminator-disabled),
	body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled,
	body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-next.forminator-disabled,
	body .forminator-ui .forminator-pagination-footer button.forminator-button.forminator-button-next.forminator-disabled,
	body .forminator-quiz .forminator-pagination-footer button.forminator-button.forminator-button-next.forminator-disabled,
	body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled),
	body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-submit:not(.forminator-disabled),
	body .forminator-quiz .forminator-pagination-footer #forminator-submit,
	body .forminator-ui .forminator-pagination-footer #forminator-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group button.ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .booking-button.btn-primary,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group input[type="submit"].btn.btn-primary,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group a.ea-btn.ea-submit,
	.th-btn-actions > .th-btn-action:not(.th-btn-action--block),
	.th-btn-action:not(.th-btn-action--block),
	.th-btn.th-btn--primary:not(.th-btn--block),
	.wrap-contact-form .wpcf7-submit,
	.wrap-contact-form input.wpcf7-submit,
	.wrap-contact-form button.wpcf7-submit {
		width: var(--size-button-primary-width) !important;
		min-width: var(--size-button-primary-width) !important;
		max-width: var(--size-button-primary-width) !important;
	}

	/* Secundário em pares — largura pelo texto */
	body .forminator-ui .forminator-pagination-footer .forminator-button.forminator-button-back,
	body .forminator-quiz .forminator-pagination-footer .forminator-button.forminator-button-back,
	body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
	body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .btn.booking-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-cancel,
	.th-btn-actions > .th-btn-secondary,
	.th-btn-actions > .fc-quiz-resultado__btn-editar {
		width: auto !important;
		min-width: var(--size-button-min-width-horizontal-form) !important;
		max-width: var(--size-form-submit-max-width) !important;
	}

	/* CRM quiz — texto longo no primário (Confirmar Avaliação) */
	.th-btn-actions > .fc-quiz-resultado__btn-confirmar-wrap {
		display: inline-flex !important;
		width: auto !important;
		max-width: var(--size-form-submit-max-width) !important;
	}

	.th-btn-actions > .fc-quiz-resultado__btn-confirmar-wrap .fc-quiz-resultado__btn-confirmar {
		width: auto !important;
		min-width: var(--size-button-primary-width-wide) !important;
		max-width: var(--size-form-submit-max-width) !important;
		white-space: nowrap !important;
	}

	body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
	body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
	body .forminator-ui .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--retake,
	body .forminator-quiz .forminator-result button.forminator-button.forminator-button-dynamic.forminator-result--retake {
		width: var(--size-button-primary-width-wide) !important;
		min-width: var(--size-button-primary-width-wide) !important;
		max-width: var(--size-button-primary-width-wide) !important;
		white-space: nowrap !important;
	}

	.th-btn-actions,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: var(--btn-actions-gap);
		column-gap: var(--btn-actions-gap);
		row-gap: var(--btn-actions-gap);
	}

	/* CRM quiz — par secundário | primário alinhado à direita (como forminator-quiz--action-buttons) */
	.th-btn-actions.fc-quiz-resultado__accoes {
		justify-content: flex-end;
	}

	body .forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty),
	body .forminator-custom-form: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,
	body form[id^="forminator-module-"].forminator-ui.forminator-quiz:not(.th-quiz-step-result) .forminator-pagination-footer:not(.th-quiz-footer-empty) {
		flex-direction: row !important;
		flex-wrap: wrap;
		align-items: center;
		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;
	}

	body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake,
	body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--retake {
		order: 2 !important;
	}

	body .forminator-ui .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers,
	body .forminator-quiz .forminator-result .forminator-button.forminator-button-dynamic.forminator-result--view-answers {
		order: 1 !important;
	}
}

/* Forminator — peso 600 (sem regras de rodapé do quiz; ver forminator-overrides.css) */
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,
body :is(button, a, input).forminator-button.forminator-button-back,
body :is(button, a, input).forminator-button.forminator-button-back.forminator-hidden,
body :is(button, a, input).forminator-button.forminator-button-next,
body :is(button, a, input).forminator-button.forminator-button-submit {
	font-weight: 600 !important;
}

/*
 * Micro-interacção lift — padrão uniforme (marketing e CTAs).
 * Uso: .th-btn-lift + variante; badge dentro de <a class="th-btn-lift-wrap">.
 * GSAP entrada: animar wrapper .hero-enter; .th-btn-lift fica livre para hover CSS.
 */
.th-btn-lift {
	transition:
		background-color var(--th-lift-duration) var(--th-lift-ease),
		box-shadow var(--th-lift-duration) var(--th-lift-ease),
		transform var(--th-lift-duration) var(--th-lift-ease);
	box-shadow: var(--th-lift-shadow);
}

.th-btn-lift:hover,
.th-btn-lift:focus-visible {
	opacity: 1 !important;
	transform: translateY(var(--th-lift-y));
	box-shadow: var(--th-lift-shadow-hover);
}

.th-btn-lift:active {
	transform: translateY(0);
	box-shadow: var(--th-lift-shadow-active);
}

.th-btn-lift--accent:hover,
.th-btn-lift--accent:focus-visible {
	background-color: var(--th-lift-accent-hover-bg);
}

.th-btn-lift--brand {
	--th-lift-shadow: none;
	--th-lift-shadow-hover: none;
	--th-lift-shadow-active: none;
}

.th-btn-lift--brand:hover,
.th-btn-lift--brand:focus-visible {
	background-color: var(--th-lift-brand-hover-bg);
	box-shadow: none;
}

.th-btn-lift--brand:active {
	box-shadow: none;
}

.th-btn-lift--pill {
	--th-lift-y: var(--th-lift-y-pill);
	--th-lift-shadow: var(--th-lift-pill-shadow);
	--th-lift-shadow-hover: var(--th-lift-pill-shadow-hover);
}

.th-btn-lift-wrap:hover,
.th-btn-lift-wrap:focus-visible {
	opacity: 1 !important;
}

.th-btn-lift-wrap:hover .th-btn-lift,
.th-btn-lift-wrap:focus-visible .th-btn-lift {
	opacity: 1 !important;
	transform: translateY(var(--th-lift-y));
	box-shadow: var(--th-lift-shadow-hover);
}

.th-btn-lift-wrap:active .th-btn-lift {
	transform: translateY(calc(var(--th-lift-y) * 0.35));
}

@media (prefers-reduced-motion: reduce) {
	.th-btn-lift {
		transition: background-color 0.2s ease, box-shadow 0.2s ease;
	}

	.th-btn-lift:hover,
	.th-btn-lift:focus-visible,
	.th-btn-lift-wrap:hover .th-btn-lift,
	.th-btn-lift-wrap:focus-visible .th-btn-lift {
		transform: none;
	}
}
