/* NSF WooCommerce 1.1.3 — estilos del Mini Cart / drawer.
 * Trasladados desde NSF Hilos.
 */
/* NSF 9.5.219 — El carrito lateral debe quedar por encima del buscador en móvil.
 * WooCommerce Blocks utiliza además contenedores intermedios distintos del
 * drawer clásico; se fuerzan aquí todos los niveles relevantes para evitar
 * que el buscador cree una capa superior dentro de otro stacking context.
 */
.nsf-search-shell{z-index:1 !important;}
.nsf-suggestions{z-index:2 !important;}

/* WooCommerce Blocks / Mini Cart */
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer-overlay,
.wc-block-mini-cart__drawer-container,
.wc-block-mini-cart__drawer-content,
.wc-block-components-drawer,
.wc-block-components-drawer__screen-overlay,
.wc-block-components-drawer__content,
.wc-block-components-drawer__close-button,

/* Variantes habituales de mini-carrito / carrito lateral */
.xoo-wsc-container,
.xoo-wsc-basket,
.cart-drawer,
.mini-cart-drawer,
.woocommerce-mini-cart__drawer,
.nsf-cart-drawer,
[data-cart-drawer],
[data-mini-cart-drawer]{
  z-index:2147483647 !important;
}

/* El overlay y el panel deben ser capas fijas reales, no elementos dentro
 * del flujo que puedan quedar por debajo de un buscador sticky. */
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer-container,
.wc-block-mini-cart__drawer-content,
.wc-block-components-drawer,
.wc-block-components-drawer__content,
.xoo-wsc-container,
.cart-drawer,
.mini-cart-drawer,
.woocommerce-mini-cart__drawer,
.nsf-cart-drawer,
[data-cart-drawer],
[data-mini-cart-drawer]{
  position:fixed !important;
}

.wc-block-mini-cart__drawer-overlay,
.wc-block-components-drawer__screen-overlay{
  position:fixed !important;
  z-index:2147483646 !important;
}


/* NSF 9.5.220 — Aislamiento global mientras el carrito lateral está abierto.
 * El carrito de WooCommerce debe ser la única capa interactiva de primer plano.
 * Otros overlays/buscadores de NSF se ocultan temporalmente para evitar
 * stacking contexts del tema/Elementor que puedan quedar por encima.
 */
body.nsf-cart-abierto .nsf-search-shell,
body.nsf-cart-abierto .nsf-suggestions,
body.nsf-cart-abierto .nsf-grafo-panel,
body.nsf-cart-abierto .nsf-grafo-experiencia-iniciar,
body.nsf-cart-abierto .nsf-info-ia-btn,
body.nsf-cart-abierto .nsf-visor,
body.nsf-cart-abierto .nsf-imagen-fullscreen-modal,
body.nsf-cart-abierto .nsf-experiencia-overlay{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Cabeceras/elementos flotantes de NSF: quedan inertes mientras el drawer
 * está abierto, pero no se elimina el contenido de la página.
 */
body.nsf-cart-abierto .nsf-header,
body.nsf-cart-abierto .nsf-ficha-header{
  z-index:0 !important;
}

/* Nunca permitir que los componentes internos de NSF compitan con el drawer. */
body.nsf-cart-abierto [class*="nsf-float"],
body.nsf-cart-abierto [class*="nsf-floating"]{
  z-index:0 !important;
}

/* NSF 9.5.225 — Corrección definitiva del mini-carrito móvil.
 * El drawer no solo necesita un z-index alto: el bloque padre de WooCommerce
 * puede crear un stacking context por debajo del contenido de la página.
 * Se eleva también el contenedor del Mini Cart y se fuerza una superficie
 * completamente opaca para que ningún texto del documento atraviese el panel.
 */
body.nsf-cart-abierto .wc-block-mini-cart{
  position:relative !important;
  z-index:2147483647 !important;
  isolation:isolate !important;
}

body.nsf-cart-abierto .wc-block-mini-cart__drawer,
body.nsf-cart-abierto .wc-block-components-drawer{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:min(85vw, 580px) !important;
  max-width:100vw !important;
  height:100dvh !important;
  max-height:100dvh !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  background:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:hidden !important;
  z-index:2147483647 !important;
  isolation:isolate !important;
  box-shadow:-10px 0 30px rgba(0,0,0,.12) !important;
}

body.nsf-cart-abierto .wc-block-components-drawer__content{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  background:#fff !important;
  opacity:1 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  z-index:1 !important;
}

body.nsf-cart-abierto .wc-block-mini-cart__template-part{
  position:relative !important;
  z-index:1 !important;
  width:100% !important;
  min-height:100% !important;
  box-sizing:border-box !important;
  background:#fff !important;
  overflow:visible !important;
}

body.nsf-cart-abierto .wc-block-mini-cart__footer{
  position:relative !important;
  z-index:20 !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

body.nsf-cart-abierto .wc-block-mini-cart__footer-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
  width:100% !important;
  box-sizing:border-box !important;
  align-items:stretch !important;
}

body.nsf-cart-abierto .wc-block-mini-cart__footer-actions > *{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-components-button,
body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart,
body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:56px !important;
  padding:10px 12px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.2 !important;
  position:relative !important;
  z-index:21 !important;
}

body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-components-button > span,
body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-components-button > .wc-block-components-button__text{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  text-align:center !important;
}

/* La capa de WooCommerce también queda por debajo del panel pero por encima
 * de cualquier elemento de la página que pudiera crear otro stacking context. */
body.nsf-cart-abierto .wc-block-components-drawer__screen-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
}

