/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/
/* Пустая корзина: кнопка "Перейти до Gold Rush" */
.cart-widget-side .btn.wc-backward {
  border-radius: 10px !important;
}

/* Кнопки в мини-корзине: "Оформлення замовлення", "Переглянути кошик" */
.woocommerce-mini-cart__buttons a.button,
.woocommerce-mini-cart__buttons .button,
.woocommerce-mini-cart__buttons a.wc-forward {
  border-radius: 10px !important;
}

/* Кнопка возврата к магазину */
.woocommerce-mini-cart__buttons a.wc-backward,
.woocommerce-mini-cart__buttons .btn.wc-backward {
  border-radius: 10px !important;
	/* Стандартный отступ по умолчанию */
.your-shipping-fields {
  margin-bottom: 76px;
}
	/* Меняем порядок полей в форме */
.site-reviews-form .glsr-form-fields {
  display: flex;
  flex-direction: column;
}

.site-reviews-form .glsr-field-name {
  order: 1;
}

.site-reviews-form .glsr-field-content {
  order: 2;
}

.site-reviews-form .glsr-field-rating {
  order: 3;
}
	
.elementor-widget-wd_checkout_billing_details_form {
	position: relative;
	z-index: 99;
}
add_action( 'wp_footer', 'force_postcode_required_js' );
function force_postcode_required_js() {
    // Только на странице оформления заказа
    if ( ! is_checkout() ) return;
    ?>
    <script>
    document.addEventListener('DOMContentLoaded', function () {
        document.querySelector('form.checkout').addEventListener('submit', function (e) {
            var postcode = document.querySelector('#billing_postcode');
            if (postcode && postcode.value.trim() === '') {
                e.preventDefault();
                postcode.style.border = '2px solid red';
                alert('Будь ласка, введіть поштовий індекс');
                postcode.focus();
            }
        });
    });
    </script>
    <?php
}
add_filter( 'woocommerce_checkout_fields', 'force_postcode_required' );
function force_postcode_required( $fields ) {
    $fields['billing']['billing_postcode']['required'] = true;
    $fields['shipping']['shipping_postcode']['required'] = true;
    return $fields;
}
add_filter( 'woocommerce_default_address_fields', 'force_postcode_required_real_final' );
function force_postcode_required_real_final( $fields ) {
$fields['postcode']['required'] = true;
return $fields;
}
add_filter( 'woocommerce_form_field', 'remove_optional_label_globally', 10, 4 );
function remove_optional_label_globally( $field, $key, $args, $value ) {
    $field = str_replace(' (optional)', '', $field);           // English
    $field = str_replace(' (необов’язково)', '', $field);      // Ukrainian
    $field = str_replace(' (необов\'язково)', '', $field);     // Fallback
    return $field;
}
add_action( 'wp_footer', 'force_postcode_required_js' );
function force_postcode_required_js() {
    if ( ! is_checkout() ) return;
    ?>
    <script>
    document.addEventListener('DOMContentLoaded', function () {
        function updatePostcodeRequirement(country) {
            const excluded = ['UA', 'RU', 'BY', 'IR'];
            const postcodeInput = document.querySelector('#billing_postcode');

            if (!postcodeInput) return;

            if (!excluded.includes(country)) {
                postcodeInput.required = true;
                postcodeInput.closest('.form-row').classList.add('validate-required');
                const label = postcodeInput.closest('.form-row').querySelector('label');
                if (label && !label.innerHTML.includes('*')) {
                    label.innerHTML += ' <abbr class="required">*</abbr>';
                }
            } else {
                postcodeInput.required = false;
                postcodeInput.closest('.form-row').classList.remove('validate-required');
                const label = postcodeInput.closest('.form-row').querySelector('label');
                if (label) {
                    label.innerHTML = label.innerHTML.replace(/<abbr class="required">\*<\/abbr>/g, '');
                }
            }
        }

        // начальное значение
        const initialCountry = document.querySelector('#billing_country')?.value;
        if (initialCountry) updatePostcodeRequirement(initialCountry);

        // отслеживаем смену страны
        document.querySelector('#billing_country')?.addEventListener('change', function(e) {
            updatePostcodeRequirement(e.target.value);
        });
    });
    </script>
    <?php
}