/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

html, body {
    overscroll-behavior: none;
    overscroll-behavior-y: none;
}

.font-weight-500{
	font-weight: 500 !important;
}

.elementor-menu-cart--items-indicator-bubble .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter]{
	background-color: #00bd06;
}


/* Menú auto */
@media (min-width: 768px){
	.nav-auto ul.elementor-nav-menu {
		display: flex !important;
		justify-content: space-between !important;
		width: 100% !important;
	}

	.nav-auto ul.elementor-nav-menu > li {
		flex: 0 0 auto !important;
		width: max-content !important;
	}

	.nav-auto ul.elementor-nav-menu > li > a {
		display: inline-flex !important;
		width: max-content !important;
		white-space: nowrap !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
	
.nav-auto ul.elementor-nav-menu::after {
    display: none;
}



#imagen-dinamica img, #texto-dinamico {
    transition: opacity 0.2s ease;
}

.carrusel-test-blanco > div > div.swiper-wrapper > div > div > div.elementor-testimonial__footer > div > img{
	filter: brightness(0) saturate(100%) invert(80%) sepia(93%) saturate(1%) hue-rotate(319deg) brightness(116%) contrast(100%);
}

/* Menú footer */
@media (min-width: 1025px){
	.menu-footer > nav > ul > li > a{
		justify-content: left !important;
	}
}

.menu-footer > nav > ul > li{
	transition: transform .3s ease;
	&:hover{
		transform: scale(1.05);
	}
}

/* Dropdown lenguajes */
.lang-switcher-globo > div > nav > div,
.lang-switcher-globo > div > nav > ul{
	border-radius: 10px;
	overflow: hidden;
}

/* Items productos menú */
.elementor-nav-menu > li.li-hijos ul {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.elementor-nav-menu > li.li-hijos > ul > li > ul,
.elementor-nav-menu > li.li-hijos > ul > li > ul > li > ul {
    top: 0 !important;
    left: auto !important;
    right: 100% !important;
    margin-top: 0 !important;
    transform: none !important;
}

/* Menu cart */
.elementor-widget-woocommerce-menu-cart > div > div > div.elementor-menu-cart__container > div > div.widget_shopping_cart_content > div.elementor-menu-cart__subtotal{
	display: none;
}


/* Menú de categorías */
.btn-menu-categoria a{
	text-align: left;
}

.btn-menu-categoria a .elementor-button-text{
	width: 100%;
}

.mega-wc-menu {
	display: grid;
	width: 100%;
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	font-family: inherit;
}

.item-productos .mega-wc-menu {
	grid-template-columns: 32% 34% 34%;
}

.item-soluciones .mega-wc-menu {
	grid-template-columns: 50% 50%;
}

.item-soluciones div.mega-wc-col.mega-wc-col-grandchildren{
	display: none;
}

.item-soluciones .mega-wc-menu{
	min-height: 300px;
}

.item-productos .mega-wc-menu{
	min-height: 400px;
}

.mega-wc-col {
	padding: 22px 18px;
}

.item-productos .mega-wc-col{
	border-right: 1px solid #eeeeee;
}

.item-soluciones .mega-wc-col:first-child {
	border-right: 1px solid #eeeeee;
}

.mega-wc-col:last-child {
	border-right: 0;
}

.mega-wc-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mega-wc-item {
	margin: 0;
	padding: 0;
}

.mega-wc-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	padding: 12px 14px;
	border-radius: 10px;
	color: #23263b;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
	transition: all .18s ease;
}

.mega-wc-link:hover,
.mega-wc-link.is-active {
	background: rgba(255, 118, 1, .10);
	color: #FF7601;
}

.mega-wc-link:hover .mega-wc-arrow,
.mega-wc-link.is-active .mega-wc-arrow {
	color: #FF7601;
}

.mega-wc-arrow {
	color: #7b8194;
	font-size: 20px;
	line-height: 1;
	transition: color .18s ease;
}

.mega-wc-panel {
	display: none;
}

.mega-wc-panel.is-active {
	display: block;
}

.mega-wc-empty {
	padding: 12px 14px;
	color: #7b8194;
	font-size: 14px;
}

@media (max-width: 767px) {
	.mega-wc-menu {
		grid-template-columns: 1fr;
		min-height: auto;
		border-radius: 12px;
	}

	.mega-wc-col {
		border-right: 0;
		border-bottom: 1px solid #eeeeee;
		padding: 14px;
	}

	.mega-wc-col:last-child {
		border-bottom: 0;
	}
}

.woo-accordion-header span:first-child {
    flex: 1 1 auto;
    padding-right: 15px;
    line-height: 1.3;
    white-space: normal;
    word-break: break-word;
}

.woo-accordion-icon {
    flex-shrink: 0;
}

/* Resultados de búsqueda */
.resultados .elementor-post__excerpt{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
	text-overflow: elipsis;
	overflow: hidden;
	max-height: 3lh;
}

/* Separador banderas menú */
/*
nav.cpel-switcher__nav > ul > li.cpel-switcher__lang:first-child::after{
	content: "|";
    margin-left: 5px;
    font-size: 13px;
    font-weight: 600;
	color: #fff;
}

.cpel-switcher__list li.cpel-switcher__lang {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: auto !important;
}
*/

/* Blog */
.elementor-widget-theme-post-excerpt{
  --lines: 3;
  white-space: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--lines);
  line-clamp: var(--lines);
}

@supports not (-webkit-line-clamp: 1) {
  .elementor-widget-theme-post-excerpt{
    display: block;
    line-height: 1.45;
    max-height: calc(1.45em * var(--lines));
  }
}

/* Color formularios */

form input:-webkit-autofill {
    transition: background-color 5000s ease-in-out 0s;
	-webkit-text-fill-color: #333333 !important;
}

.form-back-f3f3f3 div.elementor-field-group.is-focus input,
.form-back-f3f3f3 div.elementor-field-group.is-filled input{
	background-color: #f3f3f3 !important;
}

.form-back-e8e8e8 div.elementor-field-group.is-focus input,
.form-back-e8e8e8 div.elementor-field-group.is-filled input{
	background-color: #e8e8e8 !important;
}

/* Icono saltando */
.icono-saltarin{
  animation: reboteSuave 3s ease-in-out infinite;
}

@keyframes reboteSuave {
  0%, 30%, 100% {
    transform: translateY(0);
  }
  
  15% {
    transform: translateY(-15px);
  }
}
	
.carrusel-info div.e-n-carousel {
	height: 100% !important;
}


/* REDUCIR ESPACIO ENTRE BOTONES DE SHARE PLANTILLA BLOGS SINGLE POST */
/* Share Buttons: íconos más juntos (solo donde pongas .share-compact) */
.share-compact .elementor-grid{
  --grid-column-gap: 0px; /* <-- ajusta este valor */
  --grid-row-gap: 3px;
   /* o flex-start si los quieres pegados a la izquierda */
}


.carrusel-marcas .elementor-swiper-button svg:hover{
	fill: #000 !important;
}

#search-34cdaaf:focus::placeholder{
	opacity: 0;
}

/* Por si Elementor mete márgenes extra en items/botones */
.share-compact .elementor-grid-item,
.share-compact .elementor-share-btn{
  margin: -4px !important;
}


html, body, h1, h2, h3, h4, h5, h6, p, a, span, label, input, div, textarea, select, option, ul, ol, li, button, .pf-filters, .pf-filters *{
	font-family: 'Montserrat', 'Poppins', 'Sans-serif' !important;
}



/* Deshabilitar la opción de expandir (resize) para todos los campos de textarea */
textarea {
    resize: none !important;
}





/* QUITAR BORDER EL FOCUS EN FORMULARIOS clase CSS: no-focus-line*/
/* SOLO formularios con la clase no-focus-line */
.no-focus-line .elementor-form input:focus,
.no-focus-line .elementor-form textarea:focus,
.no-focus-line .elementor-form select:focus,
.no-focus-line .elementor-field-group input:focus,
.no-focus-line .elementor-field-group textarea:focus,
.no-focus-line .elementor-field-group select:focus {
  outline: none !important;
  box-shadow: none !important;
}







