/* Benski - simulador (formulario). Mesmo visual do formulario original do Elementor. */
.bks-form {
	--bks-rotulo: #7A7A7A;
	--bks-texto: #54595F;
	--bks-borda: #7A7A7A;
	--bks-marcado: #D8FFDD;
	--bks-verde: #61CE70;
	--bks-verde-esc: #2EA23E;
	--bks-vermelho: #D02227;
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	font-family: "Montserrat", sans-serif;
	text-align: left;
}
.bks-form *, .bks-form *::before, .bks-form *::after { box-sizing: border-box; }
.bks-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.bks-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.bks-rotulo { padding: 0; color: var(--bks-rotulo); font-size: 13px; font-weight: 500; line-height: 1.4; }
.bks-obr { color: var(--bks-vermelho); }
.bks-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.bks-form input[type="text"],
.bks-form input[type="email"],
.bks-form input[type="tel"] {
	width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 6px 12px;
	border: 1px solid #69727d;
	border-radius: 3px;
	background: #fff;
	color: var(--bks-texto);
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}
.bks-form input:focus { outline: 0; border-color: var(--bks-verde-esc); box-shadow: 0 0 0 2px rgba(46, 162, 62, .2); }
.bks-form input.bks-invalido { border-color: var(--bks-vermelho); }
.bks-erro { color: var(--bks-vermelho); font-size: 13px; font-weight: 500; }
.bks-erro:empty { display: none; }

.bks-opcoes { display: flex; flex-wrap: wrap; gap: 10px; }
.bks-opcao { position: relative; flex: 0 0 calc((100% - 20px) / 3); margin: 0; cursor: pointer; }
.bks-opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.bks-cartao {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 100%;
	padding: 12px 6px;
	border: 1px solid var(--bks-borda);
	border-radius: 15px;
	background: #fff;
	color: var(--bks-texto);
	text-align: center;
	transition: background-color .15s, border-color .15s;
}
.bks-cartao svg { width: 24px; height: 24px; color: var(--bks-texto); }
.bks-opcao-txt { font-size: 12px; font-weight: 500; line-height: 1.2; hyphens: manual; }
.bks-opcao:hover .bks-cartao { border-color: var(--bks-verde-esc); }
.bks-opcao input:checked + .bks-cartao { background: var(--bks-marcado); border-color: var(--bks-verde-esc); }
.bks-opcao input:focus-visible + .bks-cartao { box-shadow: 0 0 0 2px rgba(46, 162, 62, .35); }
.bks-tipos.bks-invalido .bks-cartao { border-color: var(--bks-vermelho); }

.bks-botao {
	width: 100%;
	min-height: 44px;
	margin-top: 4px;
	padding: 12px 24px;
	border: 0;
	border-radius: 3px;
	background: var(--bks-verde);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .15s;
}
.bks-botao:hover, .bks-botao:focus-visible { background: var(--bks-verde-esc); color: #fff; }
.bks-botao:disabled { opacity: .7; cursor: wait; }
.bks-msg { color: var(--bks-verde-esc); font-size: 18px; font-weight: 700; text-align: center; }
.bks-msg.is-erro { color: var(--bks-vermelho); font-size: 14px; }
.bks-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 480px) {
	.bks-linha { grid-template-columns: 1fr; }
	.bks-opcao { flex-basis: calc((100% - 20px) / 3); }
}
