.elementor-58362 .elementor-element.elementor-element-2593c84{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-51b98b6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-58362 .elementor-element.elementor-element-51b98b6 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-58362 .elementor-element.elementor-element-640a4f6{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-4c5fa69{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-5bbbf27{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-2ceee94{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-e0e139c{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-5f80c50{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-bed9603{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-271e42d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-c477941 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-58362 .elementor-element.elementor-element-fa79cf9 > .elementor-widget-container{margin:0px 0px 0px 20px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-fa79cf9 .splide .splide__arrow{opacity:0;}.elementor-58362 .elementor-element.elementor-element-fa79cf9 .splide:hover .splide__arrow{opacity:1;}.elementor-58362 .elementor-element.elementor-element-fa79cf9 .splide .splide__arrow--next{top:35%;bottom:unset;left:unset;right:0px;}.elementor-58362 .elementor-element.elementor-element-fa79cf9 .splide .splide__arrow--prev{top:35%;bottom:unset;left:0px;right:unset;}.elementor-58362 .elementor-element.elementor-element-375d91e{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-215f8e6{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-44f81ac{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-1c4d7cf{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-2f72829 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-a9aea9f > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-58362 .elementor-element.elementor-element-bed13a7 > .elementor-widget-container{margin:0px 0px 0px 20px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-bed13a7 .splide .splide__arrow{opacity:0;}.elementor-58362 .elementor-element.elementor-element-bed13a7 .splide:hover .splide__arrow{opacity:1;}.elementor-58362 .elementor-element.elementor-element-bed13a7 .splide .splide__arrow--next{top:35%;bottom:unset;left:unset;right:0px;}.elementor-58362 .elementor-element.elementor-element-bed13a7 .splide .splide__arrow--prev{top:35%;bottom:unset;left:0px;right:unset;}.elementor-58362 .elementor-element.elementor-element-1bfe69e{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-1d76be5{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-aa687ae{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-c275a9c{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-4d9d14d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-94462c7 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-58362 .elementor-element.elementor-element-82c44ab > .elementor-widget-container{margin:0px 0px 0px 20px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-82c44ab .splide .splide__arrow{opacity:0;}.elementor-58362 .elementor-element.elementor-element-82c44ab .splide:hover .splide__arrow{opacity:1;}.elementor-58362 .elementor-element.elementor-element-82c44ab .splide .splide__arrow--next{top:35%;bottom:unset;left:unset;right:0px;}.elementor-58362 .elementor-element.elementor-element-82c44ab .splide .splide__arrow--prev{top:35%;bottom:unset;left:0px;right:unset;}.elementor-58362 .elementor-element.elementor-element-0770fe1{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-e53ccd7{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-d3082ab{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-982d9ef > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-982d9ef .splide .splide__arrow{opacity:0;}.elementor-58362 .elementor-element.elementor-element-982d9ef .splide:hover .splide__arrow{opacity:1;}.elementor-58362 .elementor-element.elementor-element-982d9ef .splide .splide__arrow--next{top:35%;bottom:unset;left:unset;right:0px;}.elementor-58362 .elementor-element.elementor-element-982d9ef .splide .splide__arrow--prev{top:35%;bottom:unset;left:0px;right:unset;}.elementor-58362 .elementor-element.elementor-element-482467b{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-17bbf3f{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-86cac29{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-605fc9e{--spacer-size:15px;}.elementor-58362 .elementor-element.elementor-element-8c44542{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-321cfe8 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-58362 .elementor-element.elementor-element-224f82b > .elementor-widget-container{margin:0px 10px 0px 0px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-224f82b img{width:100%;}.elementor-58362 .elementor-element.elementor-element-b0332d0 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-58362 .elementor-element.elementor-element-8fb098a > .elementor-widget-container{margin:0px 0px 0px 10px;padding:0px 0px 0px 0px;}.elementor-58362 .elementor-element.elementor-element-8fb098a img{width:100%;}.elementor-58362 .elementor-element.elementor-element-52938b2{--spacer-size:50px;}.elementor-58362 .elementor-element.elementor-element-5e759c8:not(.elementor-motion-effects-element-type-background), .elementor-58362 .elementor-element.elementor-element-5e759c8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-58362 .elementor-element.elementor-element-5e759c8{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-58362 .elementor-element.elementor-element-5e759c8 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-58362 .elementor-element.elementor-element-6229217{--spacer-size:30px;}.elementor-58362 .elementor-element.elementor-element-6001899:not(.elementor-motion-effects-element-type-background), .elementor-58362 .elementor-element.elementor-element-6001899 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-58362 .elementor-element.elementor-element-6001899{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-58362 .elementor-element.elementor-element-6001899 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-58362 .elementor-element.elementor-element-ef320fb:not(.elementor-motion-effects-element-type-background), .elementor-58362 .elementor-element.elementor-element-ef320fb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-58362 .elementor-element.elementor-element-ef320fb{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-58362 .elementor-element.elementor-element-ef320fb > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-58362 .elementor-element.elementor-element-25748fb{--spacer-size:50px;}@media(min-width:768px){.elementor-58362 .elementor-element.elementor-element-2b3659b{width:20%;}.elementor-58362 .elementor-element.elementor-element-c477941{width:80%;}.elementor-58362 .elementor-element.elementor-element-7e103db{width:20%;}.elementor-58362 .elementor-element.elementor-element-a9aea9f{width:80%;}.elementor-58362 .elementor-element.elementor-element-e37f417{width:20%;}.elementor-58362 .elementor-element.elementor-element-94462c7{width:80%;}.elementor-58362 .elementor-element.elementor-element-321cfe8{width:50%;}.elementor-58362 .elementor-element.elementor-element-b0332d0{width:50%;}}/* Start custom CSS for html, class: .elementor-element-8895388 *//* ===== FIX PACK — HERO CARRUSEL DESKTOP/MOBILE v3 ===== */

/* Base + variables comunes */
.vult-hero-v2{
  /* Desktop ratio ~ 1900x600 */
  --ratio: 0.3125; /* 600/1920 */
  --h: clamp(380px, calc(100vw * var(--ratio)), 600px);

  --dot: 10px;
  --dot-idle: #cfcfcf;
  --dot-active: #2b2b2b;

  --hover-bg-alpha: .07;
  --shadow-alpha: .28;
  --side-shadow-x: 22px;
  --side-shadow-blur: 28px;
  --bottom-shadow-y: 22px;
  --bottom-shadow-blur: 38px;

  position: relative;
  width: 100%;
}

/* Mostrar/Ocultar variantes según ancho */
.vult-hero--desktop{ display:block; }
.vult-hero--mobile{ display:none; }
@media (max-width:1023px){
  .vult-hero--desktop{ display:none !important; }
  .vult-hero--mobile{ display:block !important; }
}

/* Desktop structure */
.vult-hero__viewport{
  position: relative;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  min-height: var(--h);
}
.vult-hero__track{
  display: flex;
  height: var(--h);
  min-height: var(--h);
  transform: translateX(0);
  will-change: transform;
}
.vult-hero__slide{
  position: relative;
  flex: 0 0 100%;
  height: var(--h);
  min-height: var(--h);
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
}

/* Hotzones (desktop: 4; mobile: 1 que cubre todo) */
.vult-hero__hotzone{
  position: absolute; top:0; bottom:0; width:25%;
  cursor: pointer; z-index:1;
}
.vult-hero__hotzone:nth-child(1){ left:0; }
.vult-hero__hotzone:nth-child(2){ left:25%; }
.vult-hero__hotzone:nth-child(3){ left:50%; }
.vult-hero__hotzone:nth-child(4){ left:75%; }

/* Hover por bloque SOLO en desktop */
.vult-hero--desktop .vult-hero__hotzone::before{
  content:""; position:absolute; inset:0;
  border-radius:0; background: rgba(255,255,255,0); box-shadow:none;
  pointer-events:none; transition: background .2s ease, box-shadow .2s ease;
}
.vult-hero--desktop .vult-hero__hotzone:hover::before,
.vult-hero--desktop .vult-hero__hotzone:focus-visible::before{
  background: rgba(255,255,255,var(--hover-bg-alpha));
  box-shadow:
    0 var(--bottom-shadow-y) var(--bottom-shadow-blur) rgba(0,0,0,var(--shadow-alpha)),
    var(--side-shadow-x) 0 var(--side-shadow-blur) rgba(0,0,0,calc(var(--shadow-alpha)*.9)),
    calc(var(--side-shadow-x)*-1) 0 var(--side-shadow-blur) rgba(0,0,0,calc(var(--shadow-alpha)*.9));
}
.vult-hero--desktop .vult-hero__hotzone:focus-visible{ outline: none; }

/* ===== Mobile/Tablet-vertical: altura y fondo propios ===== */
.vult-hero--mobile{
  /* Mobile ratio ~ 430x580 → 580/430 ≈ 1.34884 */
  --ratio: 1.34884;
  --h: clamp(420px, calc(100vw * var(--ratio)), 760px);
}
.vult-hero--mobile .vult-hero__viewport{ min-height: var(--h); }
.vult-hero--mobile .vult-hero__track{ height: var(--h); min-height: var(--h); }
.vult-hero--mobile .vult-hero__slide{
  height: var(--h); min-height: var(--h);
  background-image: var(--bg-m);
  background-size: cover;
  background-position: center;
}
/* En móvil la zona clickeable cubre todo */
.vult-hero--mobile .vult-hero__hotzone{
  left:0 !important; right:0 !important; width:100% !important;
}

/* ===== Flechas: chevron simple, sin fondos ni cajas ===== */
.vult-hero-v2 .vult-hero__nav,
.vult-hero-v2 .vult-hero__nav:hover,
.vult-hero-v2 .vult-hero__nav:active{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.vult-hero-v2 .vult-hero__nav{
  position:absolute !important;
  top:50% !important; transform:translateY(-50%) !important;
  padding:0 !important; width:auto !important; height:auto !important;
  color:#111 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  cursor:pointer; z-index:3 !important; opacity:.95 !important;
  transition: transform .12s ease, opacity .12s ease !important;
}
.vult-hero-v2 .vult-hero__nav--prev{ left:4px !important; }
.vult-hero-v2 .vult-hero__nav--next{ right:4px !important; }
.vult-hero-v2 .vult-hero__nav:hover{ transform:translateY(-50%) scale(1.1) !important; opacity:1 !important; }
.vult-hero-v2 .vult-hero__nav svg{ width:28px !important; height:28px !important; display:block !important; }
.vult-hero-v2 .vult-hero__nav svg path{ filter: drop-shadow(0 1px 1px rgba(0,0,0,.25)); }

/* ===== Dots circulares + activo más grande ===== */
.vult-hero-v2 .vult-hero__dots-out{
  display:flex; justify-content:center; align-items:center;
  gap: 12px; margin-top: 12px;
}
.vult-hero-v2 .vult-hero__dot{
  appearance:none; -webkit-appearance:none;
  padding:0; line-height:0; box-sizing: border-box;
  display:inline-flex; align-items:center; justify-content:center;
  width: var(--dot); height: var(--dot);
  min-width: var(--dot); min-height: var(--dot);
  border:0; border-radius:50%;
  background: var(--dot-idle);
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, width .12s ease, height .12s ease;
}
.vult-hero-v2 .vult-hero__dot.is-active{
  width: 16px; height: 16px;
  min-width: 16px; min-height: 16px;
  background: var(--dot-active);
}

/* ===== Play/Pause botón ===== */
.vult-hero-v2 .vult-hero__pp{
  appearance:none; -webkit-appearance:none;
  padding:0; line-height:0; box-sizing:border-box;
  width: 24px; height: 24px; min-width:24px; min-height:24px;
  border-radius:50%;
  border:1px solid #bdbdbd; background:transparent; color:#111;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; opacity:.95;
  transition: transform .12s ease, opacity .12s ease;
}
.vult-hero-v2 .vult-hero__pp:hover{ transform: scale(1.06); opacity:1; }
.vult-hero-v2 .vult-hero__pp svg{ width:14px; height:14px; display:block; }
.vult-hero-v2 .vult-hero__pp .icon-play{ display:none; }
.vult-hero-v2 .vult-hero__pp.is-paused .icon-play{ display:block; }
.vult-hero-v2 .vult-hero__pp.is-paused .icon-pause{ display:none; }

/* Accesibilidad: menos animaciones si el usuario lo pide */
@media (prefers-reduced-motion: reduce){
  .vult-hero__nav, .vult-hero__dot{ transition: none !important; }
}

/* ===== Base (lo que ya tenías, resumido para contexto) ===== */
.vult-hero-v2{ --ratio:0.3125; --h:clamp(380px, calc(100vw*var(--ratio)), 600px); position:relative; width:100%; --dot:10px; --dot-idle:#cfcfcf; --dot-active:#2b2b2b; --hover-bg-alpha:.07; --shadow-alpha:.28; --side-shadow-x:22px; --side-shadow-blur:28px; --bottom-shadow-y:22px; --bottom-shadow-blur:38px; }
.vult-hero--desktop{ display:block; } .vult-hero--mobile{ display:none; }
@media (max-width:1023px){ .vult-hero--desktop{ display:none !important; } .vult-hero--mobile{ display:block !important; } }
.vult-hero__viewport{ position:relative; overflow:hidden; min-height:var(--h); }
.vult-hero__track{ display:flex; height:var(--h); transform:translateX(0); }
.vult-hero__slide{ flex:0 0 100%; height:var(--h); background-image:var(--bg); background-size:cover; background-position:center; }

/* Desktop hotzones hover (se mantiene)… */

/* ===== Mobile/Tablet-vertical altura y arte ===== */
.vult-hero--mobile{ --ratio:1.34884; --h:clamp(420px, calc(100vw*var(--ratio)), 760px); }
.vult-hero--mobile .vult-hero__viewport{ min-height:var(--h); }
.vult-hero--mobile .vult-hero__track{ height:var(--h); }
.vult-hero--mobile .vult-hero__slide{ height:var(--h); background-image:var(--bg-m); }
.vult-hero--mobile .vult-hero__hotzone{ left:0 !important; right:0 !important; width:100% !important; }

/* **NUEVO**: si hay arte específico de tablet vertical, úsalo solo en esa condición */
@media (min-width:768px) and (max-width:1023px) and (orientation:portrait){
  .vult-hero--mobile .vult-hero__slide{ background-image: var(--bg-tp, var(--bg-m)); }
}

/* ===== Flechas: ocultas en mobile y tablet (ambas orientaciones) ===== */
@media (max-width:1199px){
  .vult-hero-v2 .vult-hero__nav{ display:none !important; }
}

/* Dots + Play/Pause (tus reglas actuales)… */
.vult-hero-v2 .vult-hero__dots-out{ display:flex; justify-content:center; gap:12px; margin-top:12px; }
.vult-hero-v2 .vult-hero__dot{ appearance:none; padding:0; width:var(--dot); height:var(--dot); min-width:var(--dot); min-height:var(--dot); border-radius:50%; border:0; background:var(--dot-idle); transition:width .12s ease, height .12s ease, background .12s ease; }
.vult-hero-v2 .vult-hero__dot.is-active{ width:16px; height:16px; min-width:16px; min-height:16px; background:var(--dot-active); }

.vult-hero-v2 .vult-hero__pp{ appearance:none; width:24px; height:24px; min-width:24px; min-height:24px; border-radius:50%; border:1px solid #bdbdbd; background:transparent; color:#111; display:inline-flex; align-items:center; justify-content:center; }
.vult-hero-v2 .vult-hero__pp .icon-play{ display:none; }
.vult-hero-v2 .vult-hero__pp.is-paused .icon-play{ display:block; }
.vult-hero-v2 .vult-hero__pp.is-paused .icon-pause{ display:none; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0d72639 *//* VULTEC — OFERTAS AL LÍMITE (solo imágenes) */
.vld{
  --bg: #141414;
  --card-bg:#ffffff;
  --radius-lg: 22px;
  --radius-md: 16px;
  --shadow: 0 10px 28px rgba(0,0,0,.18);
  font-family: 'Roboto', system-ui, -apple-system, Segoe UI, Arial, sans-serif;
}
.vld * { box-sizing: border-box; }

/* Ocupa el 100% del ancho del contenedor/columna donde se inserte */
.vld__wrap{
  background: var(--bg);
  border-radius: var(--radius-lg);
  padding: 26px 22px 30px;
  width: 100%;
}

/* Título + fueguito */
.vld__title{
  margin: 0 0 15px;
  text-align: center;
  color: #fff;
  font-weight: 800;
  font-size: clamp(15px, 2.2vw, 36px);
  letter-spacing:.2px;
}
.vld__subtitle{
  font-weight: 600;
  margin-left: 6px;
  font-size:36px;
  opacity:.95;
}
.vld__flame{
  display: inline-block;
  margin: 0 .25rem;
  filter: drop-shadow(0 0 6px rgba(255,120,0,.45));
  animation: vld-flame .9s ease-in-out infinite alternate;
  transform-origin: 50% 70%;
}
.vld__flame.is-paused{ animation-play-state: paused; }
@keyframes vld-flame{
  0%{ transform: translateY(0) rotate(0deg) scale(1); filter: drop-shadow(0 0 6px rgba(255,140,0,.45)); }
  100%{ transform: translateY(-1.5px) rotate(-6deg) scale(1.04); filter: drop-shadow(0 0 10px rgba(255,90,0,.65)); }
}

/* Grid 4/2/1 */
.vld__grid{
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Card blanca con solo imagen */
.vld__card{
  display: block;
  background: var(--card-bg);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease;
  text-decoration: none;
}
.vld__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0,0,0,.22);
}

/* Contenedor de imagen 320×250 exacto (sin saltos de layout) */
.vld__media{
  position: relative;
  aspect-ratio: 320 / 250;
  width: 100%;
  display: grid; 
  place-items: center;
}
.vld__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;   /* si tus JPG ya tienen el marco exacto, cover queda perfecto */
  display: block;
}

/* Responsive */
@media (max-width: 1200px){
  .vld__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px){
  .vld__wrap{ padding: 22px 16px 24px; }
  .vld__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 600px){
  .vld__grid{ grid-template-columns: 1fr; gap: 12px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d7a4720 *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin: 0px;
  color: #2A2A2A;
}

/* Subtítulo como enlace */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin: 0px;
  color: #2A2A2A;
  text-decoration: none;   /* quita subrayado */
  transition: color 0.3s ease;  /* suaviza el cambio de color */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5996ba5 *//* ===== COMPRA POR CATEGORÍAS — 6 visibles, 7 totales, sin loop ===== */
.vult-cats-v2{
  --container: 1200px;
  --label:#222;
  --accent:#20bf55;
  --icon-size:104px;

  /* 👇 Tamaño de flecha y offset auto-ajustado */
  --arrow-size:50px; /* cambia aquí: 28px, 36px, 40px, etc. */
  /* El -4px era tu “base”; esta fórmula compensa tamaños mayores a 28px */
  --arrow-offset: calc(-4px - ((var(--arrow-size) - 28px) / 2));

  font-family:'Roboto', sans-serif;
  text-align:center;

  width:100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0;
}

.vult-catsv2__viewport{
  overflow:hidden;
  position:relative;
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:0;
}

.vult-catsv2__track{
  display:flex;
  will-change: transform;
  transform: translateX(0);
}

/* Ítems (ancho calculado en JS para 6 visibles) */
.vult-catsv2__item{
  box-sizing:border-box;
  min-width:0;
  flex: 0 0 var(--vult-catsv2-itemW, 180px); /* el JS usa viewport/6 */
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--label);
  padding: 0px 4px;
}

/* === FIX anti-alias: aro con box-shadow interno + recorte seguro === */
.vult-catsv2__icon{
  position: relative;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  background:#fff;
  display:grid; place-items:center;

  overflow: hidden;                     /* recorta la imagen al hacer zoom */
  box-shadow: inset 0 0 0 1px #a4a4a4;  /* aro perfecto, sin ::after */
}

/* anulamos el aro anterior hecho con ::after */
.vult-catsv2__icon::after{
  display: none !important;
}

/* Imagen dentro del círculo */
.vult-catsv2__icon img{
  width:78%; height:78%; object-fit:contain; display:block;
  transition: transform .18s ease, filter .18s ease;
  will-change: transform;
  transform-origin: 50% 50%;
}

/* Etiqueta */
.vult-catsv2__label{
  font-size:14px;
  font-weight:400;
  white-space: nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Hover */
.vult-catsv2__item:hover .vult-catsv2__icon img{
  transform: scale(1.05);     /* zoom solo en la imagen */
  filter: brightness(1.06);
}
.vult-catsv2__item:hover .vult-catsv2__label{ color: var(--accent); }

/* opcional: leve “lift” del bloque completo */
.vult-catsv2__item{
  transition: transform .18s ease;
}
.vult-catsv2__item:hover{
  transform: translateY(-1px);
}

/* Flechas */
.vult-catsv2__arrow{
  position:absolute !important;
  top:50% !important;
  transform: translateY(-50%) !important;

  /* botón */
  width: var(--arrow-size) !important;
  height: var(--arrow-size) !important;

  padding:0 !important; border:0 !important;
  background: transparent !important;
  color:#111 !important;
  box-shadow:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  cursor:pointer !important; line-height:0 !important;
  z-index:3 !important;
  transition: transform .12s ease !important, opacity .12s ease !important;
}

/* 👇 hace que el SVG ignore sus width/height="16" */
.vult-catsv2__arrow svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

.vult-catsv2__arrow--prev{ left: var(--arrow-offset) !important; }
.vult-catsv2__arrow--next{ right: var(--arrow-offset) !important; }
.vult-catsv2__arrow:hover{ transform: translateY(-50%) scale(1.1) !important; }

/* Estado deshabilitado en extremos */
.vult-catsv2__arrow.is-disabled,
.vult-catsv2__arrow[disabled]{
  opacity:.35;
  pointer-events:none;
  cursor:default !important;
}

@media (max-width: 1200px){
  :root .vult-cats-v2{ --container: calc(100% - 32px); }
}
@media (max-width: 991px){
  .vult-catsv2__arrow{ display:none !important; } /* móvil: desliza con el dedo si quieres */
}

/* Fuerza que SOLO exista el aro del inset box-shadow */
.vult-catsv2__icon{
  border: none !important;          /* quita cualquier borde heredado */
  outline: none !important;         /* evita contornos del editor/tema */
  box-shadow: inset 0 0 0 1px #a4a4a4 !important;  /* aro único */
  background-clip: padding-box;     /* evita “sangrados” del fondo */
  isolation: isolate;               /* evita mezclas raras con overlays */
}

/* Asegura que no haya pseudo-elementos decorativos de terceros */
.vult-catsv2__icon::before,
.vult-catsv2__icon::after{
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* (opcional) Si en el editor ves el aro raro sólo cuando está seleccionado,
   esto neutraliza overlays de Elementor sobre nuestros círculos */
.elementor-editor-active .vult-catsv2__icon{
  filter: none !important;
  transform: none !important;
}

/* --- CÍRCULO NÍTIDO SIN “CORTES” Y SIN DOBLE ARO --- */
.vult-catsv2__icon{
  position: relative;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  background: #fff;
  overflow: hidden;                  /* recorta la imagen al hacer zoom */
  border: 1px solid #a4a4a4 !important; /* aro real, único y nítido */
  box-shadow: none !important;
  outline: none !important;
  /* evita artefactos de subpixel */
  backface-visibility: hidden;
  transform: translateZ(0);         /* fuerza capa propia (antialias más estable) */
}

/* anula cualquier aro previo con pseudo-elementos */
.vult-catsv2__icon::before,
.vult-catsv2__icon::after{
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* NO mover el contenedor del icono ni el item: nada de translate/scale en ellos */
.vult-catsv2__item{                   /* quita el “lift” del item */
  transform: none !important;
  transition: filter .18s ease;       /* si quieres, un leve brillo */
}
.vult-catsv2__item:hover{
  transform: none !important;         /* important para ganar a reglas previas */
  filter: none;
}

/* El zoom SOLO en la imagen interna (no en el borde) */
.vult-catsv2__icon img{
  width: 78%;
  height: 78%;
  object-fit: contain;
  display: block;
  transform-origin: 50% 50%;
  transition: transform .18s ease, filter .18s ease;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.vult-catsv2__item:hover .vult-catsv2__icon img{
  transform: scale(1.05);  /* si aún vieras microcorte, baja a 1.04 */
  filter: brightness(1.06);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e96eb70 *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin: 0px;
  color: #2A2A2A;
}

/* Subtítulo */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin: 0px;
  color: #2A2A2A;
  text-decoration: none;
  transition: color 0.3s ease;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-29360e0 *//* Contenedor principal */
.vul-promos {
  font-family: 'Roboto', sans-serif;
  max-width: 1900px;
  margin: 0 auto;
}

/* Grid */
.vul-promos-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

/* Card base */
.promo-item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0;                  /* sin bordes redondeados */
  /* El alto se define por el aspect-ratio más abajo */
}

/* Imagen ocupa todo el contenedor manteniendo proporción */
.promo-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease, filter .3s ease;
}

/* Hover efecto brillo + zoom suave */
.promo-item:hover img {
  filter: brightness(1.12);
  transform: scale(1.03);
}

/* Tamaños exactos por proporción */
.large-vertical {
  grid-column: span 1;
  aspect-ratio: 590 / 760;          /* 590x760 */
}

.large-horizontal {
  grid-column: span 2;
  aspect-ratio: 1200 / 760;         /* 1200x760 */
}

/* Responsive */
@media (max-width: 1024px) {
  .vul-promos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .large-horizontal { grid-column: span 2; } /* ocupa fila completa en tablet */
}

@media (max-width: 600px) {
  .vul-promos-grid {
    grid-template-columns: 1fr;
  }
  .large-horizontal, .large-vertical { grid-column: span 1; }
  /* En móvil podemos usar 16:9 para más respiro visual */
  .promo-item { aspect-ratio: 16 / 9; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a41b026 *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin: 0px;
  color: #2A2A2A;
}

/* Subtítulo como enlace */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin: 0px;
  color: #2A2A2A;
  text-decoration: none;   /* quita subrayado */
  transition: color 0.3s ease;  /* suaviza el cambio de color */
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-bed9603 *//* ===== Alineación perfecta: banner + carrusel en la misma base ===== */
.fila-banner-carrusel .elementor-container{
  align-items: stretch;              /* columnas con la misma altura */
}

/* Hacemos que cada columna pueda estirar a 100% */
.fila-banner-carrusel .elementor-column{
  display: flex;
}
.fila-banner-carrusel .elementor-widget-wrap{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 1) Banner: ocupa toda la altura de la columna */
.fila-banner-carrusel .elementor-widget-image{
  height: 100%;
}
.fila-banner-carrusel .elementor-widget-image .elementor-widget-container{
  height: 100%;
}
.fila-banner-carrusel .elementor-widget-image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;                 /* llena alto total (si no quieres recorte, cambia a contain) */
}

/* 2) Carrusel: que su widget también estire a 100% y sin empujes debajo */
.fila-banner-carrusel .elementor-widget:not(:last-child){
  margin-bottom: 0 !important;      /* quita margen final de cualquier widget dentro de la sección */
}
.fila-banner-carrusel .elementor-widget .elementor-widget-container{
  height: 100%;
}

/* Ajustes comunes en carruseles/listados WooCommerce para evitar huecos extra */
.fila-banner-carrusel .woocommerce ul.products{
  margin-bottom: 0 !important;
}
.fila-banner-carrusel .woocommerce ul.products li.product{
  margin-bottom: 0 !important;      /* evita “salto” de línea abajo */
}

/* Responsive: en tablet/móvil las columnas se apilan sin deformar el banner */
@media (max-width: 1023.98px){
  .fila-banner-carrusel .elementor-widget-image img{
    height: auto;                    /* evita recorte vertical al apilar */
    object-fit: cover;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a4b97a0 *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin: 0px;
  color: #2A2A2A;
}

/* Subtítulo como enlace */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin: 0px;
  color: #2A2A2A;
  text-decoration: none;   /* quita subrayado */
  transition: color 0.3s ease;  /* suaviza el cambio de color */
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-1c4d7cf *//* ===== Alineación perfecta: banner + carrusel en la misma base ===== */
.fila-banner-carrusel .elementor-container{
  align-items: stretch;              /* columnas con la misma altura */
}

/* Hacemos que cada columna pueda estirar a 100% */
.fila-banner-carrusel .elementor-column{
  display: flex;
}
.fila-banner-carrusel .elementor-widget-wrap{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 1) Banner: ocupa toda la altura de la columna */
.fila-banner-carrusel .elementor-widget-image{
  height: 100%;
}
.fila-banner-carrusel .elementor-widget-image .elementor-widget-container{
  height: 100%;
}
.fila-banner-carrusel .elementor-widget-image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;                 /* llena alto total (si no quieres recorte, cambia a contain) */
}

/* 2) Carrusel: que su widget también estire a 100% y sin empujes debajo */
.fila-banner-carrusel .elementor-widget:not(:last-child){
  margin-bottom: 0 !important;      /* quita margen final de cualquier widget dentro de la sección */
}
.fila-banner-carrusel .elementor-widget .elementor-widget-container{
  height: 100%;
}

/* Ajustes comunes en carruseles/listados WooCommerce para evitar huecos extra */
.fila-banner-carrusel .woocommerce ul.products{
  margin-bottom: 0 !important;
}
.fila-banner-carrusel .woocommerce ul.products li.product{
  margin-bottom: 0 !important;      /* evita “salto” de línea abajo */
}

/* Responsive: en tablet/móvil las columnas se apilan sin deformar el banner */
@media (max-width: 1023.98px){
  .fila-banner-carrusel .elementor-widget-image img{
    height: auto;                    /* evita recorte vertical al apilar */
    object-fit: cover;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aaee922 *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin:0px;
  color: #2A2A2A;
}

/* Subtítulo */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin:0px;
  color: #2A2A2A;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-c275a9c *//* ===== Alineación perfecta: banner + carrusel en la misma base ===== */
.fila-banner-carrusel .elementor-container{
  align-items: stretch;              /* columnas con la misma altura */
}

/* Hacemos que cada columna pueda estirar a 100% */
.fila-banner-carrusel .elementor-column{
  display: flex;
}
.fila-banner-carrusel .elementor-widget-wrap{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 1) Banner: ocupa toda la altura de la columna */
.fila-banner-carrusel .elementor-widget-image{
  height: 100%;
}
.fila-banner-carrusel .elementor-widget-image .elementor-widget-container{
  height: 100%;
}
.fila-banner-carrusel .elementor-widget-image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;                 /* llena alto total (si no quieres recorte, cambia a contain) */
}

/* 2) Carrusel: que su widget también estire a 100% y sin empujes debajo */
.fila-banner-carrusel .elementor-widget:not(:last-child){
  margin-bottom: 0 !important;      /* quita margen final de cualquier widget dentro de la sección */
}
.fila-banner-carrusel .elementor-widget .elementor-widget-container{
  height: 100%;
}

/* Ajustes comunes en carruseles/listados WooCommerce para evitar huecos extra */
.fila-banner-carrusel .woocommerce ul.products{
  margin-bottom: 0 !important;
}
.fila-banner-carrusel .woocommerce ul.products li.product{
  margin-bottom: 0 !important;      /* evita “salto” de línea abajo */
}

/* Responsive: en tablet/móvil las columnas se apilan sin deformar el banner */
@media (max-width: 1023.98px){
  .fila-banner-carrusel .elementor-widget-image img{
    height: auto;                    /* evita recorte vertical al apilar */
    object-fit: cover;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c212979 *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin:0px;
  color: #2A2A2A;
}

/* Subtítulo */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin:0px;
  color: #2A2A2A;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5571fe2 *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin:0px;
  color: #2A2A2A;
}

/* Subtítulo */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin:0px;
  color: #2A2A2A;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-63129bf *//* ===== COMPRA POR CATEGORÍAS — 6 visibles, 7 totales, sin loop ===== */
.vult-cats-v2{
  --container: 1200px;
  --label:#222;
  --accent:#20bf55;
  --icon-size:104px;

  /* 👇 Tamaño de flecha y offset auto-ajustado */
  --arrow-size:50px; /* cambia aquí: 28px, 36px, 40px, etc. */
  /* El -4px era tu “base”; esta fórmula compensa tamaños mayores a 28px */
  --arrow-offset: calc(-4px - ((var(--arrow-size) - 28px) / 2));

  font-family:'Roboto', sans-serif;
  text-align:center;

  width:100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0;
}

.vult-catsv2__viewport{
  overflow:hidden;
  position:relative;
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:0;
}

.vult-catsv2__track{
  display:flex;
  will-change: transform;
  transform: translateX(0);
}

/* Ítems (ancho calculado en JS para 6 visibles) */
.vult-catsv2__item{
  box-sizing:border-box;
  min-width:0;
  flex: 0 0 var(--vult-catsv2-itemW, 180px); /* el JS usa viewport/6 */
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--label);
  padding: 0px 4px;
}

/* === FIX anti-alias: aro con box-shadow interno + recorte seguro === */
.vult-catsv2__icon{
  position: relative;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  background:#fff;
  display:grid; place-items:center;

  overflow: hidden;                     /* recorta la imagen al hacer zoom */
  box-shadow: inset 0 0 0 1px #a4a4a4;  /* aro perfecto, sin ::after */
}

/* anulamos el aro anterior hecho con ::after */
.vult-catsv2__icon::after{
  display: none !important;
}

/* Imagen dentro del círculo */
.vult-catsv2__icon img{
  width:78%; height:78%; object-fit:contain; display:block;
  transition: transform .18s ease, filter .18s ease;
  will-change: transform;
  transform-origin: 50% 50%;
}

/* Etiqueta */
.vult-catsv2__label{
  font-size:14px;
  font-weight:400;
  white-space: nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Hover */
.vult-catsv2__item:hover .vult-catsv2__icon img{
  transform: scale(1.05);     /* zoom solo en la imagen */
  filter: brightness(1.06);
}
.vult-catsv2__item:hover .vult-catsv2__label{ color: var(--accent); }

/* opcional: leve “lift” del bloque completo */
.vult-catsv2__item{
  transition: transform .18s ease;
}
.vult-catsv2__item:hover{
  transform: translateY(-1px);
}

/* Flechas */
.vult-catsv2__arrow{
  position:absolute !important;
  top:50% !important;
  transform: translateY(-50%) !important;

  /* botón */
  width: var(--arrow-size) !important;
  height: var(--arrow-size) !important;

  padding:0 !important; border:0 !important;
  background: transparent !important;
  color:#111 !important;
  box-shadow:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  cursor:pointer !important; line-height:0 !important;
  z-index:3 !important;
  transition: transform .12s ease !important, opacity .12s ease !important;
}

/* 👇 hace que el SVG ignore sus width/height="16" */
.vult-catsv2__arrow svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

.vult-catsv2__arrow--prev{ left: var(--arrow-offset) !important; }
.vult-catsv2__arrow--next{ right: var(--arrow-offset) !important; }
.vult-catsv2__arrow:hover{ transform: translateY(-50%) scale(1.1) !important; }

/* Estado deshabilitado en extremos */
.vult-catsv2__arrow.is-disabled,
.vult-catsv2__arrow[disabled]{
  opacity:.35;
  pointer-events:none;
  cursor:default !important;
}

@media (max-width: 1200px){
  :root .vult-cats-v2{ --container: calc(100% - 32px); }
}
@media (max-width: 991px){
  .vult-catsv2__arrow{ display:none !important; } /* móvil: desliza con el dedo si quieres */
}

/* Fuerza que SOLO exista el aro del inset box-shadow */
.vult-catsv2__icon{
  border: none !important;          /* quita cualquier borde heredado */
  outline: none !important;         /* evita contornos del editor/tema */
  box-shadow: inset 0 0 0 1px #a4a4a4 !important;  /* aro único */
  background-clip: padding-box;     /* evita “sangrados” del fondo */
  isolation: isolate;               /* evita mezclas raras con overlays */
}

/* Asegura que no haya pseudo-elementos decorativos de terceros */
.vult-catsv2__icon::before,
.vult-catsv2__icon::after{
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* (opcional) Si en el editor ves el aro raro sólo cuando está seleccionado,
   esto neutraliza overlays de Elementor sobre nuestros círculos */
.elementor-editor-active .vult-catsv2__icon{
  filter: none !important;
  transform: none !important;
}

/* --- CÍRCULO NÍTIDO SIN “CORTES” Y SIN DOBLE ARO --- */
.vult-catsv2__icon{
  position: relative;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  background: #fff;
  overflow: hidden;                  /* recorta la imagen al hacer zoom */
  border: 1px solid #a4a4a4 !important; /* aro real, único y nítido */
  box-shadow: none !important;
  outline: none !important;
  /* evita artefactos de subpixel */
  backface-visibility: hidden;
  transform: translateZ(0);         /* fuerza capa propia (antialias más estable) */
}

/* anula cualquier aro previo con pseudo-elementos */
.vult-catsv2__icon::before,
.vult-catsv2__icon::after{
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* NO mover el contenedor del icono ni el item: nada de translate/scale en ellos */
.vult-catsv2__item{                   /* quita el “lift” del item */
  transform: none !important;
  transition: filter .18s ease;       /* si quieres, un leve brillo */
}
.vult-catsv2__item:hover{
  transform: none !important;         /* important para ganar a reglas previas */
  filter: none;
}

/* El zoom SOLO en la imagen interna (no en el borde) */
.vult-catsv2__icon img{
  width: 78%;
  height: 78%;
  object-fit: contain;
  display: block;
  transform-origin: 50% 50%;
  transition: transform .18s ease, filter .18s ease;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.vult-catsv2__item:hover .vult-catsv2__icon img{
  transform: scale(1.05);  /* si aún vieras microcorte, baja a 1.04 */
  filter: brightness(1.06);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-17dbf3b *//* Estilos bloque de título */
.vultec-title-block {
  text-align: center;
}

/* Título principal */
.vultec-title-block .vultec-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 36px;
  margin:0px;
  color: #2A2A2A;
}

/* Subtítulo */
.vultec-title-block .vultec-subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin:0px;
  color: #2A2A2A;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-484fd49 *//* ===== BLOQUE SEO VULTEC ===== */
.vul-seo{
  --text:#333;
  --muted:#6b7280;
  --bg:#f3f3f3;          /* gris del contenedor y del degradado */
  --btn:#e9ecef;         /* gris del botón */
  --btn-border:#d1d5db;
  --btn-hover:#20bf55;   /* verde Vultec */
  font-family:'Roboto', sans-serif;
  color:var(--text);
  width:100%;
  background:#F3F3F3;       /* o transparente si tu sección ya tiene fondo */
  position:relative;
}

/* Contenido que colapsa */
.vul-seo__inner{
  font-size:14px;        /* pequeño, un poco más grande que Promart */
  line-height:1.6;
  overflow:hidden;
  transition:max-height .35s ease;
  padding:12px 0;        /* pegado a los bordes del widget */
}

/* Títulos centrados */
.vul-seo h2,
.vul-seo h3{
  text-align:center;
  margin:0 0 10px 0;
  font-weight:700;
  color:var(--text);
}
.vul-seo h2{ font-size:20px; }
.vul-seo h3{ font-size:16px; }

/* Párrafos e items a la izquierda (nada de azul) */
.vul-seo p,
.vul-seo li{
  text-align:left;
  margin:0 0 10px 0;
}
.vul-seo a{ color:inherit; text-decoration:none; }

/* Intro más discreta */
.vul-seo__lead{ color:var(--muted); }

/* Grid de 3 columnas (desktop), 2 (tablet), 1 (móvil) */
.vul-seo__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
  margin:12px 0 4px;
}
.vul-seo__col ul{ padding-left:18px; }

/* Degradado (solo visible en modo colapsado) */
.vul-seo__fade{
  position:relative;
  height:72px;               /* alto del degradado */
  margin-top:-72px;          /* se superpone al final del texto */
  background: linear-gradient(to top, var(--bg) 0%, rgba(243,243,243,0) 100%);
  pointer-events:none;
  transition:opacity .25s ease;
  opacity:1;
}

/* Botón centrado */
.vul-seo__toggle{
  display:block;
  margin:8px auto 0;
  padding:10px 18px;
  font-size:13px;
  font-weight:600;
  color:var(--text);
  background:var(--btn);
  border:1px solid var(--btn-border);
  border-radius:6px;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .05s ease;
}
.vul-seo__toggle:hover{
  background:var(--btn-hover);
  color:#fff;
  border-color:var(--btn-hover);
}
.vul-seo__toggle:active{ transform:scale(.98); }

/* Responsivo */
@media (max-width: 1024px){
  .vul-seo__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .vul-seo h2{ font-size:18px; }
  .vul-seo h3{ font-size:15px; }
  .vul-seo__grid{ grid-template-columns: 1fr; }
}/* End custom CSS */