/* Mobile layout - stack fields using flexbox to respect CSS order */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-direction: column;
}

#billing_country_field, #shipping_country_field { order: 1; }
#billing_postcode_field, #shipping_postcode_field { order: 2; }
#billing_city_field, #shipping_city_field { order: 3; }
#billing_state_field, #shipping_state_field { order: 4; }
#billing_first_name_field, #shipping_first_name_field { order: 5; }
#billing_last_name_field, #shipping_last_name_field { order: 6; }
#billing_phone_field, #shipping_phone_field { order: 7; }
#billing_email_field, #shipping_email_field { order: 8; }
#billing_address_1_field, #shipping_address_1_field { order: 9; }
#billing_address_2_field, #shipping_address_2_field { order: 10; }
#billing_company_field, #shipping_company_field { order: 11; }

@media (min-width: 768px) {
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        column-gap: 20px;
        row-gap: 15px;
    }
    #billing_country_field, #shipping_country_field { grid-column: span 3; }
    #billing_postcode_field, #shipping_postcode_field { grid-column: span 3; }
    #billing_city_field, #shipping_city_field { grid-column: span 3; }
    #billing_state_field, #shipping_state_field { grid-column: span 3; }
    #billing_first_name_field, #shipping_first_name_field { grid-column: span 3; }
    #billing_last_name_field, #shipping_last_name_field { grid-column: span 3; }
    #billing_phone_field, #shipping_phone_field { grid-column: span 3; }
    #billing_email_field, #shipping_email_field { grid-column: span 3; }
    #billing_address_1_field, #shipping_address_1_field { grid-column: span 6; }
    #billing_address_2_field, #shipping_address_2_field { grid-column: span 6; }
    #billing_company_field, #shipping_company_field { grid-column: span 6; }
}

/* Custom premium styles for form fields */
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row select {
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    padding: 12px 14px;
    transition: all 0.3s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    height: auto;
    min-height: 48px;
}
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row select:focus {
    border-color: #dc9814;
    outline: none;
    box-shadow: 0 0 0 3px rgba(220, 152, 20, 0.15);
}

/* Container constraint for the Cart and Checkout pages to center-align the content area */
.woocommerce-cart #primary,
.woocommerce-cart .content-area,
.woocommerce-checkout #primary,
.woocommerce-checkout .content-area {
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    box-sizing: border-box !important;
}

.woocommerce-cart #primary,
.woocommerce-checkout #primary {
    margin-top: 30px !important;
    margin-bottom: 50px !important;
}

/* Hide social sharing widget on the Cart Page */
.woocommerce-cart .xs_social_share_widget {
    display: none !important;
}
