/*
 * Identidade visual compartilhada dos formulários AMRC.
 * Azul-marinho: estrutura e confiança.
 * Dourado: títulos, seleção e ações principais.
 * Cinza: ações secundárias.
 * Verde: segurança e confirmação de sucesso.
 */

body.amrc-form-identity {
	--amrc-navy: #061f5c;
	--amrc-navy-hover: #0b2f70;
	--amrc-gold: #f2c06c;
	--amrc-gold-hover: #e8ae4f;
	--amrc-gold-soft: #fff8eb;
	--amrc-ink: #14213d;
	--amrc-text: #38445a;
	--amrc-muted: #657084;
	--amrc-line: #e7ebf0;
	--amrc-surface: #ffffff;
	--amrc-page: #fafbfd;
	--amrc-secondary: #646c74;
	--amrc-secondary-hover: #515961;
	--amrc-success: #16a34a;
	--amrc-danger: #c93643;
	--amrc-radius: 20px;
	--amrc-control-radius: 10px;
	--amrc-shadow: 0 16px 42px rgba(15, 23, 42, 0.065);

	background: var(--amrc-page) !important;
	color: var(--amrc-text);
	font-family: Inter, "Segoe UI", Arial, sans-serif !important;
	font-weight: 300;
	line-height: 1.55;
	overflow-x: hidden;
}

body.amrc-form-identity,
body.amrc-form-identity *,
body.amrc-form-identity *::before,
body.amrc-form-identity *::after {
	box-sizing: border-box;
}

body.amrc-form-identity :where(
	form,
	.row,
	[class*="col-"],
	.grid,
	.actions
) {
	min-width: 0;
}

body.amrc-form-identity :where(
	.card-custom,
	.card,
	.donation-panel,
	.confirmar-panel,
	.checkout-summary-card,
	.credit-card-box,
	.pix-wrapper,
	.boleto-wrapper,
	#formContainer
) {
	background: var(--amrc-surface) !important;
	border-color: var(--amrc-line) !important;
	border-width: 1px !important;
	border-radius: var(--amrc-radius) !important;
	box-shadow: var(--amrc-shadow) !important;
}

body.amrc-form-identity :where(
	.section-title,
	.brinde-title,
	.confirmar-intro-title,
	.donation-intro-title,
	.titulo-secao,
	.titulo-texto,
	.pix-title,
	.boleto-title,
	.cc-title,
	.app-header-titulo-principal
) {
	color: var(--amrc-navy) !important;
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 400 !important;
	letter-spacing: -0.015em !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere;
}

body.amrc-form-identity :where(
	.confirmar-intro-text,
	.donation-intro-text,
	.pix-sub,
	.boleto-sub,
	.cc-subtitle,
	.form-text,
	small
) {
	color: var(--amrc-muted);
	font-weight: 300 !important;
	line-height: 1.6;
}

body.amrc-form-identity :where(
	label,
	.form-label,
	.label-clean,
	.brinde-label,
	.email-label,
	.valor-label
) {
	color: var(--amrc-ink) !important;
	font-size: 0.86rem;
	font-weight: 500 !important;
	letter-spacing: 0.005em;
}