/* REDUCIR ALTO DE LA BARRA DE BUSCAR EN EL HEADER */
/* =========================================
   HEADER - Search más delgado (WIDGET COMPLETO)
   Clase en el widget Search: head-search
   Ajusta SOLO 1 valor: --hs-h
========================================= */
.head-search{
  --hs-h: 40px; /* <-- cambia aquí: 30px, 32px, 36px, etc. */
}

/* Wrapper e input: mismo alto para evitar bordes raros */
.head-search .e-search-input-wrapper,
.head-search .e-search-input{
  min-height: var(--hs-h) !important;
  height: var(--hs-h) !important;
  box-sizing: border-box;
}

/* Botón: mismo alto + sin “inflarse” por line-height */
.head-search .e-search-submit{
  min-height: var(--hs-h) !important;
  height: var(--hs-h) !important;
  line-height: var(--hs-h) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}








/* EFECTO DE HOVER EN CARDS DE INICIO DE SERVICIOS */
/* =========================================
   SERVICIOS: mostrar "Información" solo en hover (ESCRITORIO)
   Clases:
   - Padre: servicios-hover
   - Tarjetas (Imagen 1/2/3): srv-card
   - Overlay info: srv-info
========================================= */

@media (min-width: 1025px){

  /* Cada tarjeta debe servir de referencia para el overlay */
  .servicios-hover .srv-card{
    position: relative;
    overflow: hidden; /* respeta bordes redondeados */
  }

  /* El bloque de info se vuelve overlay y arranca oculto */
  .servicios-hover .srv-card .srv-info{
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity .35s ease, visibility .35s ease;
  }

  /* Mostrar al pasar el mouse o al enfocar algo dentro (teclado) */
  .servicios-hover .srv-card:hover .srv-info,
  .servicios-hover .srv-card:focus-within .srv-info{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

}








/* QUITAR BORDER RADIUS EN ACORDEÓN AL MOMENTO DE ESTAR ABIERTO */
/* =========================================
   ACCORDION: unión header/contenido sin radius
   Clase en el widget: acc-join-flat
========================================= */

/* Cuando el item está abierto (details[open]) quitamos SOLO el radius inferior del header */
.acc-join-flat .e-n-accordion-item[open] summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}








/* ANIMACIÓN DE LABELS DE FORMULARIOS */
/* FORMULARIO SUSCRIBIRSE ANIMACIÓN DE LABELS*/
/* =========================================
   Floating Label (Elementor Form)
   Clase widget: float
   Estructura: label + input dentro de .elementor-field-group
   ========================================= */

.float .elementor-field-group{
  position: relative;
}

/* Deja espacio arriba para el label cuando "sube" */
.float .elementor-field-textual{
  padding-top: 15px !important;
  padding-bottom: 12px !important;
}

/* LABEL como placeholder (sobre el input) */
.float .elementor-field-group > .elementor-field-label{
  position: absolute;
  left: 20px;                 /* ajusta si tu input tiene padding diferente */
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  margin: 0 !important;
  opacity: .75;
  line-height: 1;
  transition: top .18s ease, transform .18s ease, opacity .18s ease, font-size .18s ease;
  z-index: 2;
}

/* Placeholder visible por defecto */
.float .elementor-field-textual::placeholder{
  opacity: 1;
  transition: opacity .15s ease;
}

/* Al enfocar o cuando hay texto: label sube */
.float .elementor-field-group.is-focus > .elementor-field-label,
.float .elementor-field-group.is-filled > .elementor-field-label{
  top: 3px;
  transform: translateY(0);
  opacity: 1;
  font-size: 12px;
}

/* Al enfocar o con texto: ocultar placeholder para que no choque */
.float .elementor-field-group.is-focus .elementor-field-textual::placeholder,
.float .elementor-field-group.is-filled .elementor-field-textual::placeholder{
  opacity: 0;
}



/* SUBIR LABEL DE MENSAJE */
/* =========================================
   FIX: Campo MENSAJE (textarea) - evitar que el texto se monte en el label
   Solo afecta .elementor-field-group-mensaje
========================================= */

/* Label en reposo arriba (ya lo tenías) */
.float .elementor-field-group-mensaje > .elementor-field-label{
  top: 14px !important;                 
  transform: translateY(0) !important;  
}

/* Dar MÁS espacio arriba dentro del textarea */
.float .elementor-field-group-mensaje textarea.elementor-field-textual{
  padding-top: 27px !important;   /* ajusta 32–44 */
  padding-bottom: 12px !important;
}

/* Responsive */
@media (max-width: 767px){
  .float .elementor-field-group-mensaje > .elementor-field-label{
    top: 14px !important;
    transform: translateY(0) !important;
  }

  .float .elementor-field-group-mensaje textarea.elementor-field-textual{
    padding-top: 27px !important; /* ajusta 36–48 */
    padding-bottom: 12px !important;
  }
}



/* RESPONSIVE DE LOS LABELS FLOTANTES EN FORMULARIO */
/* =========================================
   Floating Label (RESPONSIVE fine-tune)
   Solo móvil/tablet
   ========================================= */
@media (max-width: 767px){

  .float .elementor-field-group > .elementor-field-label{
    transition:
      top .28s cubic-bezier(.2,.8,.2,1),
      transform .28s cubic-bezier(.2,.8,.2,1),
      opacity .22s ease,
      font-size .28s cubic-bezier(.2,.8,.2,1);
  }

  /* 3) Cuando sube: que suba un poco más (más separación visual) */
  .float .elementor-field-group.is-focus > .elementor-field-label,
  .float .elementor-field-group.is-filled > .elementor-field-label{
    top: 3px;          /* 👈 más arriba (antes 7px). Prueba 2–5 */
    font-size: 12px;   /* 👈 el tamaño que ya te gustó (ajustable) */
  }

  /* 4) (Opcional) En reposo, bajar un poquito el label para que se sienta centrado */
  .float .elementor-field-group > .elementor-field-label{
    top: 54%;          /* 👈 50% era perfecto en desktop; en móvil a veces se ve mejor 52–56 */
  }
}



/* WIDGET CON BANDERAS EN TEL */
/* =========================================
   FLOATING LABEL - AJUSTES SOLO CAMPO TELÉFONO
   Widget: .float
   Group wrapper: .elementor-field-group-telefono
   Input: #form-field-telefono
========================================= */

/* 1) Ocultar placeholder SOLO del input teléfono */
.float .elementor-field-group-telefono input#form-field-telefono::placeholder{
  opacity: 0 !important;
}
.float .elementor-field-group-telefono input#form-field-telefono::-webkit-input-placeholder{ opacity: 0 !important; }
.float .elementor-field-group-telefono input#form-field-telefono::-moz-placeholder{ opacity: 0 !important; }
.float .elementor-field-group-telefono input#form-field-telefono:-ms-input-placeholder{ opacity: 0 !important; }

/* 2) Mover el LABEL a la derecha para que no se monte con la bandera */
.float .elementor-field-group-telefono > .elementor-field-label{
  left: 55px !important; /* ajusta 58–78 */
}

/* 3) Mantener ese left cuando sube (focus/filled) */
.float .elementor-field-group-telefono.is-focus > .elementor-field-label,
.float .elementor-field-group-telefono.is-filled > .elementor-field-label{
  left: 55px !important;
}

/* 4) Dar espacio al texto del input para no quedar debajo de la bandera */
.float .elementor-field-group-telefono input#form-field-telefono{
  padding-left: 51px !important; /* ajusta 70–92 */
}

/* 5) Responsive */
@media (max-width: 767px){
  .float .elementor-field-group-telefono > .elementor-field-label,
  .float .elementor-field-group-telefono.is-focus > .elementor-field-label,
  .float .elementor-field-group-telefono.is-filled > .elementor-field-label{
    left: 55px !important;
  }

  .float .elementor-field-group-telefono input#form-field-telefono{
    padding-left: 51px !important;
  }
}


/* Subir el dropdown por encima de labels/campos */
.float .elementor-field-group-telefono .iti__dropdown-content{
  z-index: 4 !important;
}









/* LIMITAR B0LD DEL BREADCRUMB */
nav.woocommerce-breadcrumb a
 {
    font-weight: 400;
}