@media (max-width:640px){
  body.nsf-cart-abierto .wc-block-mini-cart__drawer,
  body.nsf-cart-abierto .wc-block-components-drawer{
    width:85vw !important;
    max-width:85vw !important;
  }

  body.nsf-cart-abierto .wc-block-mini-cart__footer-actions{
    gap:12px !important;
  }

  body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-components-button,
  body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart,
  body.nsf-cart-abierto .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout{
    min-height:52px !important;
    padding:9px 8px !important;
    font-size:14px !important;
  }
}


/* NSF 9.5.226 — Elementor/WooCommerce Mini Cart.
 * El mini-carrito que aparece en la ficha es el carrito de Elementor.
 * Su contenedor puede vivir dentro de un header/section con un stacking
 * context inferior al contenido de la página. Elevar solo el drawer no basta.
 */
body.nsf-cart-abierto .elementor-menu-cart,
body.nsf-cart-abierto .elementor-widget-woocommerce-menu-cart,
body.nsf-cart-abierto .elementor-menu-cart__wrapper,
body.nsf-cart-abierto .elementor-menu-cart__container,
body.nsf-cart-abierto .elementor-menu-cart__main,
body.nsf-cart-abierto .elementor-menu-cart__main .widget_shopping_cart_content{
  z-index:2147483647 !important;
}

body.nsf-cart-abierto .elementor-menu-cart__container{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:min(85vw,580px) !important;
  max-width:85vw !important;
  height:100dvh !important;
  max-height:100dvh !important;
  background:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:hidden !important;
  isolation:isolate !important;
  box-sizing:border-box !important;
}

body.nsf-cart-abierto .elementor-menu-cart__main{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  background:#fff !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}

body.nsf-cart-abierto .elementor-menu-cart__footer-buttons,
body.nsf-cart-abierto .elementor-menu-cart__footer-buttons > *{
  box-sizing:border-box !important;
}

body.nsf-cart-abierto .elementor-menu-cart__footer-buttons{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
}

body.nsf-cart-abierto .elementor-menu-cart__footer-buttons > a,
body.nsf-cart-abierto .elementor-menu-cart__footer-buttons .elementor-button{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  padding:9px 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.2 !important;
  position:relative !important;
  z-index:2 !important;
}

body.nsf-cart-abierto .elementor-menu-cart__footer-buttons a span,
body.nsf-cart-abierto .elementor-menu-cart__footer-buttons .elementor-button-text{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-overflow:ellipsis !important;
  text-align:center !important;
}

@media (max-width:640px){
  body.nsf-cart-abierto .elementor-menu-cart__container{
    width:85vw !important;
    max-width:85vw !important;
  }
}


/* NSF 9.5.234 — Rediseño visual del Mini Cart lateral.
 * Mantiene la funcionalidad de Elementor/WooCommerce y modifica solo su
 * presentación cuando el drawer está abierto.
 */
body.nsf-cart-abierto .elementor-menu-cart__main{
  background:#fff !important;
  color:#192339 !important;
}

body.nsf-cart-abierto .elementor-menu-cart__main .widget_shopping_cart_content{
  background:#fff !important;
  padding:24px 22px 22px !important;
  min-height:100% !important;
  box-sizing:border-box !important;
}

/* Cabecera del panel */
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button{
  color:#192339 !important;
  background:#fff !important;
  border:0 !important;
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  right:14px !important;
  top:14px !important;
}

/* NSF 9.5.265 — Cierre del mini-carrito: el icono X no debe heredar
 * tamaños tipográficos gigantes del tema/Elementor. */
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
  font-size:0 !important;
}
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button svg{
  width:24px !important;
  height:24px !important;
  max-width:24px !important;
  max-height:24px !important;
  display:block !important;
}
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button i,
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button span{
  font-size:24px !important;
  line-height:1 !important;
  width:24px !important;
  height:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Lista de productos */
body.nsf-cart-abierto .elementor-menu-cart__products{
  margin-top:34px !important;
  padding:0 !important;
}

body.nsf-cart-abierto .elementor-menu-cart__product{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) 28px !important;
  gap:14px !important;
  align-items:center !important;
  padding:18px 0 !important;
  border:0 !important;
  border-bottom:1px solid #e7e3de !important;
  background:#fff !important;
}

