/* Checkout da Stone Scan */

/* Pais fixo em Brasil: o campo continua no DOM para o WooCommerce,
   mas nao ha o que escolher. */
.ssb-oculto {
	display: none !important;
}

/* Honeypot: fora da tela, invisivel para leitor de tela e para o usuario,
   mas preenchivel por bot que ignora CSS. */
.ssb-hp {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	height: 0;
	overflow: hidden;
}

#ssb-bloco-medico {
	margin-top: 1.5em;
}

#ssb-bloco-medico h3 {
	margin-bottom: .5em;
}

.ssb-aviso {
	display: block;
	margin-top: .35em;
	font-size: .85em;
	opacity: .75;
}

.ssb-aviso--erro {
	color: #b32d2e;
	opacity: 1;
}

/* Campo de data nao deve ficar menor que os demais no Safari/iOS. */
#billing_birthdate {
	min-height: 2.6em;
}

/* ==================================================================
   Layout em duas colunas
   ================================================================== */

.ssb-layout {
	display: grid;
	grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	max-width: 1180px;
	margin: 0 auto;
}

.ssb-lateral {
	background: #0f2b46;
	color: #eaf1f8;
	border-radius: 12px;
	padding: 32px 28px;
}

/* Acompanha a rolagem: o formulario e longo e o motivo precisa continuar
   a vista enquanto a pessoa preenche. */
.ssb-lateral__fixo {
	position: sticky;
	top: 24px;
}

.ssb-lateral__titulo {
	margin: 0 0 20px;
	font-size: 1.35rem;
	line-height: 1.3;
	color: #fff;
}

.ssb-diagrama {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 0 24px;
	color: #9fc4ea;
}

.ssb-lateral__texto {
	margin: 0 0 14px;
	font-size: .95rem;
	line-height: 1.6;
	color: #c9d8e8;
}

.ssb-lateral__texto--forte {
	color: #fff;
	font-weight: 600;
}

.ssb-lateral__lista {
	margin: 22px 0 0;
	padding: 18px 0 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, .15);
}

.ssb-lateral__lista li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 22px;
	font-size: .9rem;
	color: #c9d8e8;
}

.ssb-lateral__lista li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .45em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #6fb1f2;
}

/* ==================================================================
   Passos
   ================================================================== */

.ssb-passos-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.ssb-passos-nav__item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .85rem;
	color: #8a949f;
}

.ssb-passos-nav__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1px solid currentColor;
	font-size: .8rem;
	font-weight: 600;
	flex: 0 0 auto;
}

.ssb-passos-nav__item.is-atual {
	color: #0f2b46;
	font-weight: 600;
}

.ssb-passos-nav__item.is-atual .ssb-passos-nav__num {
	background: #0f2b46;
	border-color: #0f2b46;
	color: #fff;
}

.ssb-passos-nav__item.is-feito {
	color: #3f8a45;
	cursor: pointer;
}

.ssb-passos-nav__item.is-feito .ssb-passos-nav__num {
	background: #3f8a45;
	border-color: #3f8a45;
	color: #fff;
}

.ssb-passo {
	display: none;
}

.ssb-passo--ativo {
	display: block;
}

.ssb-passo__cab {
	margin: 0 0 20px;
}

.ssb-passo__titulo {
	margin: 0 0 4px;
	font-size: 1.3rem;
}

.ssb-passo__resumo {
	margin: 0;
	font-size: .9rem;
	color: #6b7280;
}

.ssb-passo__rodape {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 26px;
	padding-top: 20px;
	border-top: 1px solid #e3e5e8;
}

/* O "Continuar" ocupa a direita; o "Voltar" fica discreto a esquerda. */
.ssb-btn-avancar {
	margin-left: auto;
}

.ssb-passo__rodape .ssb-btn-voltar {
	background: transparent;
	color: #6b7280;
	padding-left: 0;
}

/* O ultimo passo nao tem "Continuar": quem finaliza e o botao do proprio
   WooCommerce, dentro do bloco de pagamento. Sobra so o "Voltar". */
.ssb-passo__rodape:empty {
	display: none;
}

/* ==================================================================
   Erros de preenchimento
   ================================================================== */

.form-row.ssb-erro input,
.form-row.ssb-erro select,
.form-row.ssb-erro textarea {
	border-color: #b32d2e !important;
	box-shadow: 0 0 0 1px rgba(179, 45, 46, .25);
}

.ssb-erro-msg {
	display: block;
	margin-top: .35em;
	font-size: .85em;
	color: #b32d2e;
}

/* ==================================================================
   Telas estreitas
   ================================================================== */

@media (max-width: 900px) {
	.ssb-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	/* No celular a coluna vem primeiro e para de acompanhar a rolagem —
	   grudada, ela comeria a tela inteira. */
	.ssb-lateral {
		padding: 24px 20px;
	}

	.ssb-lateral__fixo {
		position: static;
	}

	.ssb-passos-nav {
		gap: 4px 12px;
	}

	.ssb-passos-nav__txt {
		display: none;
	}

	.ssb-passo__rodape {
		flex-direction: row-reverse;
		justify-content: space-between;
	}

	.ssb-btn-avancar {
		margin-left: 0;
		flex: 1 1 auto;
	}
}

/* ==================================================================
   Convivencia com a marcacao do WooCommerce
   ================================================================== */

/* As linhas do formulario usam float. Sem conter o float, o rodape do passo
   sobe e o botao "Continuar" aparece sobreposto ao ultimo campo. */
.ssb-passo__corpo {
	display: flow-root;
}

/* O titulo da secao de endereco fica orfao depois que os campos migram para
   os passos — quem nomeia a etapa agora e o cabecalho do passo. O
   "Resumo da solicitacao" fica: ele rotula a tabela do pedido. */
.woocommerce-billing-fields > h3 {
	display: none;
}

/* Os invólucros vazios que sobram no #customer_details nao devem ocupar
   espaco nem criar margem fantasma entre os passos. */
#customer_details .col-1:empty,
#customer_details .col-2:empty,
.woocommerce-billing-fields__field-wrapper:empty {
	display: none;
}

#customer_details {
	margin: 0;
}