/* FLECHAS SINGLE PRODUCTO QUANTITY */

/* Ocultar flechas nativas */
.qty-custom input.qty::-webkit-outer-spin-button,
.qty-custom input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}


/* ===== Quantity con flechas apiladas a la derecha ===== */
.qty-custom{
  display:inline-flex;
  align-items:stretch;
}

/* Input */
.qty-custom input.qty{
  -moz-appearance:textfield;
}

/* Ocultar spinners nativos */
.qty-custom input.qty::-webkit-outer-spin-button,
.qty-custom input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Columna de flechas (derecha) */
.qty-custom .qty-arrows{
  display:flex;
  flex-direction:column;
  margin-left:0px;              /* une bordes con el input */
}

.qty-custom .qty-btn{
  width:28px;
  height:50%;
  padding:0;
  border:1px solid #dcdcdc;
  background:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.qty-custom .qty-btn + .qty-btn{
  border-top:none;               /* une botones */
}

/* redondeos tipo control único */
.qty-custom input.qty{
  border:1px solid #dcdcdc;
  border-radius:8px 0 0 8px !important;
}

.qty-custom .qty-btn.qty-up{
  border-radius:0 8px 0 0 !important;
}

.qty-custom .qty-btn.qty-down{
  border-radius:0 0 8px 0 !important;
}

/* hover suave */
.qty-custom .qty-btn:hover{
  background:#f5f5f5;
}

/* icono flecha (tipo spinner) */
.qty-custom .qty-btn svg{
  width:12px;
  height:12px;
  display:block;
  fill:currentColor;
}


/* ELIMITAR ESPACIO DE LAS FLECHAS AL CONTENEDOR */
.qty-arrows button.qty-down {
    margin-left: 0 !important;
}








/* FLECHA DE LENGUAGE SWITCHER */
/* =========================================
   SOLO ESTE SWITCHER DE IDIOMA
   Flecha rellena
========================================= */

.elementor-element-8d9b481 .cpel-switcher__toggle > a{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-right: 20px !important;
}

.elementor-element-8d9b481 .cpel-switcher__toggle > a .cpel-switcher__icon{
  display: none !important;
}

.elementor-element-8d9b481 .cpel-switcher__toggle > a::after{
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid currentColor;
  transform: translateY(-30%);
  pointer-events: none;
}

.elementor-element-8d9b481 .cpel-switcher__toggle.cpel-switcher__toggle--on > a::after{
  border-top: none;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 6px solid currentColor;
  transform: translateY(-70%);
}









/* OCULTAR CART TOTALS (CART) Y RESUMEN Y POLITICAS PRIVACIDAD EN CHECKOUT PÁGINA COTIZAR */
.resumen-form .e-cart__column.e-cart__column-end	{
	display: none !important;
}
	
.checkout-form form .effect-label-label {
  left: 15px !important;
}
	
.checkout-form	div.e-checkout__order_review{
	display: none !important;
}
	
.checkout-form .woocommerce-privacy-policy-text,
.checkout-form .woocommerce-info{
	display: none;
}

/* COTIZADOR: ocultar País/Región */
.checkout-form #billing_country_field{
  display: none !important;
}










/* =========================================
   CART - Quantity flechas compactas (sin crecer)
========================================= */
.woocommerce-cart .product-quantity .quantity.qty-custom{
  display:inline-flex !important;
  align-items:stretch !important;
  gap:0 !important;
  overflow:visible !important;
}

/* Input: NO forzamos height, lo dejamos como venga */
.woocommerce-cart .product-quantity .quantity.qty-custom input.qty{
  display:block !important;
  margin:0 !important;
  -moz-appearance:textfield;
  border:1px solid #dcdcdc !important;
  border-right:none !important;
  border-radius:10px 0 0 10px !important;
  box-shadow:none !important;
  background:#fff !important;
}

/* Columna de flechas: se estira al alto del input */
.woocommerce-cart .product-quantity .quantity.qty-custom .qty-arrows{
  display:flex !important;
  flex-direction:column !important;
  margin:0 !important;
  padding:0 !important;
  height:auto !important;          /* clave: no fijar */
  align-self:stretch !important;   /* iguala alto del input */
}

/* Botones: ocupan mitad del alto disponible */
.woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn{
  width:26px !important;
  flex:1 1 0 !important;           /* mitad/mitad sin hardcode */
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  background:#FF7601 !important;   /* naranja */
  color:#fff !important;           /* flecha blanca */
  opacity:1 !important;
  visibility:visible !important;

  border:none !important;
  border-right:1px solid #F55C21 !important;  /* borde derecho */
  cursor:pointer !important;
}

/* línea divisoria horizontal entre up/down */
.woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn + .qty-btn{
  border-top:1px solid rgba(255,255,255,.35) !important;
}

/* redondeos del bloque derecho */
.woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn.qty-up{
  border-radius:0 10px 0 0 !important;
}
.woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn.qty-down{
  border-radius:0 0 10px 0 !important;
}

/* hover negro */
.woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn:hover{
  background:#000 !important;
  border-right-color:#000 !important;
}

/* SVG */
.woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn svg{
  width:10px !important;
  height:10px !important;
  display:block !important;
  fill:currentColor !important;
}








/* =========================================
   COTIZADOR - CART: ocultar Price/Subtotal y Totals
   Clase en el widget cart: resumen-form
========================================= */

/* Ocultar columnas Price y Subtotal (thead + filas) */
.resumen-form th.product-price,
.resumen-form td.product-price,
.resumen-form th.product-subtotal,
.resumen-form td.product-subtotal{
  display: none !important;
}

/* Ajustar el colspan del footer (acciones) porque estaba en 6 columnas */
.resumen-form td.actions{
  colspan: 4; /* (ojo: esto NO funciona en CSS) */
}

/* Solución real: forzar que el td de acciones ocupe todo el ancho */
.resumen-form tr:last-child td.actions{
  width: 100% !important;
}

/* Ocultar bloque de Totals de la derecha completo + botón proceed */
.resumen-form .e-cart__column-end,
.resumen-form .e-cart-totals,
.resumen-form .cart-collaterals{
  display: none !important;
}

/* (Opcional) centrar/ensanchar la tabla al quitar la columna derecha */
.resumen-form .e-cart__column-start{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}







/* CENTRAR NÚMERO DEL QUANTITY */
/* CART (cotizador) - centrar número del quantity */
.resumen-form td.product-quantity{
  text-align: center !important;              /* centra el bloque dentro de la celda */
}

.resumen-form td.product-quantity .quantity.qty-custom{
  margin: 0 auto !important;                  /* centra el control completo */
  justify-content: center !important;         /* centra contenido si es flex */
}

.resumen-form td.product-quantity .quantity.qty-custom input.qty{
  text-align: center !important;              /* centra el número */
  padding-left: 12px !important;              /* balancea el espacio interno */
  padding-right: 12px !important;
}










/* CAMBIO DE ICONO "X" A BASURERO DE PÁGINA COTIZAR, PARA REMOVER PRODUCTOS */
/* CART (solo widget .resumen-form): reemplazar "×" por basurero Elementor */
.resumen-form td.product-remove a.remove{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* Oculta el carácter × pero deja el link funcionando */
  font-size: 0 !important;
  line-height: 0 !important;

  /* Icono negro como la X */
  color: #000 !important;

  text-decoration: none !important;
  background: transparent;
  border-radius: 8px;
}

