/* TRD Smart Form — cores da marca: preto #1a1816, laranja #f06900, branco #fff */
.trd-sf {
	--trd-preto: #1a1816;
	--trd-laranja: #f06900;
	--trd-branco: #ffffff;
	--trd-cinza: #6b6560;
	--trd-borda: #e8e4e0;
	max-width: 440px;
	margin: 0 auto;
	background: var(--trd-branco);
	border-radius: 16px;
	padding: 28px 24px;
	box-shadow: 0 8px 40px rgba(26, 24, 22, .12);
	font-family: inherit;
	color: var(--trd-preto);
	box-sizing: border-box;
	text-align: left; /* não herda alinhamento do container onde o shortcode for colado */
}
.trd-sf *, .trd-sf *::before, .trd-sf *::after { box-sizing: inherit; }

.trd-sf__title {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 14px;
	color: var(--trd-preto);
}
/* dentro do modal, o título não fica embaixo do botão fechar */
.trd-sf-modal .trd-sf__title { padding-right: 44px; }
.trd-sf__progress {
	height: 6px;
	background: var(--trd-borda);
	border-radius: 99px;
	overflow: hidden;
	margin-bottom: 22px;
}
.trd-sf__bar {
	display: block;
	height: 100%;
	background: var(--trd-laranja);
	border-radius: 99px;
	transition: width .35s ease;
}

.trd-sf__hp { position: absolute; left: -9999px; opacity: 0; height: 0; }

.trd-sf__field { margin-bottom: 14px; }
.trd-sf__field label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--trd-preto);
}
.trd-sf__field input,
.trd-sf__field select {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	font-size: 16px; /* >=16px evita zoom no iOS */
	border: 1.5px solid var(--trd-borda);
	border-radius: 10px;
	background: var(--trd-branco);
	color: var(--trd-preto);
	outline: none;
	transition: border-color .15s;
}
.trd-sf__field input:hover,
.trd-sf__field select:hover { border-color: #f0a366; }
.trd-sf__field input:focus,
.trd-sf__field select:focus { border-color: var(--trd-laranja); box-shadow: 0 0 0 3px rgba(240, 105, 0, .15); }

.trd-sf__q {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 14px;
	line-height: 1.35;
}

.trd-sf__cards { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; }
.trd-sf__card {
	flex: 1 1 calc(50% - 10px);
	min-width: 120px;
	position: relative;
	cursor: pointer;
}
/* até 3 opções: todas iguais, lado a lado (ex.: e-CNPJ | e-CPF | e-MEI) */
.trd-sf__cards--equal { flex-wrap: nowrap; }
.trd-sf__cards--equal .trd-sf__card { flex: 1 1 0; min-width: 0; }
.trd-sf__card input { position: absolute; opacity: 0; }
.trd-sf__card span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 12px;
	border: 1.5px solid var(--trd-borda);
	border-radius: 10px;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	color: var(--trd-preto);
	transition: all .15s;
}
/* hover: deixa claro que é clicável */
.trd-sf__card:hover span {
	border-color: var(--trd-laranja);
	background: #fff3ea;
	color: var(--trd-laranja);
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(240, 105, 0, .18);
}
.trd-sf__card input:checked + span {
	border-color: var(--trd-laranja);
	background: var(--trd-laranja);
	color: var(--trd-branco);
}
.trd-sf__card:hover input:checked + span { color: var(--trd-branco); background: #d95f00; }
.trd-sf__card input:focus-visible + span { box-shadow: 0 0 0 3px rgba(240, 105, 0, .35); }

.trd-sf__lgpd {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	font-size: 13px;
	color: var(--trd-cinza);
	margin: 12px 0 16px;
	cursor: pointer;
}
.trd-sf__lgpd input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--trd-laranja); }
.trd-sf__lgpd a { color: var(--trd-laranja); text-decoration: underline; }

