/*
 * Pele de formulário do WooCommerce fora do checkout — hoje, a Minha Conta.
 *
 * Carregada por inc/enqueue.php em is_account_page(). O carrinho e o checkout
 * têm as mesmas regras dentro de checkout.css, escopadas em .cdm-checkout;
 * aqui o escopo é .woocommerce, o invólucro que o shortcode
 * [woocommerce_my_account] imprime. As duas folhas nunca carregam juntas.
 *
 * O que mora aqui: .form-row (o Brazilian Market injeta CPF/CNPJ pelos mesmos
 * wrappers), rótulos, estados de validação, checkbox, select2 e os avisos
 * .woocommerce-*. Campos base (input/select/textarea) já vêm de base.css §9.
 */

/* --- linhas de formulário --- */

.woocommerce .form-row {
	margin: 0 0 var(--cdm-e-4);
	min-width: 0;
	padding: 0;
}

.woocommerce .form-row label {
	display: block;
	margin-bottom: var(--cdm-e-1);
	font-size: var(--cdm-t-sm);
	font-weight: var(--cdm-peso-medio);
	color: var(--cdm-texto-fraco);
}

.woocommerce .form-row label .required {
	color: var(--cdm-vermelho);
	text-decoration: none;
}

.woocommerce .form-row .optional {
	color: var(--cdm-texto-apagado);
	font-weight: var(--cdm-peso-normal);
}

/* Conta usa controles discretos; referencia.css não pode escurecer suas bordas. */
.woocommerce input.input-text,
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="text"],
.woocommerce select,
.woocommerce textarea {
	border-color: var(--cdm-cinza-200);
	background: var(--cdm-superficie);
}

.woocommerce input.input-text:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="text"]:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	border-color: var(--cdm-azul);
	box-shadow: none;
	outline: 2px solid var(--cdm-azul-claro);
	outline-offset: 2px;
}

/* referencia.css entra depois de parte do tema e usa bordas escuras por tag. */
body.woocommerce-account .woocommerce input.input-text,
body.woocommerce-account .woocommerce input[type="email"],
body.woocommerce-account .woocommerce input[type="password"],
body.woocommerce-account .woocommerce input[type="tel"],
body.woocommerce-account .woocommerce input[type="text"],
body.woocommerce-account .woocommerce select,
body.woocommerce-account .woocommerce textarea,
body.woocommerce-account .woocommerce .select2-container .select2-selection--single {
	border: 1px solid var(--cdm-cinza-200) !important;
	background-color: var(--cdm-superficie) !important;
}

body.woocommerce-account .woocommerce input.input-text:focus,
body.woocommerce-account .woocommerce input[type="email"]:focus,
body.woocommerce-account .woocommerce input[type="password"]:focus,
body.woocommerce-account .woocommerce input[type="tel"]:focus,
body.woocommerce-account .woocommerce input[type="text"]:focus,
body.woocommerce-account .woocommerce select:focus,
body.woocommerce-account .woocommerce textarea:focus {
	border-color: var(--cdm-azul) !important;
}

.woocommerce .form-row.woocommerce-invalid label {
	color: var(--cdm-vermelho);
}

.woocommerce .woocommerce-invalid input.input-text,
.woocommerce .woocommerce-invalid select,
.woocommerce .woocommerce-invalid .select2-selection {
	border-color: var(--cdm-vermelho);
}

.woocommerce .woocommerce-validated input.input-text {
	border-color: var(--cdm-verde);
}

/* first/last lado a lado, como no checkout. */
@media (min-width: 640px) {
	.woocommerce .woocommerce-address-fields__field-wrapper,
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: auto;
	}

	.woocommerce form.woocommerce-EditAccountForm .form-row-first,
	.woocommerce form.edit-account .form-row-first,
	.woocommerce .woocommerce-address-fields .form-row-first {
		float: left;
		width: calc(50% - var(--cdm-e-2));
	}

	.woocommerce form.woocommerce-EditAccountForm .form-row-last,
	.woocommerce form.edit-account .form-row-last,
	.woocommerce .woocommerce-address-fields .form-row-last {
		float: right;
		width: calc(50% - var(--cdm-e-2));
	}

	/* O core imprime <div class="clear"> entre os grupos; devolvemos o fluxo. */
	.woocommerce .clear {
		clear: both;
	}
}

/* --- caixas de seleção (lembrar de mim, etc.) --- */

.woocommerce label.woocommerce-form__label-for-checkbox {
	display: flex;
	gap: var(--cdm-e-2);
	align-items: flex-start;
	font-size: var(--cdm-t-base);
	font-weight: var(--cdm-peso-normal);
	color: var(--cdm-texto);
	cursor: pointer;
}

.woocommerce input[type="checkbox"] {
	margin: 0;
	width: auto;
	accent-color: var(--cdm-azul);
}

/* --- select2 (país, estado, no editar-endereço) --- */

.woocommerce .select2-container .select2-selection--single {
	height: auto;
	padding: var(--cdm-e-2) var(--cdm-e-1);
	background: var(--cdm-superficie);
	border: 1px solid var(--cdm-cinza-200);
	border-radius: var(--cdm-raio);
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	font-size: var(--cdm-t-base);
	line-height: var(--cdm-altura-normal);
	color: var(--cdm-texto);
}

/* --- botões `.button` do Woo (salvar endereço, acessar, redefinir) --- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--cdm-e-2);
	padding: var(--cdm-e-3) var(--cdm-e-5);
	font-family: var(--cdm-fonte);
	font-size: var(--cdm-t-base);
	font-weight: var(--cdm-peso-semi);
	line-height: var(--cdm-altura-apertada);
	text-align: center;
	text-decoration: none;
	color: var(--cdm-azul-escuro);
	background: var(--cdm-amarelo-suave);
	border: 1px solid var(--cdm-amarelo-suave);
	border-radius: var(--cdm-raio-cheio);
	cursor: pointer;
	transition: var(--cdm-transicao);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--cdm-amarelo);
	border-color: var(--cdm-amarelo);
}

.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible {
	outline: 2px solid var(--cdm-azul);
	outline-offset: 2px;
}

/* --- avisos --- */

.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-notice {
	margin: 0 0 var(--cdm-e-5);
	padding: var(--cdm-e-4);
	list-style: none;
	font-size: var(--cdm-t-base);
	line-height: var(--cdm-altura-normal);
	border-radius: var(--cdm-raio);
	border: 1px solid var(--cdm-cinza-200);
	background: var(--cdm-cinza-100);
	color: var(--cdm-texto);
}

.woocommerce-error {
	background: var(--cdm-superficie);
	border-color: var(--cdm-vermelho);
	color: var(--cdm-vermelho);
}

.woocommerce-message {
	background: var(--cdm-superficie);
	border-color: var(--cdm-verde);
	color: var(--cdm-verde-escuro);
}

.woocommerce-info {
	background: var(--cdm-azul-claro);
	border-color: var(--cdm-azul-claro);
	color: var(--cdm-azul-escuro);
}

.woocommerce-error li,
.woocommerce-message li {
	margin: 0;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
	color: inherit;
	font-weight: var(--cdm-peso-semi);
}

/* Overlay de "atualizando" do Woo. */
.blockUI.blockOverlay {
	background: var(--cdm-branco) !important; /* vence o inline do jQuery blockUI */
	opacity: .6 !important;                   /* idem */
}