/* Basurero (SVG de Elementor) usando mask para que tome color negro */
.resumen-form td.product-remove a.remove::before{
  content: "";
  width: 18px;
  height: 18px;
  display: block;

  background-color: currentColor;

  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M32%20464a48%2048%200%200%200%2048%2048h288a48%2048%200%200%200%2048-48V128H32zm272-256a16%2016%200%200%201%2032%200v224a16%2016%200%200%201-32%200zm-96%200a16%2016%200%200%201%2032%200v224a16%2016%200%200%201-32%200zm-96%200a16%2016%200%200%201%2032%200v224a16%2016%200%200%201-32%200zM432%2032H312l-9.4-18.7A24%2024%200%200%200%20281.1%200H166.8a23.72%2023.72%200%200%200-21.4%2013.3L136%2032H16A16%2016%200%200%200%200%2048v32a16%2016%200%200%200%2016%2016h416a16%2016%200%200%200%2016-16V48a16%2016%200%200%200-16-16z%22/%3E%3C/svg%3E") no-repeat center / contain;

  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M32%20464a48%2048%200%200%200%2048%2048h288a48%2048%200%200%200%2048-48V128H32zm272-256a16%2016%200%200%201%2032%200v224a16%2016%200%200%201-32%200zm-96%200a16%2016%200%200%201%2032%200v224a16%2016%200%200%201-32%200zm-96%200a16%2016%200%200%201%2032%200v224a16%2016%200%200%201-32%200zM432%2032H312l-9.4-18.7A24%2024%200%200%200%20281.1%200H166.8a23.72%2023.72%200%200%200-21.4%2013.3L136%2032H16A16%2016%200%200%200%200%2048v32a16%2016%200%200%200%2016%2016h416a16%2016%200%200%200%2016-16V48a16%2016%200%200%200-16-16z%22/%3E%3C/svg%3E") no-repeat center / contain;
}

/* (Opcional) hover: si querés que siga negro, dejalo así.
   Si querés color en hover, cambiamos el color acá. */
.resumen-form td.product-remove a.remove:hover,
.resumen-form td.product-remove a.remove:focus{
  color: #FF7601 !important;
}



/* Centrar el basurero dentro de la celda (vertical + horizontal) */
.resumen-form td.product-remove{
  vertical-align: middle !important;
  text-align: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Asegura que el link sea “cuadro” y quede centrado */
.resumen-form td.product-remove a.remove{
  margin: 0 auto !important;
  align-self: center;
}

/* Si aún queda 1px arriba por el render del mask, ajustamos fino */
.resumen-form td.product-remove a.remove::before{
  transform: translateY(6px);
}


/* CARRITO - mover solo el título "Cantidad" un poco a la derecha */
.resumen-form .shop_table thead th.product-quantity{
  padding-left: 25px !important; /* ajusta 12px, 16px, 20px si lo quieres más o menos */
}










/* BORDES REDONDEADOS FORM DE CHECKOUT */
/* ZWT - Redondear SOLO el contenedor del widget checkout */
.co-round{
  border-radius: 20px;
  overflow: hidden; /* clave para que el fondo (el verde que ya pusiste) respete el radio */
}

/* Por si Elementor aplica el fondo en el contenedor interno del widget */
.co-round .elementor-widget-container{
  border-radius: 20px;
  overflow: hidden;
}













/* ANIMACIÓN LABEL FORM CHECKOUT */
/* Formularios */

/* Textarea: sin resize */
.effect-label-form form textarea.effect-label-control {
  resize: none;
  padding-top: 15px;
}

.effect-label-form form {
  position: relative;
}

.effect-label-form form .effect-label-field {
  position: relative;
  margin-bottom: 1.25rem;
}

.effect-label-form form .effect-label-control {
  display: block;
  width: 100%;
  box-sizing: border-box;
	padding-top: 10px;
}

/* Label flotando en el input */
.effect-label-form form .effect-label-label {
  position: absolute;
  left: 20px;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  line-height: 1.2;
  color: #777;
  pointer-events: none;
  transition: all 0.18s ease-out;
  margin: 0 !important;
  background: transparent;
}

.effect-label-form form .effect-label-field.effect-label-textarea .effect-label-label {
  top: 5%;
  transform: translateY(0);
}

/* Estados de focus o con contenido */
.effect-label-form form .effect-label-field.is-focused .effect-label-label,
.effect-label-form form .effect-label-field.is-filled .effect-label-label,
.effect-label-form form .effect-label-field.filled .effect-label-label {
  top: 1px;
  transform: translateY(0);
  font-size: 12px;
  z-index: 999;
}
	
.effect-label-form form .effect-label-field.is-focused .effect-label-control,
.effect-label-form form .effect-label-field.is-filled .effect-label-control,
.effect-label-form form .effect-label-field.filled .effect-label-control{
  box-shadow: none !important;
}


.wpfFilterButton.wpfButton, .wpfClearButton.wpfButton{
	text-transform: none !important;
	font-size: 16px !important;
}










/* =========================================
   LOOP GRID - Alinear cards con line-clamp
   Clase en Loop Grid: card-clamp
   - Título: máx 2 líneas
   - Resumen: máx 4 líneas (ajustable)
========================================= */

.card-clamp{
  --t-lines: 2;
  --t-lh: 1.2;
  --d-lines: 3;
  --d-lh: 1.55;
}

/* Quita márgenes típicos que descuadran */
.card-clamp .elementor-loop-container .e-loop-item .elementor-widget{
  margin-bottom: 0 !important;
}

/* ---------- TÍTULO (2 líneas) ---------- */
.card-clamp .elementor-loop-container .e-loop-item
.elementor-widget-woocommerce-product-title .product_title{
  line-height: var(--t-lh) !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: var(--t-lines) !important;
  overflow: hidden !important;
}

/* ---------- RESUMEN (4 líneas) ---------- */
.card-clamp .elementor-loop-container .e-loop-item
.elementor-widget-woocommerce-product-short-description
.woocommerce-product-details__short-description{
  line-height: var(--d-lh) !important;
  height: calc(var(--d-lines) * var(--d-lh) * 1em) !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: var(--d-lines) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.card-clamp .elementor-loop-container .e-loop-item
.elementor-widget-woocommerce-product-short-description
.woocommerce-product-details__short-description p{
  margin: 0 !important;
}










/* OCULTAR INFORMACIÓN POR DEFECTO EN THANK U PAGE */
/* =========================================
   THANK YOU / ORDER RECEIVED - dejar solo bloque custom
========================================= */
body.woocommerce-order-received .entry-header,
body.woocommerce-order-received h1.entry-title,
body.woocommerce-order-received .woocommerce-notice.woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received ul.woocommerce-order-overview{
  display: none !important;
}

/* Ajuste de aire arriba (por si queda espacio vacío) */
body.woocommerce-order-received .site-main{
  padding-top: 0 !important;
}

body.woocommerce-order-received .woocommerce{
  margin-top: 0 !important;
}









/* ESTILOS DE LOS MENSAJES WOOCOMMERCE */
/* WooCommerce notices */
:root{
  --brand-orange:#FF7601;

  /* OPCIÓN: cambia este gris si te lo piden */
  --notice-bg:#F7F7F9;
}

/* Fondo gris configurable (NO afecta iconos, NO agrega franjas nuevas) */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  background: var(--notice-bg) !important;
}

/* 1) Cambiar la franja/borde superior nativo (verde/rojo) */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  border-top-color: var(--brand-orange) !important;
}

/* Por si tu tema usa shorthand border-top (ancho/estilo/color) */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  border-top: 2px solid var(--brand-orange) !important; /* ajusta 1–3px si quieres */
}

/* 2) Botón "View cart" */
.woocommerce-notices-wrapper .woocommerce-message .button,
.woocommerce-notices-wrapper .woocommerce-info .button,
.woocommerce-notices-wrapper .woocommerce-error .button{
  background: var(--brand-orange) !important;
  border-color: var(--brand-orange) !important;
  color:#fff !important;
  border-radius: 18px !important;
}

/* Hover negro */
.woocommerce-notices-wrapper .woocommerce-message .button:hover,
.woocommerce-notices-wrapper .woocommerce-info .button:hover,
.woocommerce-notices-wrapper .woocommerce-error .button:hover{
  background:#000 !important;
  border-color:#000 !important;
  color:#fff !important;
}


/* MENSAJES DE MY ACCOUNT */
/* ESTILOS DE LOS MENSAJES WOOCOMMERCE */
:root{
  --brand-orange:#FF7601;

  /* OPCIÓN: cambia este gris si te lo piden */
  --notice-bg:#F7F7F9;
}

/* Fondo gris configurable (también aplica en my-account) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  background: var(--notice-bg) !important;
}

/* 1) Cambiar la franja/borde superior nativo (verde/rojo) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top-color: var(--brand-orange) !important;
}

/* Por si el tema usa shorthand border-top */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top: 2px solid var(--brand-orange) !important; /* ajusta 1–3px si quieres */
}