.trd-sf__next {
	display: block;
	width: 100%;
	min-height: 52px;
	background: var(--trd-laranja);
	color: var(--trd-branco);
	font-size: 17px;
	font-weight: 700;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
	transition: transform .1s, box-shadow .15s, background .15s;
	box-shadow: 0 4px 16px rgba(240, 105, 0, .35);
}
.trd-sf__next:hover { background: #d95f00; transform: translateY(-1px); }
.trd-sf__next:active { transform: translateY(0); }

.trd-sf__back {
	display: block;
	width: 100%;
	margin-top: 10px;
	background: none;
	border: 0;
	color: var(--trd-cinza);
	font-size: 14px;
	cursor: pointer;
	min-height: 44px;
}
.trd-sf__back:hover { color: var(--trd-preto); }

.trd-sf__uf-atual {
	font-size: 13.5px;
	color: var(--trd-cinza);
	margin: 0 0 10px;
}
.trd-sf__uf-atual strong { color: var(--trd-preto); }
.trd-sf__trocar {
	background: none;
	border: 0;
	padding: 0;
	margin-left: 6px;
	color: var(--trd-laranja);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}
.trd-sf__trocar:hover { color: #d95f00; }

.trd-sf__endereco {
	font-size: 13px;
	color: var(--trd-cinza);
	background: #faf8f6;
	border: 1px solid var(--trd-borda);
	border-radius: 8px;
	padding: 10px 12px;
	margin: 0 0 12px;
	line-height: 1.45;
}

.trd-sf__gps {
	display: block;
	width: 100%;
	margin: 0 0 12px;
	min-height: 46px;
	background: var(--trd-branco);
	border: 1.5px dashed var(--trd-laranja);
	border-radius: 10px;
	color: var(--trd-laranja);
	font-size: 14.5px;
	font-weight: 600;
	cursor: pointer;
	transition: all .15s;
}
.trd-sf__gps:hover { background: #fff3ea; }
.trd-sf__gps-status {
	font-size: 13.5px;
	color: var(--trd-cinza);
	margin: -4px 0 12px;
	text-align: center;
}

.trd-sf__err {
	background: #fdecea;
	color: #b3261e;
	font-size: 14px;
	padding: 10px 12px;
	border-radius: 8px;
	margin: 0 0 12px;
}

.trd-sf__loading { text-align: center; padding: 30px 0; }
.trd-sf__spin {
	display: inline-block;
	width: 36px;
	height: 36px;
	border: 4px solid var(--trd-borda);
	border-top-color: var(--trd-laranja);
	border-radius: 50%;
	animation: trd-spin .8s linear infinite;
}
@keyframes trd-spin { to { transform: rotate(360deg); } }

.trd-sf__done { text-align: center; padding: 18px 0; font-size: 16px; line-height: 1.5; }
.trd-sf__done--neutral { color: var(--trd-cinza); }
.trd-sf__redir { margin: 6px 0 16px; line-height: 2; }
.trd-sf__nowrap { white-space: nowrap; }
.trd-sf__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 4px;
	border-radius: 50%;
	background: var(--trd-laranja);
	color: var(--trd-branco);
	font-weight: 800;
	font-size: 14px;
	line-height: 1;
	vertical-align: middle;
	position: relative;
	top: -1px;
	margin: 0 2px;
	animation: trd-pulse 1s ease infinite;
}
/* pulso por sombra: não cresce, não sobrepõe o texto */
@keyframes trd-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(240, 105, 0, .45); }
	50% { box-shadow: 0 0 0 7px rgba(240, 105, 0, 0); }
}
a.trd-sf__next--wa { display: flex; align-items: center; justify-content: center; text-decoration: none; }
a.trd-sf__next--wa:hover { color: var(--trd-branco); }
.trd-sf__redir-obs { font-size: 13px; color: var(--trd-cinza); margin-top: 10px; }

