.elementor-3938 .elementor-element.elementor-element-08fbb76{--swiper-slides-to-display:3;--swiper-slides-gap:10px;margin:60px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--dots-normal-color:var( --e-global-color-c3f65d0 );--dots-hover-color:var( --e-global-color-c3f65d0 );}.elementor-3938 .elementor-element.elementor-element-08fbb76 .swiper-slide > .elementor-element{height:100%;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Inter;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Inter;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Inter;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-3938 .elementor-element.elementor-element-9c27233{--grid-columns:4;--grid-column-gap:15px;}.elementor-3938 .elementor-element.elementor-element-9c27233 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-3938 .elementor-element.elementor-element-9c27233 .e-loop-item > .elementor-section, .elementor-3938 .elementor-element.elementor-element-9c27233 .e-loop-item > .elementor-section > .elementor-container, .elementor-3938 .elementor-element.elementor-element-9c27233 .e-loop-item > .e-con, .elementor-3938 .elementor-element.elementor-element-9c27233 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-3938 .elementor-element.elementor-element-ef2e2e9{--grid-columns:4;--grid-column-gap:15px;}.elementor-3938 .elementor-element.elementor-element-ef2e2e9 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-3938 .elementor-element.elementor-element-ef2e2e9 .e-loop-item > .elementor-section, .elementor-3938 .elementor-element.elementor-element-ef2e2e9 .e-loop-item > .elementor-section > .elementor-container, .elementor-3938 .elementor-element.elementor-element-ef2e2e9 .e-loop-item > .e-con, .elementor-3938 .elementor-element.elementor-element-ef2e2e9 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-3938 .elementor-element.elementor-element-1967476{--grid-columns:4;--grid-column-gap:15px;}.elementor-3938 .elementor-element.elementor-element-1967476 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-3938 .elementor-element.elementor-element-1967476 .e-loop-item > .elementor-section, .elementor-3938 .elementor-element.elementor-element-1967476 .e-loop-item > .elementor-section > .elementor-container, .elementor-3938 .elementor-element.elementor-element-1967476 .e-loop-item > .e-con, .elementor-3938 .elementor-element.elementor-element-1967476 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-3938 .elementor-element.elementor-element-600ac0b{--grid-columns:4;--grid-column-gap:15px;}.elementor-3938 .elementor-element.elementor-element-600ac0b .elementor-loop-container{grid-auto-rows:1fr;}.elementor-3938 .elementor-element.elementor-element-600ac0b .e-loop-item > .elementor-section, .elementor-3938 .elementor-element.elementor-element-600ac0b .e-loop-item > .elementor-section > .elementor-container, .elementor-3938 .elementor-element.elementor-element-600ac0b .e-loop-item > .e-con, .elementor-3938 .elementor-element.elementor-element-600ac0b .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){.elementor-3938 .elementor-element.elementor-element-08fbb76{--swiper-slides-to-display:2;--swiper-pagination-size:12px;--swiper-pagination-spacing:10px;}.elementor-3938 .elementor-element.elementor-element-08fbb76 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:12px;--swiper-pagination-bullet-vertical-gap:12px;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-3938 .elementor-element.elementor-element-9c27233{--grid-columns:2;}.elementor-3938 .elementor-element.elementor-element-ef2e2e9{--grid-columns:2;}.elementor-3938 .elementor-element.elementor-element-1967476{--grid-columns:2;}.elementor-3938 .elementor-element.elementor-element-600ac0b{--grid-columns:2;}}@media(max-width:767px){.elementor-3938 .elementor-element.elementor-element-08fbb76{--swiper-slides-to-display:1;--swiper-pagination-size:12px;--swiper-pagination-spacing:10px;}.elementor-3938 .elementor-element.elementor-element-08fbb76 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:10px;--swiper-pagination-bullet-vertical-gap:10px;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-3938 .elementor-element.elementor-element-9c27233{--grid-columns:1;}.elementor-3938 .elementor-element.elementor-element-ef2e2e9{--grid-columns:1;}.elementor-3938 .elementor-element.elementor-element-1967476{--grid-columns:1;}.elementor-3938 .elementor-element.elementor-element-600ac0b{--grid-columns:1;}}/* Start custom CSS */html, body { overflow-x: clip; }