/* 2) Botones dentro de notices ("View cart", etc.) */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{
  background: var(--brand-orange) !important;
  border-color: var(--brand-orange) !important;
  color:#fff !important;
  border-radius: 18px !important;
}

/* Hover negro */
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-message .button:focus,
.woocommerce-info .button:focus,
.woocommerce-error .button:focus{
  background:#000 !important;
  border-color:#000 !important;
  color:#fff !important;
}











/* ESTILO LOGIN Y REGISTRAR AREA PRIVADA */
/* Inputs: radius + color de texto + fondo un poco más oscuro */
.woocommerce-account #customer_login input.input-text,
.woocommerce-account #customer_login .woocommerce-Input,
.woocommerce-account #customer_login input[type="text"],
.woocommerce-account #customer_login input[type="email"],
.woocommerce-account #customer_login input[type="password"],
.woocommerce-account #customer_login input[type="tel"],
.woocommerce-account #customer_login input[type="number"]{
  border-radius: 18px !important;
  color: #69727d !important;
  background-color: #E5E5E5 !important; /* <- ajuste */
}

/* Placeholder (texto guía) */
.woocommerce-account #customer_login input::placeholder{
  color: #69727d !important;
  opacity: 1 !important; /* para que no se vea más claro */
}

/* Wrapper del password (ojo) */
.woocommerce-account #customer_login .password-input{
  border-radius: 18px !important;
  overflow: hidden;
}




/* =========================================
   SOLO LOGIN/REGISTRO (My Account)
   - Alinear H2 con el formulario
   - Bold 600
   - Alinear "Recuérdame" con botón
========================================= */

/* 1) Alinear títulos con el padding del form */
.woocommerce-account #customer_login .u-column1 > h2,
.woocommerce-account #customer_login .u-column2 > h2{
  font-weight: 600 !important;
  /* empuja el título lo mismo que el form (ajusta 28px si tu form tiene otro padding) */
  margin-left: 28px !important;
  margin-bottom: 18px !important;
  color:#FF7601 !important
}

/* 2) "Recuérdame" alineación */
.woocommerce-account #customer_login form.login .woocommerce-form-login__rememberme{
  position: relative;
  bottom:10px;
  display: flex !important;
  align-items: center !important;   /* centra vertical */
  justify-content: flex-start !important;
  gap: 5px !important;
  flex-wrap: wrap;
}

/* MENSAJE RECUPERAR CONTRASEÑA FONT SIZE */
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login .woocommerce-LostPassword, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .register .woocommerce-LostPassword {
    font-size: 13px;
    margin-bottom: 0;
}







/* CENTRAR RECUPERAR CONTRASEÑA */
/* =========================================
   MY ACCOUNT - Centrar solo recuperar/restablecer contraseña
   Clase en el widget My Account: acc-center
========================================= */

/* Solo formularios de recuperar/restablecer contraseña */
.acc-center .woocommerce form.woocommerce-ResetPassword,
.acc-center .woocommerce form.reset_password,
.acc-center .woocommerce form.lost_reset_password{
  max-width: 540px !important;
  width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
}

/* Centrar texto superior y notices solo en esas vistas */
.acc-center .woocommerce form.woocommerce-ResetPassword > p,
.acc-center .woocommerce form.reset_password > p,
.acc-center .woocommerce form.lost_reset_password > p,
.acc-center .woocommerce .woocommerce-notices-wrapper{
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

/* Quitar floats de WooCommerce que lo empujan a la izquierda */
.acc-center .woocommerce form.woocommerce-ResetPassword .form-row-first,
.acc-center .woocommerce form.woocommerce-ResetPassword .form-row-last,
.acc-center .woocommerce form.reset_password .form-row-first,
.acc-center .woocommerce form.reset_password .form-row-last,
.acc-center .woocommerce form.lost_reset_password .form-row-first,
.acc-center .woocommerce form.lost_reset_password .form-row-last{
  float: none !important;
  width: 100% !important;
}

/* Inputs al ancho correcto */
.acc-center .woocommerce form.woocommerce-ResetPassword .input-text,
.acc-center .woocommerce form.reset_password .input-text,
.acc-center .woocommerce form.lost_reset_password .input-text{
  width: 100% !important;
  box-sizing: border-box;
}



/* LOST PASSWORD - mismo estilo de campo que login/register */
.woocommerce-account.woocommerce-lost-password #user_login,
.woocommerce-account.woocommerce-lost-password .woocommerce-Input{
  border-radius: 18px !important;
  color: #69727d !important;
  background-color: #E5E5E5 !important;
}

/* Placeholder en recuperar contraseña */
.woocommerce-account.woocommerce-lost-password #user_login::placeholder{
  color: #69727d !important;
  opacity: 1 !important;
}









/* CENTRAR MENSAJE DE COTIZACIÓN VACÍA */
/* =========================================
   COTIZADOR - centrar SOLO cuando está vacío
   Vacío real = aparece la plantilla .elementor-1705
========================================= */

/* CENTRAR MENSAJE DE COTIZACIÓN VACÍA */
/* =========================================
   COTIZADOR - centrar SOLO cuando está vacío
   Compatible ES / EN
========================================= */

/* SOLO vacío real:
   existe template Elementor dentro del cart
   y NO existe formulario/cart real */
.quote-layout > .e-con-inner:has(
  .quote-cart-col .elementor-widget-woocommerce-cart > .elementor-widget-container > .elementor
):not(:has(
  .quote-cart-col .woocommerce-cart-form
)){
  justify-content: center !important;
}

/* La columna izquierda ocupa todo SOLO en vacío real */
.quote-layout > .e-con-inner:has(
  .quote-cart-col .elementor-widget-woocommerce-cart > .elementor-widget-container > .elementor
):not(:has(
  .quote-cart-col .woocommerce-cart-form
)) > .quote-cart-col{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  --width: 100% !important;
}

/* Oculta checkout SOLO en vacío real */
.quote-layout > .e-con-inner:has(
  .quote-cart-col .elementor-widget-woocommerce-cart > .elementor-widget-container > .elementor
):not(:has(
  .quote-cart-col .woocommerce-cart-form
)) > .quote-checkout-col{
  display: none !important;
}

/* Centrar contenido del template vacío */
.quote-layout > .e-con-inner:has(
  .quote-cart-col .elementor-widget-woocommerce-cart > .elementor-widget-container > .elementor
):not(:has(
  .quote-cart-col .woocommerce-cart-form
))
> .quote-cart-col
.elementor-widget-woocommerce-cart
> .elementor-widget-container
> .elementor
> .elementor-element
> .e-con-inner{
  width: 100% !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Texto */
.quote-layout > .e-con-inner:has(
  .quote-cart-col .elementor-widget-woocommerce-cart > .elementor-widget-container > .elementor
):not(:has(
  .quote-cart-col .woocommerce-cart-form
))
> .quote-cart-col
.elementor-widget-woocommerce-cart
> .elementor-widget-container
> .elementor p{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Botón */
.quote-layout > .e-con-inner:has(
  .quote-cart-col .elementor-widget-woocommerce-cart > .elementor-widget-container > .elementor
):not(:has(
  .quote-cart-col .woocommerce-cart-form
))
> .quote-cart-col
.elementor-widget-woocommerce-cart
> .elementor-widget-container
> .elementor .elementor-widget-button{
  width: 100% !important;
  text-align: center !important;
}








/* WooCommerce PhotoSwipe - Fondo (overlay) más transparente */
.pswp__bg{
  background: rgba(0,0,0,.45) !important; /* baja/sube el último número: 0.25–0.70 */
  opacity: 1 !important;
}













/* ESTILOS VERSIÓN INGLÉS LOGIN WC Y COTIZACIÓN */
/* =========================================
   MY ACCOUNT / LOGIN / REGISTER
   Global para widget WooCommerce My Account
========================================= */

/* Inputs login/register */
#customer_login input.input-text,
#customer_login .woocommerce-Input,
#customer_login input[type="text"],
#customer_login input[type="email"],
#customer_login input[type="password"],
#customer_login input[type="tel"],
#customer_login input[type="number"]{
  border-radius: 18px !important;
  color: #69727d !important;
  background-color: #E5E5E5 !important;
}

/* Placeholder */
#customer_login input::placeholder{
  color: #69727d !important;
  opacity: 1 !important;
}

