.elementor-58850 .elementor-element.elementor-element-3ddebfa > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-58850 .elementor-element.elementor-element-3ddebfa:not(.elementor-motion-effects-element-type-background), .elementor-58850 .elementor-element.elementor-element-3ddebfa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-58850 .elementor-element.elementor-element-3ddebfa{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-58850 .elementor-element.elementor-element-3ddebfa > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-58850 .elementor-element.elementor-element-ad17d59{text-align:center;}.elementor-58850 .elementor-element.elementor-element-ed7c947 .elementor-menu-cart__close-button, .elementor-58850 .elementor-element.elementor-element-ed7c947 .elementor-menu-cart__close-button-custom{margin-left:auto;}.elementor-58850 .elementor-element.elementor-element-ed7c947{--main-alignment:center;--divider-style:none;--subtotal-divider-style:none;--elementor-remove-from-cart-button:none;--remove-from-cart-button:block;--toggle-button-icon-color:#000000;--items-indicator-text-color:#FFFFFF;--items-indicator-background-color:#2DAB50;--cart-border-style:none;--cart-footer-layout:1fr 1fr;--products-max-height-sidecart:calc(100vh - 240px);--products-max-height-minicart:calc(100vh - 385px);}.elementor-58850 .elementor-element.elementor-element-ed7c947 .elementor-menu-cart__toggle .elementor-button{box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);}.elementor-58850 .elementor-element.elementor-element-ed7c947 .widget_shopping_cart_content{--subtotal-divider-left-width:0;--subtotal-divider-right-width:0;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-58850 .elementor-element.elementor-element-7a3b5a8{width:15%;}.elementor-58850 .elementor-element.elementor-element-957a0d9{width:5%;}.elementor-58850 .elementor-element.elementor-element-f9b5f9b{width:10%;}.elementor-58850 .elementor-element.elementor-element-38b4274{width:10%;}.elementor-58850 .elementor-element.elementor-element-b67f0ab{width:40%;}.elementor-58850 .elementor-element.elementor-element-447a489{width:4.438%;}.elementor-58850 .elementor-element.elementor-element-3ac4437{width:10%;}.elementor-58850 .elementor-element.elementor-element-306d50b{width:5%;}}/* Start custom CSS for html, class: .elementor-element-3a4961b *//* ====== VULTEC Mega Menú (v7.1) ====== */
.vul-mega {
  --vul-green: #23b14d;
  --vul-red:   #e11d48;
  --vul-dark:  #121212;
  --vul-text:  #222;
  --vul-muted: #6b7280;
  --vul-bg:    #ffffff;
  --vul-edge:  #e5e7eb;
  --radius: 12px;
  --shadow: 0 8px 24px rgba(0,0,0,.12);
  position: relative;
  font-family: inherit;
}

/* Botón plano y estático */
.vul-mega__toggle{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:0; background:transparent !important; border:none !important;
  color:#000 !important; cursor:pointer; box-shadow:none !important;
  line-height:1; vertical-align:middle; position: relative; z-index: 10001; /* por encima del overlay */
}
/* Quitar borde/outline del tema */
.vul-mega__toggle:focus,
.vul-mega__toggle:focus-visible,
.vul-mega__toggle:active{
  outline:none !important; box-shadow:none !important; border:none !important;
}
.vul-mega__iconwrap{ width:22px; height:22px; position:relative; display:inline-block; }
.vul-mega__icon{ position:absolute; inset:0; color:#000; transition:opacity .15s ease; }
.vul-mega__icon--close{ opacity:0 !important; visibility:hidden !important; }
.vul-mega.is-open .vul-mega__icon--hamburger{ opacity:0 !important; visibility:hidden !important; }
.vul-mega.is-open .vul-mega__icon--close{ opacity:1 !important; visibility:visible !important; }
.vul-mega__label{ font-size:18px; font-weight:600; color:#000 !important; }

/* Drawer con altura máx y scrolls internos */
.vul-mega__drawer{
  position:absolute; left:0; top:calc(100% + 18px); z-index:9999;
  width:min(1280px, 96vw); background:var(--vul-bg); border:1px solid var(--vul-edge);
  border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden;
  max-height:70vh;
}
.vul-mega__inner{ display:grid; grid-template-columns: 320px 1fr; height:100%; }

/* Columna izquierda (scroll) */
.vul-mega__nav{ background:#f7f7f8; border-right:1px solid var(--vul-edge); overflow-y:auto; }
.vul-mega__roots{ list-style:none; margin:0; padding:10px; }
.vul-mega__root{ margin:2px 0; border-radius:10px; }
.vul-mega__root.is-active{ background:#fff; outline:1px solid var(--vul-edge); }

/* Ofertas Bombas (rojo normal y hover solo aquí) */
.vul-mega__root--action{ margin-bottom:8px; }
.vul-mega__rootAction{
  display:flex; align-items:center; gap:.55rem;
  text-decoration:none; color:#000; font-weight:900;
  padding:10px 12px; border-radius:10px; background:#fff; outline:1px solid var(--vul-edge);
}
.vul-mega__rootAction .vul-mega__ico--bomb{ color:var(--vul-red) !important; animation:bomb-pulse 1.2s infinite ease-in-out; }
.vul-mega__rootAction:hover{ color:var(--vul-red) !important; }
.vul-mega__rootAction:hover .vul-mega__ico--bomb{ color:var(--vul-red) !important; }
@keyframes bomb-pulse{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.08);} }

/* Enlaces de categorías normales */
.vul-mega__rootLink{
  display:flex; align-items:center; gap:.55rem;
  text-decoration:none; color:var(--vul-text); font-weight:800;
  padding:10px 12px;
}
.vul-mega__rootLink:hover{ color:var(--vul-green); }

/* Íconos verdes por defecto */
.vul-mega__ico{ width:18px; height:18px; display:inline-grid; place-items:center; color:var(--vul-green); }
.vul-mega__ico svg{ width:18px; height:18px; }

/* Panel derecho con header fijo y contenido scroll */
.vul-mega__panels{ position:relative; background:#fff; overflow:hidden; }
.vul-mega__panel{
  position:absolute; inset:0; padding:22px 28px; opacity:0; visibility:hidden; transition:.2s ease;
  display:flex; flex-direction:column; height:100%;
}
.vul-mega__panel.is-visible{ opacity:1; visibility:visible; }

/* Cabecera NEGRA: título grande y "Ver todo" blanco */
.vul-mega__panelHead{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; background:#000; color:#fff;
  border-radius:10px; margin-bottom:14px; flex:0 0 auto;
}
.vul-mega .vul-mega__panelHead .vul-mega__panelTitle{ 
  margin:0; font-size:44px !important; font-weight:900; line-height:1.1; 
}
.vul-mega .vul-mega__panelHead .vul-mega__panelTitle a{ 
  color:#fff !important; text-decoration:none; font-size:inherit !important;
}
.vul-mega__panelAll{ font-size:14px; color:#fff !important; text-decoration:none; font-weight:700; }
.vul-mega__panelAll:hover{ text-decoration:underline; }

/* Área desplazable del contenido */
.vul-mega__cols{
  flex:1 1 auto;
  overflow:auto;
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap:30px 36px;
  padding:6px 8px 10px 8px;
}

/* Subcategorías */
.vul-mega__h{ margin:0 0 2px; font-size:16px; font-weight:800;}
.vul-mega__h a{ color:var(--vul-dark); text-decoration:none; color:#5a5a5a;}
.vul-mega__h a:hover{ color:var(--vul-green);
}
.vul-mega__subAll{ display:inline-block; margin:0 0 8px; font-size:13px; font-weight:600; color:#535558; text-decoration:none; }
.vul-mega__subAll:hover{ text-decoration:underline;}

/* Tercer nivel */
.vul-mega__list{ list-style:none; margin:0; padding:0 !important; }
.vul-mega__list li{ margin:0 0 8px; }
.vul-mega__list a{ text-decoration:none; color:var(--vul-muted); font-size:14px; display:inline-block; }
.vul-mega__list a:hover{ color:var(--vul-green); }

/* Responsivo */
@media (max-width: 1200px){
  .vul-mega__inner{ grid-template-columns: 280px 1fr; }
  .vul-mega__cols{ grid-template-columns: repeat(4, minmax(0,1fr)); }
  .vul-mega .vul-mega__panelHead .vul-mega__panelTitle{ font-size:38px !important; }
}
@media (max-width: 920px){
  .vul-mega__inner{ grid-template-columns:1fr; }
  .vul-mega__nav{ border-right:none; border-bottom:1px solid var(--vul-edge); }
  .vul-mega__panel{ position:relative; }
  .vul-mega__cols{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:20px; }
  .vul-mega .vul-mega__panelHead .vul-mega__panelTitle{ font-size:30px !important; }
}
@media (max-width: 560px){
  .vul-mega__cols{ grid-template-columns:1fr; }
}

/* Mostrar el drawer cuando el JS quita hidden */
.vul-mega.is-open .vul-mega__drawer[hidden]{ display:block; }

/* Overlay oscuro del fondo */
.vul-mega__overlay{
  position: fixed;
  inset: 0;
  background: #000;
  opacity: .28;        /* .10 a .20 según gusto */
  z-index: 9990;
}
.vul-mega__overlay[hidden]{ display:none; }

/* === Patch tipografía Roboto + sin mayúsculas forzadas (solo VUL-MEGA) === */
.vul-mega{
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

/* Hereda Roboto a todo lo interno del componente */
.vul-mega *{
  font-family: inherit !important;
}

/* Evita que el tema fuerce mayúsculas en el botón/etiqueta */
.vul-mega__toggle,
.vul-mega__toggle .vul-mega__label{
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* === Centrado horizontal del drawer cuando el menú está abierto === */
.vul-mega.is-centered .vul-mega__drawer{
  position: fixed;                 /* deja de anclarse al botón */
  left: 50%;
  transform: translateX(-50%);     /* centro horizontal */
  top: var(--drawer-top, 110px);   /* lo calcula el JS; 110px de respaldo */
  width: min(1280px, 96vw);        /* tu regla original, segura en móvil */
  max-height: 70vh;                /* mantiene tu límite */
}

/* (Opcional) en móvil mantenemos 96vw para que respire */
@media (max-width: 920px){
  .vul-mega.is-centered .vul-mega__drawer{
    width: 96vw;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-83ace1a *//* ====== VULTEC Cupones (v1.0) ====== */
.vul-coups{
  --vul-green: #23b14d;
  --vul-dark:  #121212;
  --vul-text:  #222;
  --vul-muted: #6b7280;
  --vul-bg:    #ffffff;
  --vul-edge:  #e5e7eb;
  --radius: 12px;
  --shadow: 0 8px 24px rgba(0,0,0,.12);
  --code-col: 150px;              /* ancho de la columna del código */
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
  position: relative;
}

/* Toggle */
.vul-coups__toggle{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:0; background:transparent !important; border:none !important;
  color:#000 !important; cursor:pointer; box-shadow:none !important;
  line-height:1; vertical-align:middle; position:relative; z-index:10001;
}
.vul-coups__toggle:focus{ outline:none !important; box-shadow:none !important; border:none !important; }
.vul-coups__iconwrap{ width:22px; height:22px; position:relative; display:inline-block; }
.vul-coups__icon{ position:absolute; inset:0; color:#000; transition:opacity .15s ease; }
.vul-coups__icon--close{ opacity:0; visibility:hidden; }
.vul-coups.is-open .vul-coups__icon--coupon{ opacity:0; visibility:hidden; }
.vul-coups.is-open .vul-coups__icon--close{ opacity:1; visibility:visible; }
.vul-coups__label{ font-size:18px; font-weight:600; color:#000; text-transform:none; }

/* Drawer base */
.vul-coups__drawer{
  position:absolute; left:0; top:calc(100% + 18px); z-index:9999;
  width:min(1280px,96vw); background:var(--vul-bg); border:1px solid var(--vul-edge);
  border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden;
  max-height:70vh;
}
.vul-coups__inner{ display:flex; flex-direction:column; height:100%; background:#fff; }

/* Centrado cuando está abierto (igual que Categorías centrado) */
.vul-coups.is-centered .vul-coups__drawer{
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: var(--coups-drawer-top, 110px);
}

/* Header negro */
.vul-coups__panelHead{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; background:#000; color:#fff;
  border-radius:10px; margin:16px 18px 12px;
}
.vul-coups__panelTitle{ margin:0; font-size:32px; font-weight:900; letter-spacing:.4px; }

/* Grid de cupones */
.vul-coups__grid{
  flex:1 1 auto; overflow:auto;
  display:grid; gap:16px;
  grid-template-columns: repeat(3, minmax(0,1fr));
  padding:0 18px 18px;
}

/* Tarjeta con forma de cupón */
.vul-coups__card{
  position:relative; background:#fff; border:1px solid var(--vul-edge);
  border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.06);
  display:grid; grid-template-columns: var(--code-col) 1fr; column-gap:16px;
  padding:14px 16px; align-items:center;
}

/* muescas laterales */
.vul-coups__card::before,
.vul-coups__card::after{
  content:""; position:absolute; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 1px var(--vul-edge) inset;
}
.vul-coups__card::before{ left:-9px; }
.vul-coups__card::after { right:-9px; }

/* línea perforada vertical */
.vul-coups__cut{
  position:absolute; top:10px; bottom:10px; left: calc(var(--code-col) + 8px);
  width:0; border-left:1.5px dashed var(--vul-edge);
}

/* Columna izquierda: código + botón copiar */
.vul-coups__codebox{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.vul-coups__code{
  display:inline-block; background:#f7f7f8; color:#111; font-weight:800; letter-spacing:.6px;
  border:1px dashed var(--vul-edge); border-radius:8px; padding:6px 10px; font-size:14px;
}
.vul-coups__copy{
  background:#fff; border:1px solid var(--vul-edge); border-radius:8px;
  padding:6px 10px; font-size:13px; font-weight:700; cursor:pointer;
  transition:all .15s ease;
}
.vul-coups__copy:hover{ border-color:#cfd3d9; transform:translateY(-1px); }
.vul-coups__copy.is-copied{ background:var(--vul-green); color:#fff; border-color:var(--vul-green); }

/* Columna derecha: info */
.vul-coups__info{}
.vul-coups__benefit{ margin:0 0 4px; font-size:15px; font-weight:700; color:var(--vul-dark); }
.vul-coups__expires{ margin:0; font-size:13px; color:var(--vul-muted); }

/* Overlay */
.vul-coups__overlay{
  position: fixed; inset: 0; background:#000; opacity:.28; z-index:9990;
}
.vul-coups__overlay[hidden]{ display:none; }

/* Responsive */
@media (max-width: 1200px){
  .vul-coups__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 920px){
  .vul-coups.is-centered .vul-coups__drawer{ width:96vw; }
  .vul-coups__panelTitle{ font-size:26px; }
}
@media (max-width: 560px){
  .vul-coups__grid{ grid-template-columns: 1fr; }
  .vul-coups__card{ grid-template-columns: 1fr; padding:14px; }
  .vul-coups__cut{ display:none; }
  .vul-coups__codebox{ flex-direction:row; align-items:center; gap:10px; margin-bottom:6px; }
}

/* === CUPONES: Título como HERRAMIENTAS === */
.vul-coups .vul-coups__panelHead{
  background:#000 !important; color:#fff !important;
  padding:16px 18px; border-radius:10px; margin:16px 18px 12px;
}
.vul-coups .vul-coups__panelTitle{
  margin:0; color:#fff !important;
  font-size:44px !important; font-weight:900 !important; line-height:1.1;
  letter-spacing:.4px; text-transform:uppercase;
}
@media (max-width:1200px){
  .vul-coups .vul-coups__panelTitle{ font-size:38px !important; }
}
@media (max-width:920px){
  .vul-coups .vul-coups__panelTitle{ font-size:30px !important; }
}

/* === CUPONES: borde discontinuo en la tarjeta === */
.vul-coups__card{
  border:1.5px dashed var(--vul-edge) !important; /* antes sólido */
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
/* muescas laterales con el mismo grosor */
.vul-coups__card::before,
.vul-coups__card::after{
  box-shadow:0 0 0 1.5px var(--vul-edge) inset;
}

/* Línea perforada de separación dentro del cupón (mantener) */
.vul-coups__cut{
  border-left:1.5px dashed var(--vul-edge);
}

/* === Botón Copiar más visible === */
.vul-coups__copy{
  background: var(--vul-green) !important;
  color:#fff !important;
  border:1px solid var(--vul-green) !important;
  border-radius:999px;
  padding:8px 14px;
  font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.4px;
  box-shadow:0 6px 14px rgba(35,177,77,.25);
  cursor:pointer; transition:transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.vul-coups__copy:hover{ transform:translateY(-1px); filter:brightness(.95); }
.vul-coups__copy.is-copied{
  background:#16a34a !important; border-color:#16a34a !important; box-shadow:none;
}

/* Código dentro del cupón (lo dejamos marcado) */
.vul-coups__code{
  border:1.5px dashed var(--vul-edge);
  background:#fff;
  font-weight:900; letter-spacing:.6px;
}

/* === Scroll vertical garantizado con muchos cupones === */
.vul-coups__drawer{ max-height:70vh; overflow:hidden; }         /* contenedor exterior */
.vul-coups__inner{ display:flex; flex-direction:column; height:100%; min-height:0; }
.vul-coups__grid{ flex:1 1 auto; overflow:auto; min-height:0; }  /* el scroll ocurre aquí */

/* (Opcional) scroll más suave y fino */
.vul-coups__grid{ scroll-behavior:smooth; }
.vul-coups__grid::-webkit-scrollbar{ height:8px; width:8px; }
.vul-coups__grid::-webkit-scrollbar-thumb{ background:#cfd3d9; border-radius:8px; }

/* ====== VULTEC Cupones (v1.1) ====== */
.vul-coups{
  --vul-green: #23b14d;
  --vul-dark:  #121212;
  --vul-text:  #222;
  --vul-muted: #6b7280;
  --vul-bg:    #ffffff;
  --vul-edge:  #e5e7eb;
  --radius: 12px;
  --shadow: 0 8px 24px rgba(0,0,0,.12);
  --code-col: 180px; /* ancho de la columna del código */
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
  position: relative;
}

/* Toggle */
.vul-coups__toggle{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:0; background:transparent !important; border:none !important;
  color:#000 !important; cursor:pointer; box-shadow:none !important;
  line-height:1; vertical-align:middle; position:relative; z-index:10001;
}
.vul-coups__label{ font-size:18px; font-weight:600; color:#000; text-transform:none; }
.vul-coups__iconwrap{ width:22px; height:22px; position:relative; display:inline-block; }
.vul-coups__icon{ position:absolute; inset:0; color:#000; transition:opacity .15s ease; }
.vul-coups__icon--close{ opacity:0; visibility:hidden; }
.vul-coups.is-open .vul-coups__icon--gift{ opacity:0; visibility:hidden; }
.vul-coups.is-open .vul-coups__icon--close{ opacity:1; visibility:visible; }

/* Drawer base y centrado */
.vul-coups__drawer{
  position:absolute; left:0; top:calc(100% + 18px); z-index:9999;
  width:min(1280px,96vw); background:var(--vul-bg); border:1px solid var(--vul-edge);
  border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; max-height:70vh;
}
.vul-coups__inner{ display:flex; flex-direction:column; height:100%; background:#fff; }
.vul-coups.is-centered .vul-coups__drawer{
  position: fixed; left:50%; transform:translateX(-50%); top: var(--coups-drawer-top, 110px);
}

/* Header igual a HERRAMIENTAS */
.vul-coups__panelHead{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; background:#000; color:#fff; border-radius:10px; margin:16px 18px 12px;
}
.vul-coups__panelTitle{ margin:0; color:#fff; font-size:44px !important; font-weight:900; line-height:1.1; letter-spacing:.4px; }
@media (max-width:1200px){ .vul-coups__panelTitle{ font-size:38px !important; } }
@media (max-width:920px){ .vul-coups__panelTitle{ font-size:30px !important; } }

/* Grid lista con scroll al crecer */
.vul-coups__grid{
  flex:1 1 auto; overflow:auto; min-height:0;
  display:grid; gap:16px; grid-template-columns: 1fr; /* 1 columna para lectura limpia */
  padding:0 18px 18px;
}

/* Card con borde DISCONTINUO y línea perforada */
.vul-coups__card{
  position:relative; background:#fff; border:2px dashed #d7dbe2; /* borde discontinuo visible */
  border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.06);
  display:grid; grid-template-columns: var(--code-col) 1fr; column-gap:16px;
  padding:14px 16px; align-items:center;
}
.vul-coups__card::before,
.vul-coups__card::after{
  content:""; position:absolute; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:50%; background:#fff;
  box-shadow:0 0 0 2px #d7dbe2 inset;
}
.vul-coups__card::before{ left:-9px; }
.vul-coups__card::after { right:-9px; }

.vul-coups__cut{ position:absolute; top:12px; bottom:12px; left: calc(var(--code-col) + 8px);
  width:0; border-left:2px dashed #d7dbe2; }

/* Columna izquierda: CÓDIGO muy visible y botón pequeño rectangular */
.vul-coups__codebox{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.vul-coups__code{
  display:inline-block; background:#fff; color:#111; font-weight:900; letter-spacing:.8px;
  border:2px dashed #d7dbe2; border-radius:10px; padding:8px 12px; font-size:22px; line-height:1;
}
.vul-coups__copy{
  background:#fff; color:#111; border:1px solid #cfd3d9; border-radius:6px;
  padding:6px 10px; font-size:12px; font-weight:800; text-transform:none; letter-spacing:.2px;
  cursor:pointer; transition:all .15s ease; box-shadow:0 2px 6px rgba(0,0,0,.06);
}
.vul-coups__copy:hover{ transform:translateY(-1px); border-color:#b9bec6; }
.vul-coups__copy.is-copied{
  background:#16a34a; color:#fff; border-color:#16a34a;
}

/* Columna derecha: textos */
.vul-coups__benefit{ margin:0 0 6px; font-size:16px; font-weight:700; color:var(--vul-dark); }
.vul-coups__expires{ margin:0; font-size:13px; color:var(--vul-muted); }

/* Overlay */
.vul-coups__overlay{ position: fixed; inset: 0; background:#000; opacity:.28; z-index:9990; }
.vul-coups__overlay[hidden]{ display:none; }

/* Responsive */
@media (max-width: 560px){
  .vul-coups__card{ grid-template-columns: 1fr; padding:14px; }
  .vul-coups__cut{ display:none; }
  .vul-coups__codebox{ flex-direction:row; align-items:center; gap:10px; margin-bottom:6px; }
}

/* ====== VULTEC Cupones (v1.2) ====== */
.vul-coups{
  --vul-green: #23b14d;
  --vul-dark:  #121212;
  --vul-text:  #222;
  --vul-muted: #6b7280;
  --vul-bg:    #ffffff;
  --vul-edge:  #d7dbe2;
  --radius: 12px;
  --shadow: 0 8px 24px rgba(0,0,0,.12);
  --code-col: 180px; /* ancho columna código+botón */
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
  position: relative;
}

/* Toggle */
.vul-coups__toggle{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:0; background:transparent !important; border:none !important;
  color:#000 !important; cursor:pointer; box-shadow:none !important;
  line-height:1; vertical-align:middle; position:relative; z-index:10001;
}
.vul-coups__label{ font-size:18px; font-weight:600; color:#000; text-transform:none; }
.vul-coups__iconwrap{ width:22px; height:22px; position:relative; display:inline-block; }
.vul-coups__icon{ position:absolute; inset:0; color:#000; transition:opacity .15s ease; }
.vul-coups__icon--close{ opacity:0; visibility:hidden; }
.vul-coups.is-open .vul-coups__icon--gift{ opacity:0; visibility:hidden; }
.vul-coups.is-open .vul-coups__icon--close{ opacity:1; visibility:visible; }

/* Drawer y centrado */
.vul-coups__drawer{
  position:absolute; left:0; top:calc(100% + 18px); z-index:9999;
  width:min(1280px,96vw); background:#fff; border:1px solid var(--vul-edge);
  border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; max-height:70vh;
}
.vul-coups__inner{ display:flex; flex-direction:column; height:100%; background:#fff; }
.vul-coups.is-centered .vul-coups__drawer{
  position: fixed; left:50%; transform:translateX(-50%); top: var(--coups-drawer-top, 110px);
}

/* Header igual a HERRAMIENTAS */
.vul-coups__panelHead{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; background:#000; color:#fff; border-radius:10px; margin:16px 18px 12px;
}
.vul-coups__panelTitle{ margin:0; color:#fff; font-size:44px !important; font-weight:900; line-height:1.1; letter-spacing:.4px; }
@media (max-width:1200px){ .vul-coups__panelTitle{ font-size:38px !important; } }
@media (max-width:920px){ .vul-coups__panelTitle{ font-size:30px !important; } }

/* GRID: 3/2/1 por fila según viewport */
.vul-coups__grid{
  flex:1 1 auto; overflow:auto; min-height:0;
  display:grid; gap:16px;
  grid-template-columns: repeat(3, minmax(0,1fr));   /* Desktop (1920) */
  padding:0 18px 18px;
}
@media (max-width:1200px){                                    /* Laptop 1366 */
  .vul-coups__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:920px){                                      /* Tablet */
  .vul-coups__grid{ grid-template-columns: 1fr; }
}

/* CARD con borde discontinuo y línea perforada */
.vul-coups__card{
  position:relative; background:#fff; border:2px dashed var(--vul-edge);
  border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.06);
  display:grid; grid-template-columns: var(--code-col) 1fr; column-gap:16px;
  padding:14px 16px; align-items:stretch; /* para centrar la columna izquierda con 100% alto */
}
.vul-coups__card::before,
.vul-coups__card::after{
  content:""; position:absolute; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:50%; background:#fff;
  box-shadow:0 0 0 2px var(--vul-edge) inset;
}
.vul-coups__card::before{ left:-9px; }
.vul-coups__card::after { right:-9px; }
.vul-coups__cut{
  position:absolute; top:12px; bottom:12px; left: calc(var(--code-col) + 8px);
  width:0; border-left:2px dashed var(--vul-edge);
}

/* Columna izquierda: código grande + botón pequeño CENTRADOS VERTICALMENTE */
.vul-coups__codebox{
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  gap:10px; height:100%;
}
.vul-coups__code{
  display:inline-block; background:#fff; color:#111; font-weight:900; letter-spacing:.8px;
  border:2px dashed var(--vul-edge); border-radius:10px; padding:8px 12px; font-size:22px; line-height:1;
}
.vul-coups__copy{
  background:#fff; color:#111; border:1px solid #cfd3d9; border-radius:6px;
  padding:6px 10px; font-size:12px; font-weight:800; text-transform:none; letter-spacing:.2px;
  cursor:pointer; transition:all .15s ease; box-shadow:0 2px 6px rgba(0,0,0,.06);
}
.vul-coups__copy:hover{ transform:translateY(-1px); border-color:#b9bec6; }
.vul-coups__copy.is-copied{ background:#16a34a; color:#fff; border-color:#16a34a; }

/* Columna derecha */
.vul-coups__benefit{ margin:0 0 6px; font-size:16px; font-weight:700; color:var(--vul-dark); }
.vul-coups__expires{ margin:0; font-size:13px; color:var(--vul-muted); }

/* Overlay */
.vul-coups__overlay{ position: fixed; inset: 0; background:#000; opacity:.28; z-index:9990; }
.vul-coups__overlay[hidden]{ display:none; }

/* Ocultar visualmente el mensaje "Código copiado" (accesible solo para lectores) */
.vul-coups__sr{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Móvil */
@media (max-width:560px){
  .vul-coups__card{ grid-template-columns: 1fr; padding:14px; }
  .vul-coups__cut{ display:none; }
  .vul-coups__codebox{ flex-direction:row; gap:10px; margin-bottom:6px; }
}

/* === FIX: Forzar Roboto en toda la sección Cupones (incluye el toggle) === */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700;800;900&display=swap');

.vul-coups,
.vul-coups *{
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

/* Refuerzo específico por si el tema aplica fuentes a botones/enlaces */
.vul-coups__toggle,
.vul-coups__toggle *{
  font-family: inherit !important;
  text-transform: none !important;   /* evita mayúsculas forzadas */
  letter-spacing: normal !important;
}/* End custom CSS */
/* Start custom CSS for woocommerce-menu-cart, class: .elementor-element-ed7c947 *//* Icono sin cápsula + tipografía Roboto solo en este widget */
.elementor-58850 .elementor-element.elementor-element-ed7c947 .elementor-menu-cart__toggle_button{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.elementor-58850 .elementor-element.elementor-element-ed7c947 .elementor-button-icon{ font-size: 25px; line-height: 1; }
.elementor-58850 .elementor-element.elementor-element-ed7c947{ font-family: "Roboto", Arial, Helvetica, sans-serif !important; }/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-3ddebfa *//* Altura mínima + centrado vertical, soporta Section y Container */
.elementor-58850 .elementor-element.elementor-element-3ddebfa { 
  --vh-header: 75px; /* ⇦ Ajusta el alto que quieras (desktop) */
}
@media (max-width: 768px){
  .elementor-58850 .elementor-element.elementor-element-3ddebfa { --vh-header: 68px; } /* alto en móvil */
}

/* Elementor “Section” tradicional */
.elementor-58850 .elementor-element.elementor-element-3ddebfa > .elementor-container{
  min-height: var(--vh-header);
  display: flex;
  align-items: center;
}
/* Elementor “Container (Flexbox)” */
.elementor-58850 .elementor-element.elementor-element-3ddebfa > .e-con,
.elementor-58850 .elementor-element.elementor-element-3ddebfa > .e-con-inner{
  min-height: var(--vh-header);
  display: flex;
  align-items: center;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0aa7958 *//* ===== BLOQUE 1 — TICKER INFINITO VULTEC (encapsulado) ===== */
.vultec-ticker-v5 {
  --vultec-bg: #3A3A3A;          /* verde de barra (ajustable) */
  --vultec-text: #fff;        /* texto */
  --vultec-gap: 42px;            /* separación entre ítems */
  --vultec-font: 14px;           /* tamaño base desktop */
  --vultec-height: 30px;         /* alto de la barra */
  width: 100%;
  background: var(--vultec-bg);
  color: var(--vultec-text);
  overflow: hidden;
  position: relative;
  line-height: 1;
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
}

.vultec-ticker-v5__track {
  display: flex;
  align-items: center;
  height: var(--vultec-height);
  /* La animación usa la duración calculada en JS */
  animation: vultec-ticker-move linear infinite;
  animation-duration: var(--vultec-ticker-duration, 120s);
  will-change: transform;
}

.vultec-ticker-v5__track.--paused,
.vultec-ticker-v5:hover .vultec-ticker-v5__track {
  animation-play-state: paused;
}

.vultec-ticker-v5__group {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--vultec-gap);
  padding-inline: 16px; /* pequeño respiro en extremos para que no se "corte" visualmente */
}

.vultec-ticker-v5__item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: var(--vultec-font);
  font-weight: 600;
  letter-spacing: .2px;
}

/* Animación: mueve exactamente el ancho del primer grupo para que el bucle sea perfecto */
@keyframes vultec-ticker-move {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%); /* 50% funciona porque duplicamos el grupo (y JS puede añadir más) */
  }
}

/* Responsive fino */
@media (max-width: 1024px) {
  .vultec-ticker-v5 {
    --vultec-font: 13px;
    --vultec-height: 38px;
    --vultec-gap: 32px;
  }
}

@media (max-width: 768px) {
  .vultec-ticker-v5 {
    --vultec-font: 12.5px;
    --vultec-height: 36px;
    --vultec-gap: 28px;
  }
}

/* Roboto solo para el ticker */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700;800;900&display=swap');

.vultec-ticker-v5,
.vultec-ticker-v5 *{
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

/* ===== BLOQUE 1 — TICKER INFINITO VULTEC (parches de espaciado) ===== */
.vultec-ticker-v5{
  --ico-gap: 8px; /* espacio entre ícono y texto */
}

/* Asegura alineación y gap consistente */
.vultec-ticker-v5__item{
  display:inline-flex;
  align-items:center;
  gap: var(--ico-gap);
}

/* El ícono (emoji) se trata como una “cajita” para que no se pegue */
.vultec-ticker-v5__ico{
  display:inline-grid;
  place-items:center;
  line-height:1;
  font-size:1em;       /* hereda tamaño del texto */
  transform: translateY(0.5px); /* micro-ajuste de baseline si hiciera falta */
}

/* (Opcional) en pantallas pequeñas reduce un pelín el gap */
@media (max-width: 768px){
  .vultec-ticker-v5{ --ico-gap: 6px; }
}/* End custom CSS */