@media (max-width: 480px) {
	.trd-sf { padding: 22px 16px; border-radius: 12px; }
	.trd-sf__card { flex-basis: 100%; }
	/* grupos de até 3 opções continuam lado a lado no mobile (labels curtos) */
	.trd-sf__cards--equal .trd-sf__card { flex: 1 1 0; }
	.trd-sf__cards--equal .trd-sf__card span { font-size: 14px; padding: 10px 6px; }
}

/* ---------- Botão CTA que abre o popup ---------- */
.trd-sf-open {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 32px;
	background: #f06900;
	color: #ffffff !important;
	font-size: 17px;
	font-weight: 700;
	border-radius: 10px;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .1s, background .15s, box-shadow .15s;
	box-shadow: 0 4px 16px rgba(240, 105, 0, .35);
}
.trd-sf-open:hover { background: #d95f00; transform: translateY(-1px); color: #fff; }

/* ---------- Modal ---------- */
.trd-sf-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.trd-sf-modal.is-open { display: flex; }
.trd-sf-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(26, 24, 22, .75);
	backdrop-filter: blur(2px);
}
.trd-sf-modal__box {
	position: relative;
	width: 100%;
	max-width: 460px;
	animation: trd-pop .25s ease;
}
.trd-sf-modal__inner {
	width: 100%;
	max-height: 88vh;
	overflow-y: auto;
	border-radius: 16px;
}
@keyframes trd-pop { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
.trd-sf-modal__close {
	position: absolute;
	top: -14px;
	right: -14px;
	z-index: 3;
	width: 44px;
	height: 44px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #1a1816;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s, transform .1s;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
}
.trd-sf-modal__close:hover { background: #f06900; transform: scale(1.07); }
body.trd-sf-noscroll { overflow: hidden; }

@media (max-width: 480px) {
	.trd-sf-modal { padding: 10px; align-items: flex-end; }
	.trd-sf-modal__inner { max-height: 84vh; }
	.trd-sf-modal__close { top: -16px; right: 4px; }
}

/* ===================================================================
   BLINDAGEM — o form vive dentro do popup do Elementor e herda CSS
   global do tema/kit. Tudo que define a cara do form vai com !important.
   =================================================================== */
.trd-sf, .trd-sf * { box-sizing: border-box !important; }
.trd-sf {
	background: #ffffff !important;
	color: #1a1816 !important;
	text-align: left !important;
	font-family: inherit !important;
}
.trd-sf__title {
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: #1a1816 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
.trd-sf__q {
	font-size: 18px !important;
	font-weight: 700 !important;
	margin: 0 0 14px !important;
	color: #1a1816 !important;
	line-height: 1.35 !important;
}
.trd-sf__field { margin: 0 0 14px !important; padding: 0 !important; }
.trd-sf__field label {
	display: block !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	margin: 0 0 6px !important;
	color: #1a1816 !important;
	text-transform: none !important;
}
.trd-sf__field input[type="text"],
.trd-sf__field input[type="email"],
.trd-sf__field input[type="tel"] {
	-webkit-appearance: none !important;
	appearance: none !important;
}
.trd-sf__field input,
.trd-sf__field select {
	display: block !important;
	width: 100% !important;
	min-height: 48px !important;
	padding: 12px 14px !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	border: 1.5px solid #e8e4e0 !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #1a1816 !important;
	box-shadow: none !important;
	margin: 0 !important;
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
.trd-sf__field select {
	-webkit-appearance: none !important;
	appearance: none !important;
	padding-right: 40px !important;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23f06900' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
}
.trd-sf__field input:focus,
.trd-sf__field select:focus {
	border-color: #f06900 !important;
	box-shadow: 0 0 0 3px rgba(240, 105, 0, .15) !important;
	outline: none !important;
}
.trd-sf__field input::placeholder { color: #9a948e !important; opacity: 1 !important; }
.trd-sf button.trd-sf__next,
.trd-sf a.trd-sf__next {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 52px !important;
	padding: 12px 18px !important;
	background: #f06900 !important;
	color: #ffffff !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 16px rgba(240, 105, 0, .35) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: none !important;
	cursor: pointer !important;
	margin: 0 !important;
	font-family: inherit !important;
}
.trd-sf button.trd-sf__next:hover, .trd-sf a.trd-sf__next:hover { background: #d95f00 !important; color: #fff !important; }
.trd-sf .trd-sf__back {
	display: block !important;
	width: 100% !important;
	margin: 10px 0 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #6b6560 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	min-height: 44px !important;
	text-transform: none !important;
	cursor: pointer !important;
}
.trd-sf .trd-sf__gps {
	display: block !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	min-height: 46px !important;
	background: #ffffff !important;
	border: 1.5px dashed #f06900 !important;
	border-radius: 10px !important;
	color: #f06900 !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	text-transform: none !important;
	cursor: pointer !important;
}
.trd-sf__card span {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 10px 12px !important;
	border: 1.5px solid #e8e4e0 !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1a1816 !important;
	background: #ffffff !important;
	text-transform: none !important;
	margin: 0 !important;
}
.trd-sf__card input:checked + span { border-color: #f06900 !important; background: #f06900 !important; color: #ffffff !important; }
.trd-sf__card:hover span { border-color: #f06900 !important; background: #fff3ea !important; color: #f06900 !important; }
.trd-sf__card:hover input:checked + span { background: #d95f00 !important; color: #ffffff !important; }
.trd-sf__lgpd { font-size: 13px !important; color: #6b6560 !important; margin: 12px 0 16px !important; }
.trd-sf__lgpd input[type="checkbox"] {
	-webkit-appearance: checkbox !important;
	appearance: auto !important;
	width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	margin: 1px 0 0 !important;
	padding: 0 !important;
	accent-color: #f06900 !important;
}
.trd-sf__lgpd a { color: #f06900 !important; text-decoration: underline !important; }
.trd-sf p { padding: 0 !important; }
.trd-sf img { display: initial; }

/* blindagem dos elementos que faltavam (tema pintava o "trocar estado" de rosa) */
.trd-sf button.trd-sf__trocar {
	display: inline !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 0 0 6px !important;
	padding: 0 !important;
	background: none !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #f06900 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: inherit !important;
	text-decoration: underline !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	font-family: inherit !important;
}
.trd-sf button.trd-sf__trocar:hover { background: none !important; background-color: transparent !important; color: #d95f00 !important; }
.trd-sf__uf-atual { font-size: 13.5px !important; color: #6b6560 !important; margin: 0 0 10px !important; padding: 0 !important; }
.trd-sf__uf-atual strong { color: #1a1816 !important; font-weight: 700 !important; }
.trd-sf__endereco { font-size: 13px !important; color: #6b6560 !important; background: #faf8f6 !important; border: 1px solid #e8e4e0 !important; border-radius: 8px !important; padding: 10px 12px !important; margin: 0 0 12px !important; }
.trd-sf__err { background: #fdecea !important; color: #b3261e !important; font-size: 14px !important; padding: 10px 12px !important; border-radius: 8px !important; margin: 0 0 12px !important; }
.trd-sf__gps-status { font-size: 13.5px !important; color: #6b6560 !important; margin: -4px 0 12px !important; text-align: center !important; }
.trd-sf__progress { height: 6px !important; background: #e8e4e0 !important; border-radius: 99px !important; overflow: hidden !important; margin: 0 0 22px !important; padding: 0 !important; }
.trd-sf__bar { display: block !important; height: 100% !important; background: #f06900 !important; border-radius: 99px !important; }
.trd-sf__redir { margin: 6px 0 16px !important; line-height: 2 !important; color: #1a1816 !important; }
.trd-sf__done { text-align: center !important; padding: 18px 0 !important; font-size: 16px !important; }