/* Wrapper password */
#customer_login .password-input{
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* Títulos login/register */
#customer_login .u-column1 > h2,
#customer_login .u-column2 > h2{
  font-weight: 600 !important;
  margin-left: 28px !important;
  margin-bottom: 18px !important;
  color: #FF7601 !important;
}

/* Recuérdame */
#customer_login form.login .woocommerce-form-login__rememberme{
  position: relative;
  bottom: 10px;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  flex-wrap: wrap;
}

/* Lost password text */
.elementor-widget-woocommerce-my-account .woocommerce .login .woocommerce-LostPassword,
.elementor-widget-woocommerce-my-account .woocommerce .register .woocommerce-LostPassword{
  font-size: 13px !important;
  margin-bottom: 0 !important;
}

/* Lost password input */
.woocommerce-lost-password #user_login,
.woocommerce-lost-password .woocommerce-Input,
form.woocommerce-ResetPassword #user_login,
form.reset_password #user_login,
form.lost_reset_password #user_login{
  border-radius: 18px !important;
  color: #69727d !important;
  background-color: #E5E5E5 !important;
}

.woocommerce-lost-password #user_login::placeholder,
form.woocommerce-ResetPassword #user_login::placeholder,
form.reset_password #user_login::placeholder,
form.lost_reset_password #user_login::placeholder{
  color: #69727d !important;
  opacity: 1 !important;
}






/* =========================================
   CART - Quantity flechas compactas (sin crecer)
   Compatible con widget cart en cualquier idioma
========================================= */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom{
  display:inline-flex !important;
  align-items:stretch !important;
  gap:0 !important;
  overflow:visible !important;
}

/* Input: NO forzamos height, lo dejamos como venga */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom input.qty{
  display:block !important;
  margin:0 !important;
  -moz-appearance:textfield;
  border:1px solid #dcdcdc !important;
  border-right:none !important;
  border-radius:10px 0 0 10px !important;
  box-shadow:none !important;
  background:#fff !important;
}

/* Columna de flechas: se estira al alto del input */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom .qty-arrows{
  display:flex !important;
  flex-direction:column !important;
  margin:0 !important;
  padding:0 !important;
  height:auto !important;
  align-self:stretch !important;
}

/* Botones: ocupan mitad del alto disponible */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn{
  width:26px !important;
  flex:1 1 0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  background:#FF7601 !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;

  border:none !important;
  border-right:1px solid #F55C21 !important;
  cursor:pointer !important;
}

/* línea divisoria horizontal entre up/down */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn + .qty-btn{
  border-top:1px solid rgba(255,255,255,.35) !important;
}

/* redondeos del bloque derecho */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn.qty-up{
  border-radius:0 10px 0 0 !important;
}
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn.qty-down{
  border-radius:0 0 10px 0 !important;
}

/* hover negro */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn:hover{
  background:#000 !important;
  border-right-color:#000 !important;
}

/* SVG */
.elementor-widget-woocommerce-cart .product-quantity .quantity.qty-custom .qty-btn svg{
  width:10px !important;
  height:10px !important;
  display:block !important;
  fill:currentColor !important;
}




/* CARRITO - mover solo el título Quantity/Cantidad un poco a la derecha */
/*.elementor-widget-woocommerce-cart.resumen-form .shop_table thead th.product-quantity{
  padding-left: 14px !important;
}
*/


/* Menú lateral de categorías y productos */
.menu-woo{
	overflow: hidden;
}

.custom-woo-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.woo-sidebar-desktop-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.woo-sidebar-mobile-select {
    display: none;
}
.woo-sidebar-title {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
    color: #FF7601;
    border-bottom: none;
}

