/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 13 2026 | 17:09:52 */
(function () {
  function ready(fn) {
    if (document.readyState !== 'loading') fn();
    else document.addEventListener('DOMContentLoaded', fn);
  }
  function isEn() {
    return document.documentElement.lang === 'en-US'
      || document.documentElement.lang === 'en'
      || /\/en(\/|$)/.test(location.pathname)
      || document.body.classList.contains('translatepress-en_US');
  }
  ready(function () {
    var en = isEn();

    try {
      var header = document.querySelector('.elementor-location-header');
      if (header && !header.querySelector('.sabilex-header-search')) {
        var cart = header.querySelector('.elementor-widget-woocommerce-menu-cart');
        var anchor = cart || header.querySelector('.elementor-menu-toggle, .elementor-nav-menu--dropdown, .elementor-widget-nav-menu');
        var sw = document.createElement('div');
        sw.className = 'sabilex-header-search';
        var label = en ? 'Search products' : 'Buscar productos';
        var placeholder = en ? 'Search products...' : 'Buscar productos...';
        var submit = en ? 'Search' : 'Buscar';
        sw.innerHTML = '<button type="button" class="sabilex-header-search__toggle" aria-label="' + label + '" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></button><div class="sabilex-header-search__panel" hidden><form role="search" method="get" action="' + (en ? '/en/' : '/') + '"><input type="search" name="s" placeholder="' + placeholder + '" required /><input type="hidden" name="post_type" value="product" /><button type="submit">' + submit + '</button></form></div>';
        if (anchor && anchor.parentNode) anchor.parentNode.insertBefore(sw, anchor);
        else header.appendChild(sw);
        var toggle = sw.querySelector('.sabilex-header-search__toggle');
        var panel = sw.querySelector('.sabilex-header-search__panel');
        var input = sw.querySelector('input[type="search"]');
        toggle.addEventListener('click', function (e) {
          e.preventDefault();
          var open = sw.classList.toggle('is-open');
          panel.hidden = !open;
          toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
          if (open) input.focus();
        });
        document.addEventListener('click', function (e) {
          if (!sw.contains(e.target)) {
            sw.classList.remove('is-open');
            panel.hidden = true;
            toggle.setAttribute('aria-expanded', 'false');
          }
        });
      }
    } catch (e) {}

    try {
      var h = document.querySelector('.elementor-location-header');
      if (h && !h.querySelector('.elementor-widget-woocommerce-menu-cart') && !h.querySelector('.sabilex-guest-cart-link')) {
        var a = document.createElement('a');
        a.className = 'sabilex-guest-cart-link';
        a.href = en ? '/en/cart/' : '/carrito/';
        a.setAttribute('aria-label', en ? 'Cart' : 'Carrito');
        a.textContent = en ? 'Cart' : 'Carrito';
        var search = h.querySelector('.sabilex-header-search');
        if (search && search.parentNode) search.parentNode.insertBefore(a, search.nextSibling);
        else h.appendChild(a);
      }
    } catch (e) {}

    try {
      if (!document.body.classList.contains('single-product')) return;
      if (document.querySelector('.elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button, form.cart .single_add_to_cart_button, .sabilex-guest-add-to-cart')) return;
      if (document.body.classList.contains('product-type-variable')) return;
      var idMatch = document.body.className.match(/\bpostid-(\d+)/);
      var productId = idMatch && idMatch[1];
      if (!productId) return;
      var priceWidget = document.querySelector('.elementor-widget-woocommerce-product-price');
      var priceEl = priceWidget && priceWidget.querySelector('.price');
      if (!priceEl) return;
      var priceText = (priceEl.textContent || '').replace(/[^\d,.]/g, '').replace(',', '.');
      var priceVal = parseFloat(priceText);
      if (isNaN(priceVal) || priceVal <= 0) return;
      var btnLabel = en ? 'Add to cart' : 'Agregar al carrito';
      var qtyLabel = en ? 'Quantity' : 'Cantidad';
      var box = document.createElement('div');
      box.className = 'sabilex-guest-add-to-cart';
      box.innerHTML = '<form class="cart" method="post" enctype="multipart/form-data" action="?add-to-cart=' + productId + '">' +
        '<div class="quantity"><label class="screen-reader-text" for="sabilex_guest_qty">' + qtyLabel + '</label>' +
        '<input type="number" id="sabilex_guest_qty" class="input-text qty text" name="quantity" value="1" min="1" step="1" inputmode="numeric" /></div>' +
        '<button type="submit" name="add-to-cart" value="' + productId + '" class="single_add_to_cart_button button alt">' + btnLabel + '</button></form>';
      priceWidget.parentNode.insertBefore(box, priceWidget.nextSibling);
    } catch (e) {}
  });
})();