/* Hero slider: se mueven los Hero panels y el disparo viene del Hero menu.
   Al tocar una pill, Elementor pasa la clase .e--selected al panel que le corresponde.
   El display con !important tambien le gana al [hidden]{display:none!important} de Electro. */
[data-id="15474f4f"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
}

/* Panel en espera, a la derecha. Al perder .e--selected se va hacia la izquierda.
   Los !important evitan la regla de Elementor que anula las transiciones con prefers-reduced-motion. */
@keyframes mg-hero-sale {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
[data-id="15474f4f"] > .e-tab-content-base {
  display: block !important;
  grid-area: 1 / 1;
  min-width: 0;
  z-index: 1;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(100%);
  animation: mg-hero-sale .7s cubic-bezier(.65, 0, .35, 1);
  transition: visibility 0s linear .7s !important;
}

/* Panel activo: llega desde la derecha */
[data-id="15474f4f"] > .e-tab-content-base.e--selected {
  z-index: 2;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  animation: none;
  transition: transform .7s cubic-bezier(.65, 0, .35, 1) !important;
}

/* Texto y botones: fundido en direccion a la derecha, uno detras del otro */
[data-id="15474f4f"] > .e-tab-content-base > div > .e-flexbox-base > * {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity .2s ease, transform 0s linear .2s !important;
}
[data-id="15474f4f"] > .e--selected > div > .e-flexbox-base > * {
  opacity: 1;
  transform: translateX(0);
  transition: opacity .5s ease var(--mg-hero-delay, .35s), transform .5s ease var(--mg-hero-delay, .35s) !important;
}
[data-id="15474f4f"] > .e--selected > div > .e-flexbox-base > :nth-child(2) { --mg-hero-delay: .43s; }
[data-id="15474f4f"] > .e--selected > div > .e-flexbox-base > :nth-child(3) { --mg-hero-delay: .51s; }
[data-id="15474f4f"] > .e--selected > div > .e-flexbox-base > :nth-child(4) { --mg-hero-delay: .59s; }

/* Catalogo: fundido + subida de 64 px, 1200 ms, backInOut, una sola vez.
   Disparo: la interaccion scrollIn del titulo y del texto de cada tarjeta escribe opacity en su estilo en linea. */
@keyframes mg-cat-entra {
  from { opacity: 0; transform: translateY(64px); }
  to { opacity: 1; transform: translateY(0); }
}
body:not(.elementor-editor-active) [data-id="1ff4e0d6"],
body:not(.elementor-editor-active) [data-id="5239a60f"] > * {
  opacity: 0;
}
body:not(.elementor-editor-active) [data-id="1ff4e0d6"]:has(> [data-id="637f612d"][style*="opacity"]),
body:not(.elementor-editor-active) [data-id="5239a60f"] > :has(> .e-flexbox-base[style*="opacity"]) {
  opacity: 1;
  animation: mg-cat-entra 1.2s cubic-bezier(.68, -.55, .27, 1.55) var(--mg-cat-delay, 0s) both;
}
/* Escalonado de 100 ms por columna: 3 en escritorio, 2 en tablet, 1 en celular */
[data-id="5239a60f"] > :nth-child(3n+2) { --mg-cat-delay: .1s; }
[data-id="5239a60f"] > :nth-child(3n) { --mg-cat-delay: .2s; }
@media (max-width: 1024px) {
  [data-id="5239a60f"] > :nth-child(n) { --mg-cat-delay: 0s; }
  [data-id="5239a60f"] > :nth-child(2n) { --mg-cat-delay: .1s; }
}
@media (max-width: 767px) {
  [data-id="5239a60f"] > :nth-child(n) { --mg-cat-delay: 0s; }
}

/* Taller propio: arranca en blanco, el fondo negro avanza de izquierda a derecha
   y despues entran foto, titulos, textos y botones desde la derecha.
   Disparo: la interaccion scrollIn de "Servicio texto" escribe opacity en su estilo en linea. */
body:not(.elementor-editor-active) [data-id="2aee60f5"] {
  background-color: #fff !important;
  background-image: linear-gradient(#1a1a1a, #1a1a1a) !important;
  background-repeat: no-repeat !important;
  background-position: left top !important;
  background-size: 0% 100% !important;
}
body:not(.elementor-editor-active) [data-id="2aee60f5"]:has([data-id="21ee38c9"][style*="opacity"]) {
  background-size: 100% 100% !important;
  transition: background-size .9s cubic-bezier(.65, 0, .35, 1) !important;
}
body:not(.elementor-editor-active) [data-id="31b043a8"],
body:not(.elementor-editor-active) [data-id="21ee38c9"] > * {
  opacity: 0;
  transform: translateX(40px);
}
body:not(.elementor-editor-active) [data-id="2aee60f5"]:has([data-id="21ee38c9"][style*="opacity"]) [data-id="31b043a8"],
body:not(.elementor-editor-active) [data-id="2aee60f5"]:has([data-id="21ee38c9"][style*="opacity"]) [data-id="21ee38c9"] > * {
  opacity: 1;
  transform: translateX(0);
  transition: opacity .6s ease var(--mg-taller-delay, .7s), transform .6s ease var(--mg-taller-delay, .7s) !important;
}
[data-id="21ee38c9"] > :nth-child(1) { --mg-taller-delay: .8s; }
[data-id="21ee38c9"] > :nth-child(2) { --mg-taller-delay: .88s; }
[data-id="21ee38c9"] > :nth-child(3) { --mg-taller-delay: .96s; }
[data-id="21ee38c9"] > :nth-child(4) { --mg-taller-delay: 1.04s; }

/* Pasos de compra: mismo efecto del catalogo, con 600 ms entre columnas.
   Disparo: la interaccion scrollIn del titulo de la seccion y del titulo de cada paso. */
body:not(.elementor-editor-active) [data-id="69b979cb"],
body:not(.elementor-editor-active) [data-id="38b78823"] > * {
  opacity: 0;
}
body:not(.elementor-editor-active) [data-id="69b979cb"]:has(> [data-id="4e52c9a4"][style*="opacity"]),
body:not(.elementor-editor-active) [data-id="38b78823"] > :has(> h3[style*="opacity"]) {
  opacity: 1;
  animation: mg-cat-entra 1.2s cubic-bezier(.68, -.55, .27, 1.55) var(--mg-pasos-delay, 0s) both;
}
[data-id="38b78823"] > :nth-child(2) { --mg-pasos-delay: .6s; }
[data-id="38b78823"] > :nth-child(3) { --mg-pasos-delay: 1.2s; }
@media (max-width: 767px) {
  [data-id="38b78823"] > :nth-child(n) { --mg-pasos-delay: 0s; }
}

/* Ubicacion: la foto entra desde la izquierda y el texto desde la derecha, de a uno.
   Disparos separados para que en celular la foto no espere al texto, que queda debajo. */
@keyframes mg-ubic-izq {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes mg-ubic-der {
  from { opacity: 0; transform: translateX(40px); }
  to { opacity: 1; transform: translateX(0); }
}
body:not(.elementor-editor-active) [data-id="7326cd5f"]:not([style*="opacity"]) {
  opacity: 0 !important;
}
body:not(.elementor-editor-active) [data-id="546c4804"] > * {
  opacity: 0;
}
body:not(.elementor-editor-active) [data-id="7326cd5f"][style*="opacity"] {
  animation: mg-ubic-izq .8s cubic-bezier(.22, 1, .36, 1) both;
}
body:not(.elementor-editor-active) [data-id="546c4804"][style*="opacity"] > * {
  opacity: 1;
  animation: mg-ubic-der .8s cubic-bezier(.22, 1, .36, 1) var(--mg-ubic-delay, 0s) both;
}
[data-id="546c4804"] > :nth-child(2) { --mg-ubic-delay: .1s; }
[data-id="546c4804"] > :nth-child(3) { --mg-ubic-delay: .2s; }
[data-id="546c4804"] > :nth-child(4) { --mg-ubic-delay: .3s; }/* End custom CSS */