.woo-sidebar-subtitle {
    font-size: 15px;
    font-weight: 700;
    color: #000;
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woo-lvl1-group {
    margin-bottom: 14px;
}

.woo-accordion-item,
.woo-single-item {
    margin-bottom: 8px;
    border-radius: 20px;
    overflow: hidden;
    border: none;
    background-color: #E5E5E5;
}

.woo-accordion-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #E5E5E5 !important;
    border: none;
    padding: 14px 18px;
    font-size: 15px;
    font-weight: 500;
    color: #000 !important;
    cursor: pointer;
    text-align: left;
    text-transform: uppercase;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.woo-accordion-header:hover {
    background-color: #d5d5d5;
}
.woo-header-active, .woo-accordion-open .woo-accordion-header {
    background-color: #FF7601 !important;
    color: #000;
}
.woo-accordion-icon {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(45deg);
    transition: transform 0.25s ease;
    margin-right: 4px;
}
.woo-accordion-open .woo-accordion-icon {
    transform: rotate(-135deg);
}
.woo-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.woo-sidebar-products {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woo-sidebar-products li {
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
}
.woo-sidebar-products a {
    text-decoration: none;
    color: #000;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    display: block;
    width: 100%;
    padding: 4px 16px;
    transition: color 0.2s;
}
.woo-sidebar-products li:hover {
    background-color: #d5d5d5;
}
.woo-sidebar-products li.woo-product-active {
    background-color: #FF7601;
}
.woo-sidebar-products li.woo-product-active a {
    color: #000;
    font-weight: 500;
    padding-left: 6px; 
}
.woo-sidebar-products li.woo-product-active::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 14px;
    background-color: #000;
    -webkit-mask: url('/wp-content/uploads/2026/05/garrapata.svg') no-repeat center / contain;
    mask: url('/wp-content/uploads/2026/05/garrapata.svg') no-repeat center / contain;
    flex-shrink: 0;
}
@media (max-width: 767px) {
    .woo-sidebar-desktop-container {
        display: none;
    }
    .woo-sidebar-mobile-select {
        display: block;
        width: 100%;
        background-color: #E5E5E5;
        color: #000;
        border: none;
        padding: 14px 18px;
        font-size: 14px;
        font-weight: 700;
        border-radius: 20px;
        text-transform: uppercase;
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M1 3.5l4 4 4-4' stroke='%23000' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
        background-repeat: no-repeat;
        background-position: right 18px center;
        background-size: 10px;
    }
    .woo-sidebar-mobile-select:focus {
        outline: none;
        box-shadow: 0 0 0 2px #FF7601;
    }
}

.woo-single-link {
    display: block;
    width: 100%;
    padding: 14px 18px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #000 !important;
    background-color: #E5E5E5 !important;
    text-align: left;
    text-transform: uppercase;
    text-decoration: none;
    box-sizing: border-box;
    transition: color 0.2s ease;
}

.woo-single-link:hover {
    background-color: #E5E5E5 !important;
    color: #FF7601 !important;
}

.woo-single-link.woo-single-active {
    background-color: #FF7601 !important;
    color: #000 !important;
}

/* Viñetas en características productos */
.text-vinetas ul {
    list-style: none;
    padding-left: 0;
}

.text-vinetas ul li {
    position: relative;
    padding-left: 1.8em;
    margin-bottom: 0.5em;
}

.text-vinetas ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    width: 1.1em;
    height: 1.1em;
    -webkit-mask-image: url('/wp-content/uploads/2026/05/garrapata.svg');
    mask-image: url('/wp-content/uploads/2026/05/garrapata.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: currentColor; 
}



/* Unfold */
.txt-unfold .unfold-text-box,
.txt-ul-unfold .unfold-p-box {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.txt-unfold.is-unfolded .unfold-text-box,
.unfold-p-box.is-p-unfolded {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
}

.txt-ul-unfold ul:not(.is-ul-unfolded) > li:nth-child(n+6) {
    display: none !important;
}

.txt-ul-unfold ul.is-ul-unfolded > li:nth-child(n+6) {
    display: list-item !important;
}

.txt-ul-unfold .unfold-p-box {
    margin-bottom: 16px !important;
}

.txt-ul-unfold .btn-unfold-p {
    margin-top: 0 !important;
}

.unfold-text-box p,
.unfold-p-box p {
    margin-top: 0;
    margin-bottom: 0.5em;
}

.unfold-text-box p:last-child,
.unfold-p-box p:last-child {
    margin-bottom: 0;
}

.btn-unfold {
    color: var(--e-global-color-accent);
    cursor: pointer;
    font-weight: 500 !important;
	font-size: 12px;
    margin-top: 8px;
    margin-bottom: 12px;
    display: inline-block;
    user-select: none;
    transition: opacity 0.2s ease;
}

.btn-unfold:hover {
    opacity: 0.75;
}

/* ============================================================
   SUPRANET — Ajustes responsive (octubre 2026)
   Añadir al final de hello-theme-child/style.css
   ============================================================ */


/* ------------------------------------------------------------
   1. FILTRO LATERAL — acordeones + scroll independiente
   ------------------------------------------------------------ */

/* El carril sticky no debe crecer más que la pantalla: así el filtro
   siempre se ve completo y su scroll es suyo, no el de la página. */
@media (min-width: 768px) {
    .pf-filters .menu-woo {
        overflow-y: auto;
        overflow-x: hidden;
        max-height: calc(100vh - 160px);
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: #c9c9c9 transparent;
        padding-right: 6px;
    }
    .pf-filters .menu-woo::-webkit-scrollbar {
        width: 6px;
    }
    .pf-filters .menu-woo::-webkit-scrollbar-track {
        background: transparent;
    }
    .pf-filters .menu-woo::-webkit-scrollbar-thumb {
        background-color: #c9c9c9;
        border-radius: 3px;
    }
    .pf-filters .menu-woo::-webkit-scrollbar-thumb:hover {
        background-color: #FF7601;
    }
}

/* --- Grupo (nivel 1) convertido en acordeón --- */

/* El contenedor original separa sus hijos con gap:24px; sumado al margen
   de cada grupo dejaba 32px entre pastillas. Aquí manda sólo el gap. */
.woo-sidebar-accordion {
    gap: 8px;
}

.woo-sidebar-accordion .woo-sidebar-title {
    margin-bottom: 4px;
}

.woo-sidebar-accordion .woo-acc-group {
    margin-bottom: 0;
}

.woo-sidebar-accordion .woo-acc-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    background-color: #E5E5E5;
    border: none;
    border-radius: 20px;
    padding: 10px 12px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    color: #000;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;

    /* reset.css del tema pone white-space:nowrap en todo <button>. Heredado,
       impedía que los nombres largos se ajustaran: se salían de la pastilla,
       empujaban la flecha fuera y quedaban recortados. */
    white-space: normal;
}

/* Sin min-width:0 el <span> es un ítem flex que se niega a encogerse por
   debajo de su ancho en una línea, y vuelve a desbordar. */
.woo-sidebar-accordion .woo-acc-label {
    min-width: 0;
    flex: 1 1 auto;
    white-space: normal;
    overflow-wrap: break-word;
}

/* El Kit de Elementor pinta TODO <button>:hover y :focus en negro con texto
   blanco (.elementor-kit-8 button:hover). Al convertir las cabeceras en
   <button> heredaron ese blanco y el nombre quedaba ilegible. Aquí se
   restituye el hover que ya tenían los ítems del filtro: el fondo no cambia
   y el texto pasa a naranja. La flecha usa currentColor, así que lo sigue. */
.woo-sidebar-accordion .woo-acc-header:hover,
.woo-sidebar-accordion .woo-acc-header:focus {
    background-color: #E5E5E5;
    color: #FF7601;
}

/* Grupo abierto: conserva el naranja lleno también al pasar el ratón. */
.woo-sidebar-accordion .woo-acc-group.is-open > .woo-acc-header:hover,
.woo-sidebar-accordion .woo-acc-group.is-open > .woo-acc-header:focus {
    background-color: #FF7601;
    color: #000;
}

/* Grupo de la categoría actual, cerrado: ya va en naranja. */
.woo-sidebar-accordion .woo-acc-group.has-current:not(.is-open) > .woo-acc-header:hover,
.woo-sidebar-accordion .woo-acc-group.has-current:not(.is-open) > .woo-acc-header:focus {
    background-color: #E5E5E5;
    color: #FF7601;
}

.woo-sidebar-accordion .woo-acc-header:focus-visible {
    outline: 2px solid #FF7601;
    outline-offset: 2px;
}

/* El naranja lleno es sólo del grupo abierto */
.woo-sidebar-accordion .woo-acc-group.is-open > .woo-acc-header {
    background-color: #FF7601;
    color: #000;
}

/* El grupo que contiene la categoría que se está viendo, si está
   cerrado, se marca con el texto en naranja: señala dónde estás sin
   competir con el grupo que el usuario acaba de abrir. */
.woo-sidebar-accordion .woo-acc-group.has-current:not(.is-open) > .woo-acc-header {
    color: #FF7601;
}

/* Flecha */
.woo-sidebar-accordion .woo-acc-arrow {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transform-origin: center;
    margin-bottom: 3px;
    transition: transform 0.25s ease;
}

.woo-sidebar-accordion .woo-acc-group.is-open > .woo-acc-header .woo-acc-arrow {
    transform: rotate(-135deg);
    margin-bottom: 0;
    margin-top: 3px;
}

/* Panel desplegable */
.woo-sidebar-accordion .woo-acc-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.woo-sidebar-accordion .woo-acc-panel-inner {
    padding: 6px 0 2px 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Los hijos dentro del acordeón: más claros que la cabecera */
.woo-sidebar-accordion .woo-acc-panel .woo-single-item {
    margin-bottom: 0;
    background-color: #F3F3F3;
}

.woo-sidebar-accordion .woo-acc-panel .woo-single-link {
    background-color: #F3F3F3 !important;
    padding: 9px 13px;
    font-size: 12.5px;
    line-height: 1.3;
}

.woo-sidebar-accordion .woo-acc-panel .woo-single-link:hover {
    background-color: #E5E5E5 !important;
    color: #FF7601 !important;
}

.woo-sidebar-accordion .woo-acc-panel .woo-single-link.woo-single-active {
    background-color: #FF7601 !important;
    color: #000 !important;
    font-weight: 600;
}

/* Ítems sueltos (sin grupo padre) conservan su aspecto */
.woo-sidebar-accordion > .woo-single-item {
    margin-bottom: 8px;
}


/* ------------------------------------------------------------
   2. SELECT DEL FILTRO EN MÓVIL — sólo nombre + flecha
   ------------------------------------------------------------ */
@media (max-width: 767px) {
    .woo-sidebar-mobile-select {
        text-overflow: ellipsis;
        padding-right: 44px;
    }
    /* El filtro no necesita el carril sticky con altura en móvil */
    .pf-filters .menu-woo {
        overflow: visible;
        max-height: none;
    }
}


/* ------------------------------------------------------------
   3. FORMULARIOS EN RESPONSIVE — alinear con el resto del contenido
   ------------------------------------------------------------
   El caso que se ve mal es siempre el mismo: un contenedor cuyo
   único hijo es el formulario y que añade padding horizontal
   propio. Ese padding se suma al del contenedor padre y deja los
   campos más angostos que el texto y las imágenes de al lado.
   Se le quita solo ese padding: ni el ancho ni nada más, para no
   mover los formularios que ya estaban bien (p. ej. el del pie).
   ------------------------------------------------------------ */
@media (max-width: 767px) {

    .e-con:has(> .elementor-widget-form:only-child) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .elementor-widget-form.elementor-widget-mobile__width-initial,
    .elementor-widget-form.elementor-widget__width-initial {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ------------------------------------------------------------
   3b. MENÚ: un solo menú para escritorio y responsive
   ------------------------------------------------------------
   El widget de responsive pasó a usar el mismo menú que escritorio
   ("WP principal"), para que herede las subcategorías de Soluciones y
   las de Productos que inyecta el tema. "Contáctanos" y "Mi lista"
   se añadieron a ese menú porque sólo hacían falta en responsive: en
   escritorio ya están como botones del header, así que ahí se ocultan.
   ------------------------------------------------------------ */
.nav-auto .solo-responsive {
    display: none !important;
}


/* ------------------------------------------------------------
   4. HOVER EN LAS TARJETAS DE PRODUCTO
   ------------------------------------------------------------ */
/* La caja gris de la imagen va redondeada a 40px, pero el contenedor de la
   tarjeta no tenía radio: la sombra del hover salía cuadrada. Se le da el
   mismo radio para que el borde siga la forma de la tarjeta. */
.e-loop-item {
    border-radius: 40px;
}

/* Las tarjetas de CATEGORÍA (las de /productos/ y el carrusel del home) no
   llevan ningún margen interno: el botón y el título tocan el borde de la
   tarjeta, así que al pasar el ratón la sombra quedaba pegada al contenido y
   parecía cortada, sobre todo abajo y a la izquierda.

   Se les da aire por dentro. Las tarjetas de PRODUCTO quedan fuera porque ya
   tienen su propio margen de 10px y el padding les encogería la caja gris de
   la imagen un 13%. Se distinguen por llevar el widget de título de producto,
   que las de categoría no tienen. */
.e-loop-item:not(:has(.elementor-widget-woocommerce-product-title)) {
    padding: 16px;
}

/* En los carruseles, el .swiper lleva overflow:hidden y mide exactamente lo
   mismo que la tarjeta, así que recortaba la elevación por arriba y la sombra
   por abajo y por los lados: parecía que la tarjeta estaba cortada. Se le da
   holgura por dentro y se compensa con margen negativo para no mover el
   bloque. El recorte horizontal del carrusel se mantiene.
   Lleva !important porque Elementor fija el padding del carrusel con una
   regla por elemento, más específica que ésta. */
.elementor-loop-container.swiper {
    padding: 16px 16px 30px !important;
    margin: -16px -16px -30px !important;
}

@media (hover: hover) and (pointer: fine) {

    .e-loop-item {
        transition: transform 0.28s ease, box-shadow 0.28s ease;
        will-change: transform;
    }

    .e-loop-item:hover {
        transform: translateY(-6px);
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
    }

    /* La imagen hace un zoom suave dentro de su caja */
    .e-loop-item .elementor-widget-theme-post-featured-image,
    .e-loop-item .elementor-widget-image {
        overflow: hidden;
    }

    .e-loop-item .elementor-widget-theme-post-featured-image img,
    .e-loop-item .elementor-widget-image img {
        transition: transform 0.4s ease;
    }

    .e-loop-item:hover .elementor-widget-theme-post-featured-image img,
    .e-loop-item:hover .elementor-widget-image img {
        transform: scale(1.06);
    }

    /* El título toma el color de marca */
    .e-loop-item .elementor-widget-theme-post-title a,
    .e-loop-item .elementor-widget-heading a {
        transition: color 0.2s ease;
    }

    .e-loop-item:hover .elementor-widget-theme-post-title a,
    .e-loop-item:hover .elementor-widget-heading a {
        color: #FF7601;
    }
}


/* ------------------------------------------------------------
   4b. NOMBRE COMPLETO DEL PRODUCTO EN LAS TARJETAS
   ------------------------------------------------------------
   El sitio ya traía dos piezas para esto:

   - CSS `.card-clamp`, que recorta el título a `--t-lines: 2` con
     display:-webkit-box + overflow:hidden.
   - JS `igualarAlturas()`, que agrupa los títulos por fila y fija a todos
     el alto del más alto de su fila.

   El problema era que el JS medía con el recorte puesto, así que el máximo
   de cada fila salía siempre 2 líneas y pinaba todas a esa altura. Quitando
   sólo el recorte, su propio JS mide el texto completo y sigue igualando por
   fila: los nombres se ven enteros y descripciones y botones quedan alineados.
   La descripción conserva su alto fijo de 3 líneas, que es lo que sostiene
   la alineación del resto.

   Va después de la regla original, con la misma especificidad, para ganarle.
   ------------------------------------------------------------ */
.card-clamp .elementor-loop-container .e-loop-item
.elementor-widget-woocommerce-product-title .product_title {
    display: block !important;
    -webkit-line-clamp: none !important;
    overflow: visible !important;
}


/* ------------------------------------------------------------
   5. MINI CARRITO VACÍO — mensaje + CTA
   ------------------------------------------------------------ */
.woocommerce-mini-cart__empty-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 40px 24px;
    text-align: center;
}

.sn-empty-cart__text {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #000;
}

.sn-empty-cart__cta {
    display: inline-block;
    background-color: #FF7601;
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 18px;
    border: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.sn-empty-cart__cta:hover,
.sn-empty-cart__cta:focus {
    background-color: #e66a00;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

.sn-empty-cart__cta:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}


/* =========================================
   HEADER · Botón de menú responsive (clase en widget: .toggle-responsive)
   Etiqueta bajo el icono traducida para la versión en inglés
========================================= */
html[lang^="en"] .toggle-responsive::after {
	content: "Menu";
}

/* =========================================
   FORMULARIOS · Campo teléfono (clase en widget: .float)
   Los formularios usan solo placeholder (sin label visible):
   se muestra el placeholder del teléfono junto a la bandera
========================================= */
.float .elementor-field-group-telefono input#form-field-telefono::placeholder {
	opacity: 1 !important;
}
.float .elementor-field-group-telefono input#form-field-telefono::-webkit-input-placeholder {
	opacity: 1 !important;
}
.float .elementor-field-group-telefono input#form-field-telefono::-moz-placeholder {
	opacity: 1 !important;
}

/* =========================================
   HEADER · Menú principal escritorio (clase en widget: .nav-auto)
   Submenús de 2.º y 3.er nivel en cascada hacia la izquierda,
   igual en español e inglés, para que no se monten sobre el nivel anterior
========================================= */
@media (min-width: 1025px) {
	.nav-auto .elementor-nav-menu > li > ul ul {
		top: 0 !important;
		left: auto !important;
		right: 100% !important;
		margin-top: 0 !important;
		margin-left: 0 !important;
		transform: none !important;
	}
}

/* =========================================
   COTIZADOR · Mi lista (ES página 13) / My list (EN página 2327)
   Widget checkout: .elementor-element-89f67c7
   Antes en los snippets de Elementor "lista.css" y "cotizar.css" (solo español)
========================================= */
/* Campos solo con placeholder: ocultar el label */
body.page-id-13 #billing_first_name_field > label,
body.page-id-13 #billing_last_name_field > label,
body.page-id-13 #billing_phone_field > label,
body.page-id-13 #billing_email_field > label,
body.page-id-13 #billing_address_1_field > label,
body.page-id-13 #order_comments_field > label,
body.page-id-2327 #billing_first_name_field > label,
body.page-id-2327 #billing_last_name_field > label,
body.page-id-2327 #billing_phone_field > label,
body.page-id-2327 #billing_email_field > label,
body.page-id-2327 #billing_address_1_field > label,
body.page-id-2327 #order_comments_field > label {
	display: none;
}