body.nsf-cart-abierto .elementor-menu-cart__product:first-child{
  border-top:1px solid #e7e3de !important;
}

body.nsf-cart-abierto .elementor-menu-cart__product-image img,
body.nsf-cart-abierto .elementor-menu-cart__product-image a img{
  width:64px !important;
  height:78px !important;
  object-fit:cover !important;
  border-radius:8px !important;
  background:#f5f1ee !important;
}

body.nsf-cart-abierto .elementor-menu-cart__product-name,
body.nsf-cart-abierto .elementor-menu-cart__product-name a{
  color:#192339 !important;
  font-size:1rem !important;
  line-height:1.3 !important;
  font-weight:750 !important;
  text-decoration:none !important;
}

body.nsf-cart-abierto .elementor-menu-cart__product-price{
  color:#d9232e !important;
  font-size:.92rem !important;
  font-weight:700 !important;
  margin-top:6px !important;
}

body.nsf-cart-abierto .elementor-menu-cart__product-remove,
body.nsf-cart-abierto .elementor-menu-cart__product-remove a{
  color:#737b87 !important;
  font-size:22px !important;
  text-decoration:none !important;
  text-align:center !important;
}

body.nsf-cart-abierto .elementor-menu-cart__product-remove a:hover{
  color:#d9232e !important;
}

/* Subtotal */
body.nsf-cart-abierto .elementor-menu-cart__subtotal{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin:0 !important;
  padding:22px 0 !important;
  border-top:0 !important;
  border-bottom:1px solid #e7e3de !important;
  color:#192339 !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
}

/* Botones */
body.nsf-cart-abierto .elementor-menu-cart__footer-buttons{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  padding-top:18px !important;
}

body.nsf-cart-abierto .elementor-menu-cart__footer-buttons > a,
body.nsf-cart-abierto .elementor-menu-cart__footer-buttons .elementor-button{
  min-height:52px !important;
  border-radius:7px !important;
  padding:10px 8px !important;
  font-size:.88rem !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  border:1px solid #d9232e !important;
  box-shadow:none !important;
}

body.nsf-cart-abierto .elementor-menu-cart__footer-buttons .elementor-menu-cart__footer-cart,
body.nsf-cart-abierto .elementor-menu-cart__footer-buttons a:first-child{
  background:#fff !important;
  color:#d9232e !important;
}

body.nsf-cart-abierto .elementor-menu-cart__footer-buttons .elementor-menu-cart__footer-checkout,
body.nsf-cart-abierto .elementor-menu-cart__footer-buttons a:last-child{
  background:#d9232e !important;
  color:#fff !important;
}

@media (max-width:640px){
  body.nsf-cart-abierto .elementor-menu-cart__main .widget_shopping_cart_content{
    padding:20px 16px 18px !important;
  }
  body.nsf-cart-abierto .elementor-menu-cart__product{
    grid-template-columns:62px minmax(0,1fr) 26px !important;
    gap:12px !important;
    padding:16px 0 !important;
  }
  body.nsf-cart-abierto .elementor-menu-cart__product-image img,
  body.nsf-cart-abierto .elementor-menu-cart__product-image a img{
    width:56px !important;
    height:68px !important;
  }
  body.nsf-cart-abierto .elementor-menu-cart__footer-buttons{
    gap:8px !important;
  }
  body.nsf-cart-abierto .elementor-menu-cart__footer-buttons > a,
  body.nsf-cart-abierto .elementor-menu-cart__footer-buttons .elementor-button{
    min-height:50px !important;
    font-size:.82rem !important;
  }
}

