/* Checkout brasileiro — documento automático, sequência de faturamento e CEP. */
.tt-cep-status {
	display: block;
	width: 100%;
	margin-top: 6px;
	font-size: 0.74rem;
	font-weight: 650;
	line-height: 1.35;
}

.tt-cep-status[data-state="loading"] { color: #52667e; }
.tt-cep-status[data-state="success"] { color: #14734b; }
.tt-cep-status[data-state="error"] { color: #b3261e; }

/* Os campos empresariais aparecem automaticamente quando o documento vira CNPJ. */
.woocommerce-checkout .form-row.tt-company-field,
.tt-company-field-hidden,
.tt-block-source-hidden,
.tt-block-core-company-hidden,
.tt-checkout-complement-hidden {
	display: none !important;
}

body.tt-checkout-company .woocommerce-checkout .form-row.tt-company-field:not(.tt-company-field-hidden) {
	display: block !important;
}

.woocommerce-checkout .form-row.tt-fiscal-field,
.woocommerce-checkout .form-row.tt-number-field,
.woocommerce-checkout .form-row.tt-neighborhood-field {
	transition: opacity 160ms ease;
}

.woocommerce-checkout #billing_postcode,
.woocommerce-checkout #shipping_postcode,
.wc-block-checkout input[autocomplete="postal-code"] {
	font-variant-numeric: tabular-nums;
}

/* Esconde fontes internas dos campos fiscais do Checkout Block; os espelhos abaixo
 * mantêm a integração nativa do WooCommerce e exibem os campos na ordem solicitada. */
.wc-block-components-text-input:has([id*="teixeira-tintas-tax-id"]),
.wc-block-components-text-input:has([id*="teixeira-tintas-company-name"]),
.wc-block-components-text-input:has([id*="teixeira-tintas-state-registration"]),
.wc-block-components-select-input:has([id*="teixeira-tintas-person-type"]) {
	display: none !important;
}

/* Ordem do bloco: Nome | Sobrenome / Documento / CEP | Endereço /
 * Número | Bairro / Cidade | Estado / País. */
.tt-block-billing-layout {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	column-gap: clamp(16px, 2.4vw, 32px) !important;
	row-gap: 18px !important;
	align-items: start;
}

.tt-block-billing-layout > .tt-block-positioned {
	order: var(--tt-checkout-order, 100) !important;
	min-width: 0;
	width: auto !important;
	margin: 0 !important;
}

.tt-block-billing-layout > .tt-block-field--half {
	grid-column: span 1 !important;
}

.tt-block-billing-layout > .tt-block-field--wide {
	grid-column: 1 / -1 !important;
}

.tt-block-mirror-field {
	position: relative;
	min-height: 56px;
}

.tt-block-mirror-field input {
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
	padding: 1.45em 16px 0.45em;
	border: 1px solid #ccddea;
	border-radius: 8px;
	background: #fff;
	color: #1e2530;
	font: inherit;
	line-height: 1.25;
	outline: 0;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.tt-block-mirror-field input:focus {
	border-color: var(--tt-secondary);
	box-shadow: 0 0 0 2px rgba(11, 45, 93, 0.12);
}

.tt-block-mirror-field label {
	position: absolute;
	left: 16px;
	top: 50%;
	max-width: calc(100% - 32px);
	margin: 0;
	color: #343b46;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
	transform: translateY(-50%);
	transform-origin: left top;
	transition: top 140ms ease, transform 140ms ease, font-size 140ms ease;
}

.tt-block-mirror-field.is-active label,
.tt-block-mirror-field:focus-within label {
	top: 9px;
	font-size: 0.72rem;
	transform: none;
}

.tt-admin-fiscal-details {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #e2e6ea;
}

.tt-admin-fiscal-details h4 { margin: 0 0 8px; }
.tt-admin-fiscal-details p { margin: 0 0 4px; }

@media (max-width: 680px) {
	.tt-block-billing-layout {
		grid-template-columns: 1fr !important;
		column-gap: 0 !important;
	}

	.tt-block-billing-layout > .tt-block-field--half,
	.tt-block-billing-layout > .tt-block-field--wide {
		grid-column: 1 / -1 !important;
	}
}


/* Faturamento como endereço principal e entrega alternativa opcional. */
.woocommerce-checkout #ship-to-different-address {
	margin: 18px 0 14px;
	padding: 14px 16px;
	border: 1px solid #d9e3ef;
	border-radius: 12px;
	background: #f7f9fc;
}

.woocommerce-checkout #ship-to-different-address label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	color: var(--tt-primary);
	font-size: 0.95rem;
	font-weight: 750;
	cursor: pointer;
}

.woocommerce-checkout #ship-to-different-address-checkbox {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--tt-primary);
}

.tt-shipping-choice-hidden,
body.tt-checkout-different-shipping-disabled #ship-to-different-address,
body.tt-checkout-pickup-selected #ship-to-different-address,
body.tt-checkout-different-shipping-disabled .shipping_address,
body.tt-checkout-pickup-selected .shipping_address {
	display: none !important;
}

.tt-conditional-required,
.woocommerce-checkout .tt-company-field .required,
.wc-block-checkout .tt-block-company-field .required {
	color: #b81c23;
	text-decoration: none;
}

/* Reforça a sequência solicitada no checkout clássico. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.woocommerce-checkout #billing_first_name_field { order: 10; }
.woocommerce-checkout #billing_last_name_field { order: 20; }
.woocommerce-checkout #billing_cpf_cnpj_field { order: 30; }
.woocommerce-checkout #billing_company_field { order: 31; }
.woocommerce-checkout #billing_ie_field { order: 32; }
.woocommerce-checkout #billing_postcode_field { order: 40; }
.woocommerce-checkout #billing_address_1_field { order: 41; }
.woocommerce-checkout #billing_number_field { order: 50; }
.woocommerce-checkout #billing_neighborhood_field { order: 51; }
.woocommerce-checkout #billing_city_field { order: 60; }
.woocommerce-checkout #billing_state_field { order: 61; }
.woocommerce-checkout #billing_country_field { order: 70; }
.woocommerce-checkout #billing_email_field { order: 80; }
.woocommerce-checkout #billing_phone_field { order: 81; }

.woocommerce-checkout #shipping_first_name_field { order: 10; }
.woocommerce-checkout #shipping_last_name_field { order: 20; }
.woocommerce-checkout #shipping_postcode_field { order: 40; }
.woocommerce-checkout #shipping_address_1_field { order: 41; }
.woocommerce-checkout #shipping_number_field { order: 50; }
.woocommerce-checkout #shipping_neighborhood_field { order: 51; }
.woocommerce-checkout #shipping_city_field { order: 60; }
.woocommerce-checkout #shipping_state_field { order: 61; }
.woocommerce-checkout #shipping_country_field { order: 70; }

.woocommerce-checkout #billing_cpf_cnpj_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field {
	width: 100% !important;
	clear: both !important;
	float: none !important;
}