/* Secciones del checkout sin sombra */
body.page-id-13 .elementor-element.elementor-element-89f67c7 .e-woocommerce-login-section,
body.page-id-13 .elementor-element.elementor-element-89f67c7 .woocommerce-checkout #customer_details .col-1,
body.page-id-13 .elementor-element.elementor-element-89f67c7 .woocommerce-additional-fields,
body.page-id-13 .elementor-element.elementor-element-89f67c7 .e-checkout__order_review,
body.page-id-13 .elementor-element.elementor-element-89f67c7 .e-coupon-box,
body.page-id-13 .elementor-element.elementor-element-89f67c7 .woocommerce-checkout #payment,
body.page-id-2327 .elementor-element.elementor-element-89f67c7 .e-woocommerce-login-section,
body.page-id-2327 .elementor-element.elementor-element-89f67c7 .woocommerce-checkout #customer_details .col-1,
body.page-id-2327 .elementor-element.elementor-element-89f67c7 .woocommerce-additional-fields,
body.page-id-2327 .elementor-element.elementor-element-89f67c7 .e-checkout__order_review,
body.page-id-2327 .elementor-element.elementor-element-89f67c7 .e-coupon-box,
body.page-id-2327 .elementor-element.elementor-element-89f67c7 .woocommerce-checkout #payment {
	box-shadow: none;
}