/* NSF 9.5.268 — Cierre del Mini Cart.
 * No usamos el icono/pseudo-elementos de Elementor. La X se dibuja
 * directamente como fondo del propio botón para evitar herencias del tema.
 */
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  display:block !important;
  border:0 !important;
  border-radius:50% !important;
  background-color:#fff !important;
  background-image:
    linear-gradient(45deg, transparent 46%, #737b87 47%, #737b87 53%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, #737b87 47%, #737b87 53%, transparent 54%) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:26px 26px !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  transform:none !important;
  box-shadow:none !important;
}
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button svg,
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button i,
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button span,
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button::before,
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button::after{
  display:none !important;
  content:none !important;
}
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button:hover,
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button:focus-visible{
  background-color:#fff !important;
  background-image:
    linear-gradient(45deg, transparent 46%, #d9232e 47%, #d9232e 53%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, #d9232e 47%, #d9232e 53%, transparent 54%) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:26px 26px !important;
}


/* NSF 9.5.269 — Cierre real del Mini Cart.
 * Elementor vuelve a insertar su SVG/markup del cierre al abrir o actualizar
 * el drawer. En lugar de pelear con ese SVG, NSF sustituye el contenido del
 * botón por un único carácter de cierre controlado por nosotros.
 */
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button.nsf-cart-close-fixed{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#737b87 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  text-indent:0 !important;
  line-height:1 !important;
  font-size:0 !important;
}
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button.nsf-cart-close-fixed .nsf-cart-close-symbol{
  display:block !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  padding:0 !important;
  color:#737b87 !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:38px !important;
  font-weight:300 !important;
  line-height:42px !important;
  text-align:center !important;
  text-indent:0 !important;
  transform:none !important;
}
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button.nsf-cart-close-fixed:hover .nsf-cart-close-symbol,
body.nsf-cart-abierto .elementor-menu-cart__main .elementor-menu-cart__close-button.nsf-cart-close-fixed:focus-visible .nsf-cart-close-symbol{
  color:#d9232e !important;
}

/* NSF 1.1.6 — Elementor Mini Cart: no depender de .nsf-cart-abierto para
   aplicar la apariencia al contenido real del drawer. */
.elementor-menu-cart__container .elementor-menu-cart__product{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) 28px !important;
  gap:14px !important;
  align-items:center !important;
  padding:18px 0 !important;
  border-bottom:1px solid #e7e3de !important;
  background:#fff !important;
}
.elementor-menu-cart__container .elementor-menu-cart__product-image img,
.elementor-menu-cart__container .elementor-menu-cart__product-image a img{
  width:64px !important;height:78px !important;object-fit:cover !important;border-radius:8px !important;background:#f5f1ee !important;
}
.elementor-menu-cart__container .elementor-menu-cart__product-name,
.elementor-menu-cart__container .elementor-menu-cart__product-name a{color:#192339 !important;font-size:1rem !important;line-height:1.3 !important;font-weight:750 !important;text-decoration:none !important;}
.elementor-menu-cart__container .elementor-menu-cart__product-price{color:#d9232e !important;font-size:.92rem !important;font-weight:700 !important;margin-top:6px !important;}
.elementor-menu-cart__container .elementor-menu-cart__product-remove,
.elementor-menu-cart__container .elementor-menu-cart__product-remove a{color:#737b87 !important;font-size:22px !important;text-decoration:none !important;text-align:center !important;}
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;padding-top:18px !important;}
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons > a,
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button{min-height:52px !important;border-radius:7px !important;padding:10px 8px !important;font-size:.88rem !important;font-weight:700 !important;line-height:1.15 !important;border:1px solid #d9232e !important;box-shadow:none !important;}
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-menu-cart__footer-cart,
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons a:first-child{background:#fff !important;color:#d9232e !important;}
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-menu-cart__footer-checkout,
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons a:last-child{background:#d9232e !important;color:#fff !important;}
@media(max-width:640px){
 .elementor-menu-cart__container .elementor-menu-cart__product{grid-template-columns:62px minmax(0,1fr) 26px !important;gap:12px !important;padding:16px 0 !important;}
 .elementor-menu-cart__container .elementor-menu-cart__product-image img,.elementor-menu-cart__container .elementor-menu-cart__product-image a img{width:56px !important;height:68px !important;}
}


/* NSF WooCommerce 1.1.15 — Centrado del icono del carrito en móvil.
 * Solo afecta al botón del Mini Cart del header; escritorio permanece intacto.
 */
@media (max-width: 640px){
  .elementor-menu-cart__toggle_button{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .elementor-menu-cart__toggle_button .elementor-button-icon,
  .elementor-menu-cart__toggle_button .elementor-menu-cart__toggle-icon,
  .elementor-menu-cart__toggle_button .elementor-menu-cart__toggle-icon-wrapper{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
  }

  .elementor-menu-cart__toggle_button .elementor-menu-cart__toggle-icon{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
  }
}
