/* HAHA Checkout Manager */

#billing_persontype_field,
#billing_cpf_field,
#billing_cnpj_field {
    display: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px;
}

.woocommerce-checkout .form-row {
    box-sizing: border-box;
    float: none !important;
    clear: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.woocommerce-checkout .haha-field-wide,
.woocommerce-checkout .form-row-wide {
    width: 100% !important;
    flex: 0 0 100%;
}

.woocommerce-checkout .haha-field-half,
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field {
    width: calc(50% - 12px) !important;
    flex: 0 0 calc(50% - 12px);
}

.woocommerce-checkout .form-row label {
    display: block;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        display: block;
    }

    .woocommerce-checkout .haha-field-half,
    .woocommerce-checkout #billing_first_name_field,
    .woocommerce-checkout #billing_last_name_field,
    .woocommerce-checkout .haha-field-wide,
    .woocommerce-checkout .form-row-wide {
        width: 100% !important;
        flex: 0 0 100%;
    }
}


/* Ordem visual forçada: Elementor às vezes mantém a ordem antiga do DOM.
   Estas regras garantem a ordem correta mesmo dentro do widget de Checkout. */
.woocommerce-checkout #billing_first_name_field { order: 10; }
.woocommerce-checkout #billing_last_name_field { order: 20; }
.woocommerce-checkout #billing_document_field { order: 30; }
.woocommerce-checkout #billing_birthdate_field { order: 40; }
.woocommerce-checkout #billing_phone_field { order: 50; }
.woocommerce-checkout #billing_email_field { order: 60; }
.woocommerce-checkout #billing_country_field { order: 65; display: none !important; }
.woocommerce-checkout #billing_postcode_field { order: 70; }
.woocommerce-checkout #billing_address_1_field { order: 80; }
.woocommerce-checkout #billing_number_field { order: 90; }
.woocommerce-checkout #billing_neighborhood_field { order: 100; }
.woocommerce-checkout #billing_city_field { order: 110; }
.woocommerce-checkout #billing_state_field { order: 120; }
.woocommerce-checkout #billing_address_2_field { order: 130; }