body.amrc-form-identity :where(
	input:not([type="checkbox"]):not([type="radio"]),
	select,
	textarea,
	.form-control,
	.input-clean,
	.copy-input
) {
	color: var(--amrc-ink) !important;
	background-color: #fff !important;
	border: 1px solid #cfd7e2 !important;
	border-radius: var(--amrc-control-radius) !important;
	font-weight: 300 !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body.amrc-form-identity :where(
	input:not([type="checkbox"]):not([type="radio"]),
	select,
	textarea,
	.form-control,
	.input-clean,
	.copy-input
):focus {
	border-color: var(--amrc-gold) !important;
	box-shadow: 0 0 0 3px rgba(242, 192, 108, 0.18) !important;
	outline: 0 !important;
}

body.amrc-form-identity :where(
	input:not([type="checkbox"]):not([type="radio"]),
	textarea,
	.form-control,
	.input-clean
)::placeholder {
	color: #98a2b3 !important;
	font-weight: 300;
	opacity: 1;
}

body.amrc-form-identity :where(
	.btn-primary,
	.brinde-submit,
	.btn-finalizar,
	.btn-confirmar,
	.boleto-btn,
	.pix-btn,
	.btn-primary-custom,
	button#enviar
) {
	color: #fff !important;
	background: var(--amrc-gold) !important;
	border-color: var(--amrc-gold) !important;
	border-radius: var(--amrc-control-radius) !important;
	box-shadow: 0 7px 18px rgba(242, 192, 108, 0.24) !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em;
	min-height: 48px;
	transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

body.amrc-form-identity :where(
	.btn-primary,
	.brinde-submit,
	.btn-finalizar,
	.btn-confirmar,
	.boleto-btn,
	.pix-btn,
	.btn-primary-custom,
	button#enviar
):hover,
body.amrc-form-identity :where(
	.btn-primary,
	.brinde-submit,
	.btn-finalizar,
	.btn-confirmar,
	.boleto-btn,
	.pix-btn,
	.btn-primary-custom,
	button#enviar
):focus-visible {
	color: #fff !important;
	background: var(--amrc-gold-hover) !important;
	border-color: var(--amrc-gold-hover) !important;
	box-shadow: 0 9px 22px rgba(232, 174, 79, 0.28) !important;
	transform: translateY(-1px);
}

body.amrc-form-identity :where(
	.btn-alterar,
	.btn-secondary,
	.btn-suporte
) {
	color: #fff !important;
	background: var(--amrc-secondary) !important;
	border-color: var(--amrc-secondary) !important;
	border-radius: var(--amrc-control-radius) !important;
	font-weight: 500 !important;
}

body.amrc-form-identity :where(
	.btn-alterar,
	.btn-secondary,
	.btn-suporte
):hover {
	color: #fff !important;
	background: var(--amrc-secondary-hover) !important;
	border-color: var(--amrc-secondary-hover) !important;
}

body.amrc-form-identity :where(.btn-voltar-float, .btn-voltar) {
	color: #d9a04a !important;
	background: #fff !important;
	border-color: #dbe3ec !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 12px rgba(6, 31, 92, 0.07) !important;
}

body.amrc-form-identity :where(
	.valor-card,
	.valor-btn,
	.doacao-type,
	.pay-option
) {
	background: #fff !important;
	border-color: #dce3eb !important;
	border-radius: 12px !important;
	color: var(--amrc-ink) !important;
	font-weight: 400 !important;
}

body.amrc-form-identity :where(
	.valor-card,
	.valor-btn,
	.doacao-type,
	.pay-option
):hover {
	background: var(--amrc-gold-soft) !important;
	border-color: var(--amrc-gold) !important;
	box-shadow: 0 6px 16px rgba(242, 192, 108, 0.18) !important;
}

body.amrc-form-identity .btn-check:checked + :where(.valor-card, .valor-btn),
body.amrc-form-identity :where(.doacao-type.active, .pay-option.active, .pay-option.selected) {
	color: var(--amrc-navy) !important;
	background: var(--amrc-gold-soft) !important;
	border-color: var(--amrc-gold) !important;
	box-shadow: 0 0 0 3px rgba(242, 192, 108, 0.18) !important;
}

body.amrc-form-identity .brinde-checkbox {
	border-color: var(--amrc-gold) !important;
}

body.amrc-form-identity .brinde-check input:checked + .brinde-checkbox {
	background: var(--amrc-gold) !important;
	border-color: var(--amrc-gold) !important;
}

body.amrc-form-identity :where(.brinde-info, .pay-icon, .cc-icon) {
	color: #fff !important;
	background: var(--amrc-navy) !important;
}

body.amrc-form-identity .mini-card {
	background:
		radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.16), transparent 28%),
		linear-gradient(135deg, var(--amrc-navy) 0%, #123f7a 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 14px !important;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(6, 31, 92, 0.22) !important;
}

body.amrc-form-identity :where(
	.mini-card,
	.mini-card *,
	.mini-number,
	.mini-label,
	.mini-value
) {
	color: #fff !important;
}

body.amrc-form-identity :where(.mini-card-top, .mini-label) {
	font-weight: 300 !important;
}

body.amrc-form-identity :where(.mini-number, .mini-value) {
	font-weight: 400 !important;
}

body.amrc-form-identity :where(
	.btn-outline-primary,
	.link-cadastro,
	.btn-novo
) {
	color: var(--amrc-navy) !important;
	background: #eef4fb !important;
	border-color: #d6e2f0 !important;
}

body.amrc-form-identity :where(
	.btn-outline-primary,
	.link-cadastro,
	.btn-novo
):hover {
	color: #fff !important;
	background: var(--amrc-navy) !important;
	border-color: var(--amrc-navy) !important;
}

body.amrc-form-identity :where(
	.text-primary,
	.checkout-label,
	.payment-kicker,
	.copy-label-card
) {
	color: var(--amrc-navy) !important;
}

body.amrc-form-identity :where(
	.summary-name,
	.summary-value,
	.boleto-value,
	.pix-value
) {
	color: var(--amrc-gold) !important;
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 400 !important;
}

body.amrc-form-identity :where(
	.payment-kicker,
	.copy-btn,
	.pix-wait-pulse,
	.security-badge-bottom,
	.brinde-security
) {
	font-weight: 500 !important;
}

body.amrc-form-identity :where(
	.brinde-security,
	.security-badge-bottom
) {
	color: var(--amrc-success) !important;
	background: #f7fcf9 !important;
	border-color: #bfe8cb !important;
}

body.amrc-form-identity :where(
	.invalid-feedback,
	.msg-erro,
	.error-msg,
	.text-danger
) {
	color: var(--amrc-danger) !important;
}

body.amrc-form-identity :where(.spinner-border, .loader, .spinner) {
	color: var(--amrc-gold) !important;
	border-top-color: var(--amrc-gold) !important;
}

body.amrc-form-identity .divisor,
body.amrc-form-identity .confirmar-divisor,
body.amrc-form-identity .app-header-divider {
	background: var(--amrc-line) !important;
	border-color: var(--amrc-line) !important;
}

@media (max-width: 768px) {
	body.amrc-form-identity {
		--amrc-radius: 16px;
	}

	body.amrc-form-identity :where(
		.card-custom,
		.card,
		.donation-panel,
		.confirmar-panel,
		.checkout-summary-card,
		.credit-card-box,
		.pix-wrapper,
		.boleto-wrapper,
		#formContainer
	) {
		box-shadow: 0 8px 24px rgba(15, 23, 42, 0.055) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.amrc-form-identity *,
	body.amrc-form-identity *::before,
	body.amrc-form-identity *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
