/* ==========================================================================
   Iberoti — tienda TPV/POS
   Fichas técnicas + captación de leads · cabecera de gama · filtros
   ========================================================================== */

:root{
  --iti-rojo:#e2001a;
  --iti-rojo-osc:#b80016;
  --iti-tinta:#16191d;
  --iti-texto:#3d4750;
  --iti-suave:#6b7580;
  --iti-linea:#e4e8ec;
  --iti-fondo:#f7f9fb;
  --iti-radio:10px;
  --iti-sombra:0 1px 2px rgba(16,24,32,.04), 0 6px 20px rgba(16,24,32,.06);
}

/* ==========================================================================
   1. Ficha técnica en PDF (captación de lead)
   ========================================================================== */
.iti-ficha-box{
  margin:26px 0 12px;padding:22px;max-width:660px;
  background:#fff;border:1px solid var(--iti-linea);
  border-radius:var(--iti-radio);box-shadow:var(--iti-sombra);
}
.iti-ficha-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.iti-ficha-ico{
  flex:0 0 42px;height:42px;border-radius:9px;background:#fdeaec;
  display:flex;align-items:center;justify-content:center;font-size:20px;
}
.iti-ficha-head strong{display:block;font-size:16px;color:var(--iti-tinta);margin-bottom:3px;line-height:1.3}
.iti-ficha-head > div > span{display:block;font-size:13.5px;color:var(--iti-suave);line-height:1.5}

.iti-ficha-btn,.iti-ficha-enviar{
  background:var(--iti-rojo);color:#fff;border:0;border-radius:6px;cursor:pointer;
  padding:13px 26px;font-size:15px;font-weight:600;line-height:1.2;
  transition:background .15s ease,transform .05s ease;
}
.iti-ficha-btn:hover,.iti-ficha-enviar:hover{background:var(--iti-rojo-osc);color:#fff}
.iti-ficha-btn:active,.iti-ficha-enviar:active{transform:translateY(1px)}
.iti-ficha-enviar[disabled]{background:#9aa3ad;cursor:default;transform:none}

.iti-ficha-form{margin-top:18px;border-top:1px solid var(--iti-linea);padding-top:18px}
.iti-ficha-intro{margin:0 0 16px;font-size:14px;color:var(--iti-texto);line-height:1.55}
.iti-ficha-form label{display:block;margin-bottom:13px;font-size:13px;font-weight:600;color:var(--iti-tinta)}
.iti-ficha-form input[type=text],
.iti-ficha-form input[type=email],
.iti-ficha-form input[type=tel]{
  width:100%;margin-top:6px;padding:11px 13px;border:1px solid #cfd6dd;border-radius:6px;
  font-size:15px;font-weight:400;background:#fff;color:var(--iti-tinta);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.iti-ficha-form input:focus{
  outline:0;border-color:var(--iti-rojo);box-shadow:0 0 0 3px rgba(226,0,26,.12);
}
.iti-ficha-check{
  display:flex;gap:9px;align-items:flex-start;
  font-weight:400!important;font-size:12.5px;color:var(--iti-suave);line-height:1.5;
}
.iti-ficha-check input{margin-top:2px;flex:0 0 auto;accent-color:var(--iti-rojo)}
.iti-ficha-check a{color:var(--iti-rojo);text-decoration:underline}

.iti-ficha-msg{margin-top:13px;font-size:14px;line-height:1.5}
.iti-ficha-msg.ok{color:#137333;font-weight:600}
.iti-ficha-msg.err{color:#c5221f;font-weight:600}

/* Ficha técnica dentro de la descripción larga */
.iti-tec-tit{
  margin:34px 0 14px;font-size:21px;color:var(--iti-tinta);font-weight:600;
  padding-bottom:10px;border-bottom:2px solid var(--iti-linea);
}
.iti-tec table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14.5px}
.iti-tec table td,.iti-tec table th{
  border:1px solid var(--iti-linea);padding:9px 12px;text-align:left;vertical-align:top;
}
.iti-tec table tr:nth-child(odd) td{background:var(--iti-fondo)}
.iti-tec ul{margin:0 0 18px;padding-left:20px}
.iti-tec li{margin-bottom:5px;line-height:1.6}

/* ==========================================================================
   2. Cabecera de gama (categorías)
   ========================================================================== */
.tax-product_cat .woocommerce-products-header__title,
.tax-product_cat .page-title,
.tax-product_cat .term-description{display:none!important}

.iti-gama{
  display:flex;gap:32px;align-items:center;margin:0 0 34px;padding:28px 32px;
  background:linear-gradient(135deg,#f8fafc 0%,#eef1f5 100%);
  border:1px solid var(--iti-linea);border-radius:14px;
}
.iti-gama-img{flex:0 0 210px;max-width:210px}
.iti-gama-img img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.iti-gama-txt{flex:1 1 auto;min-width:0}
.iti-gama-tit{margin:0 0 11px;font-size:32px;line-height:1.12;color:var(--iti-tinta);font-weight:600}
.iti-gama-desc{font-size:15px;line-height:1.62;color:var(--iti-texto);margin-bottom:16px;max-width:68ch}
.iti-gama-desc p{margin:0 0 8px}
.iti-gama-meta{display:flex;flex-wrap:wrap;gap:8px}
.iti-gama-meta span{
  background:#fff;border:1px solid #dfe4e9;border-radius:20px;
  padding:6px 15px;font-size:12.5px;color:var(--iti-texto);font-weight:500;
}
.iti-gama-meta small{color:#9aa3ad;font-weight:400}

/* ==========================================================================
   3. Tienda: barra de filtros + rejilla de productos
   ========================================================================== */
.iti-tienda-wrap{display:flex;gap:32px;align-items:flex-start;margin-top:6px}
.iti-tienda-col{flex:1 1 auto;min-width:0}

.iti-filtros{
  flex:0 0 250px;max-width:250px;background:#fff;
  border:1px solid var(--iti-linea);border-radius:var(--iti-radio);
  padding:20px;font-size:14px;position:sticky;top:24px;box-shadow:var(--iti-sombra);
}
.iti-filtros form{margin:0}

.iti-f-cab{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:13px;margin-bottom:16px;border-bottom:1px solid var(--iti-linea);
}
.iti-f-cab strong{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--iti-tinta)}
.iti-f-limpiar{font-size:12.5px;color:var(--iti-rojo);text-decoration:none;border-bottom:1px solid currentColor}
.iti-f-limpiar:hover{color:var(--iti-rojo-osc)}

.iti-f-activos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.iti-chip{
  display:inline-flex;align-items:center;gap:5px;
  background:#fdeaec;border:1px solid #f6c9ce;color:#c5001a;border-radius:16px;
  padding:4px 11px;font-size:12px;text-decoration:none;line-height:1.5;
}
.iti-chip:hover{background:#f9d5d9;color:#a10015}

.iti-f-bloque{margin-bottom:22px}
.iti-f-bloque h4{
  margin:0 0 11px;font-size:11.5px;text-transform:uppercase;
  letter-spacing:.09em;color:var(--iti-suave);font-weight:700;
}

.iti-f-precio{display:flex;align-items:center;gap:7px;margin-bottom:10px}
.iti-f-precio input{
  width:100%;padding:8px 10px;border:1px solid #cfd6dd;border-radius:6px;
  font-size:13.5px;color:var(--iti-tinta);
}
.iti-f-precio input:focus{outline:0;border-color:var(--iti-rojo);box-shadow:0 0 0 3px rgba(226,0,26,.1)}
.iti-f-precio span{color:#9aa3ad;flex:0 0 auto}

.iti-f-rapido{display:flex;flex-wrap:wrap;gap:6px}
.iti-f-rapido a{
  font-size:12px;background:var(--iti-fondo);border:1px solid #e1e6ea;border-radius:14px;
  padding:5px 11px;color:var(--iti-texto);text-decoration:none;line-height:1.4;
  transition:background .12s ease,color .12s ease,border-color .12s ease;
}
.iti-f-rapido a:hover{background:var(--iti-tinta);border-color:var(--iti-tinta);color:#fff}

/* Listas de marca/categoría — sin las viñetas que impone el tema */
.iti-filtros ul,.iti-filtros li{list-style:none!important;margin-left:0!important;padding-left:0!important}
.iti-filtros li:before{display:none!important;content:none!important}
.iti-f-lista{margin:0;padding:0}
.iti-f-lista li{margin:0 0 2px}
.iti-f-lista label{
  display:flex;align-items:center;gap:9px;cursor:pointer;margin:0;
  padding:6px 8px;border-radius:6px;font-size:13.5px;color:var(--iti-texto);font-weight:400;
  transition:background .12s ease;
}
.iti-f-lista label:hover{background:var(--iti-fondo)}
.iti-f-lista input{flex:0 0 auto;margin:0;accent-color:var(--iti-rojo);width:15px;height:15px}
.iti-f-lista span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iti-f-lista em{
  font-style:normal;color:var(--iti-suave);font-size:11.5px;font-weight:500;
  background:var(--iti-fondo);border-radius:10px;padding:1px 7px;flex:0 0 auto;
}
.iti-f-scroll{max-height:264px;overflow-y:auto;padding-right:3px}
.iti-f-scroll::-webkit-scrollbar{width:6px}
.iti-f-scroll::-webkit-scrollbar-thumb{background:#d5dbe1;border-radius:3px}

.iti-f-oferta{
  display:flex;align-items:center;gap:9px;cursor:pointer;margin:0;
  font-size:13.5px;color:var(--iti-texto);font-weight:400;
  padding:9px 11px;background:var(--iti-fondo);border-radius:7px;
}
.iti-f-oferta input{accent-color:var(--iti-rojo);width:15px;height:15px;margin:0}

.iti-f-aplicar{
  width:100%;background:var(--iti-tinta);color:#fff;border:0;border-radius:6px;
  padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease;
}
.iti-f-aplicar:hover{background:#000;color:#fff}

.iti-filtros-toggle{
  display:none;width:100%;margin-bottom:16px;background:var(--iti-tinta);color:#fff;
  border:0;border-radius:6px;padding:13px;font-size:15px;font-weight:600;cursor:pointer;
}

/* Barra superior: nº de resultados + orden */
.iti-tienda-col .woocommerce-result-count{
  float:none!important;display:inline-block;margin:0 0 20px;font-size:14px;color:var(--iti-suave);
}
.iti-tienda-col .woocommerce-ordering{
  float:right!important;display:inline-block;margin:0 0 20px;vertical-align:middle;
}
.iti-tienda-col .woocommerce-ordering select{
  padding:8px 11px;border:1px solid #cfd6dd;border-radius:6px;font-size:13.5px;background:#fff;
}

/* Rejilla: Divi impone 4 columnas con floats, se sustituye por grid */
.iti-tienda-col ul.products{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px 26px;margin:0!important;padding:0!important;list-style:none!important;clear:both;
}
.iti-tienda-col ul.products:before,
.iti-tienda-col ul.products:after{display:none!important;content:none!important}

.iti-tienda-col ul.products li.product{
  width:100%!important;margin:0!important;padding:16px!important;
  float:none!important;clear:none!important;display:flex!important;flex-direction:column;
  background:#fff;border:1px solid var(--iti-linea);border-radius:var(--iti-radio);
  position:relative;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
.iti-tienda-col ul.products li.product:hover{
  box-shadow:var(--iti-sombra);transform:translateY(-2px);border-color:#d3dae0;
}
.iti-tienda-col ul.products li.product:before{display:none!important;content:none!important}

.iti-tienda-col ul.products li.product a img{
  width:100%;height:190px;object-fit:contain;margin:0 0 14px;background:#fff;
}
.iti-tienda-col ul.products li.product h2,
.iti-tienda-col ul.products li.product .woocommerce-loop-product__title{
  font-size:14.5px!important;line-height:1.42!important;font-weight:500!important;
  color:var(--iti-tinta)!important;margin:0 0 10px!important;padding:0!important;
}
.iti-tienda-col ul.products li.product .price{
  font-size:17px!important;font-weight:700;color:var(--iti-tinta)!important;
  margin:auto 0 0!important;padding:0;display:block;
}
.iti-tienda-col ul.products li.product .price del{
  color:#9aa3ad!important;font-weight:400;font-size:13.5px;margin-right:7px;opacity:1;
}
.iti-tienda-col ul.products li.product .price ins{
  text-decoration:none;background:transparent;color:var(--iti-rojo)!important;font-weight:700;
}

/* Distintivo de oferta: en la esquina, con el rojo de la marca */
.iti-tienda-col ul.products li.product .onsale{
  background:var(--iti-rojo)!important;color:#fff!important;border:0!important;
  border-radius:14px!important;font-size:11.5px!important;font-weight:600!important;
  letter-spacing:.03em;padding:4px 12px!important;min-height:0!important;min-width:0!important;
  line-height:1.6!important;top:14px!important;left:auto!important;right:14px!important;
  margin:0!important;position:absolute!important;z-index:2;
}

.iti-sin-resultados{
  padding:30px;background:var(--iti-fondo);border:1px solid var(--iti-linea);
  border-radius:var(--iti-radio);font-size:15px;color:var(--iti-texto);
}
.iti-sin-resultados a{color:var(--iti-rojo);text-decoration:underline}

/* Paginación */
.iti-tienda-col .woocommerce-pagination{margin-top:34px;clear:both}
.iti-tienda-col .woocommerce-pagination ul{
  display:flex;gap:7px;border:0!important;list-style:none!important;padding:0!important;margin:0!important;
}
.iti-tienda-col .woocommerce-pagination li{border:0!important;margin:0!important}
.iti-tienda-col .woocommerce-pagination a,
.iti-tienda-col .woocommerce-pagination span{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;
  border:1px solid var(--iti-linea);border-radius:7px;background:#fff;
  color:var(--iti-texto);font-size:14px;text-decoration:none;padding:0 10px;
}
.iti-tienda-col .woocommerce-pagination a:hover{border-color:var(--iti-tinta);color:var(--iti-tinta)}
.iti-tienda-col .woocommerce-pagination .current{
  background:var(--iti-tinta);border-color:var(--iti-tinta);color:#fff;font-weight:600;
}

/* ==========================================================================
   4. Pantallas pequeñas
   ========================================================================== */
@media (max-width:1200px){
  .iti-tienda-col ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .iti-tienda-wrap{flex-direction:column;gap:0}
  .iti-filtros{position:static;flex:1 1 auto;max-width:none;width:100%;display:none;margin-bottom:20px}
  .iti-filtros.abierto{display:block}
  .iti-filtros-toggle{display:block}
  .iti-tienda-col{width:100%}
}
@media (max-width:781px){
  .iti-gama{flex-direction:column;gap:18px;text-align:center;padding:24px 20px}
  .iti-gama-img{flex:0 0 auto;max-width:170px;margin:0 auto}
  .iti-gama-tit{font-size:25px}
  .iti-gama-desc{margin-left:auto;margin-right:auto}
  .iti-gama-meta{justify-content:center}
  .iti-ficha-box{padding:18px 16px}
}
@media (max-width:560px){
  .iti-tienda-col ul.products{grid-template-columns:1fr;gap:24px}
  .iti-tienda-col ul.products li.product a img{height:170px}
  .iti-tienda-col .woocommerce-ordering{float:none!important;display:block}
}

/* ==========================================================================
   5. Mega-menú (Divi) — aspecto moderno
   ========================================================================== */
#top-menu li.mega-menu > ul.sub-menu{
  padding:32px 26px 28px!important;
  background:linear-gradient(180deg,#0f1620 0%,#0a1017 100%)!important;
  border-top:2px solid var(--iti-rojo)!important;
  box-shadow:0 24px 50px rgba(0,0,0,.45)!important;
  display:flex!important;flex-wrap:nowrap!important;align-items:flex-start;gap:0;
}
/* Cada columna: mismo ancho y sin el 25% con float de Divi */
#top-menu li.mega-menu > ul.sub-menu > li{
  flex:1 1 0!important;width:auto!important;min-width:0;
  float:none!important;clear:none!important;
  padding:0 18px!important;margin:0!important;
  border-right:1px solid rgba(255,255,255,.07)!important;border-left:0!important;
}
#top-menu li.mega-menu > ul.sub-menu > li:last-child{border-right:0!important}
/* Divi fuerza saltos de fila cada 4 columnas: se anulan */
#top-menu li.mega-menu > ul.sub-menu > li:nth-child(4n+1){clear:none!important}
#top-menu li.mega-menu > ul.sub-menu:before,
#top-menu li.mega-menu > ul.sub-menu:after{display:none!important;content:none!important}

/* Título de columna */
#top-menu li.mega-menu > ul.sub-menu > li > a{
  font-size:11.5px!important;font-weight:700!important;letter-spacing:.11em!important;
  text-transform:uppercase!important;color:#5ec8f5!important;
  padding:0 0 11px!important;margin-bottom:10px!important;width:auto!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
}
#top-menu li.mega-menu > ul.sub-menu > li > a:hover{color:#8adcff!important;opacity:1!important}

/* Enlaces de la columna */
#top-menu li.mega-menu > ul.sub-menu > li > ul.sub-menu{padding:0!important;width:auto!important}
#top-menu li.mega-menu > ul.sub-menu > li > ul.sub-menu > li{
  padding:0!important;margin:0!important;width:auto!important;float:none!important;
}
#top-menu li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > a{
  font-size:13.5px!important;color:#c3ced9!important;
  padding:7px 11px!important;margin:1px 0!important;border-radius:7px;
  display:block!important;line-height:1.45!important;width:auto!important;
  transition:background .14s ease,color .14s ease,padding-left .14s ease;
}
#top-menu li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > a:hover{
  background:rgba(255,255,255,.09)!important;color:#fff!important;
  padding-left:16px!important;opacity:1!important;
}

/* "Ofertas y Packs" destacado */
#top-menu li.mega-menu a[href*="ofertas-packs"]{color:#ffd166!important;font-weight:600!important}
#top-menu li.mega-menu a[href*="ofertas-packs"]:hover{
  background:rgba(255,209,102,.15)!important;color:#ffe3ab!important;
}

@media (max-width:1100px){
  #top-menu li.mega-menu > ul.sub-menu{flex-wrap:wrap!important}
  #top-menu li.mega-menu > ul.sub-menu > li{
    flex:1 1 45%!important;border-right:0!important;margin-bottom:20px!important;
  }
}

/* La columna de tienda es la más larga: se reparte en 2 sub-columnas
   para que el menú no crezca en vertical. Se identifica por su item id. */
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116{flex:2 1 0!important}
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116 > ul.sub-menu{
  column-count:2;column-gap:14px;
}
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116 > ul.sub-menu > li{
  break-inside:avoid;-webkit-column-break-inside:avoid;
}
/* Destacado de Ofertas: el enlace lleva el emoji, se marca por su id */
#top-menu li.mega-menu li#menu-item-29115 > a{
  color:#ffd166!important;font-weight:600!important;
}
#top-menu li.mega-menu li#menu-item-29115 > a:hover{
  background:rgba(255,209,102,.15)!important;color:#ffe3ab!important;
}

/* Menú más ancho para que los textos no se partan en dos líneas */
#top-menu li.mega-menu > ul.sub-menu{
  width:min(1320px,96vw)!important;max-width:none!important;
  left:50%!important;transform:translateX(-50%)!important;right:auto!important;
}
#top-menu li.mega-menu > ul.sub-menu > li{padding:0 16px!important}
/* Reparto: WEB 1 · TIENDA 2 · APPS 1 · INFRA 1 · CONSULTORÍA 1 */
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116 > ul.sub-menu{column-gap:20px}
#top-menu li.mega-menu > ul.sub-menu > li > a{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#top-menu li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > a{
  font-size:13.5px!important;padding:6px 10px!important;
}

/* Reparto final de anchos: cada columna según lo que necesita su texto */
#top-menu li.mega-menu > ul.sub-menu > li{flex:1 1 auto!important;padding:0 14px!important}
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116{flex:2.2 1 auto!important}
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-237,
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29117,
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-271,
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-280{flex:1.15 1 auto!important}
/* Cabeceras de columna sin recortes */
#top-menu li.mega-menu > ul.sub-menu > li > a{
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  font-size:11px!important;letter-spacing:.08em!important;
}

/* Cabeceras de columna: siempre en UNA línea y a la misma altura */
#top-menu li.mega-menu > ul.sub-menu > li > a{
  white-space:nowrap!important;font-size:10.5px!important;letter-spacing:.06em!important;
  min-height:34px;display:flex!important;align-items:flex-start;
}
/* Un poco más de aire para las columnas con títulos largos */
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29117,
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-280{flex:1.3 1 auto!important}
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-271{flex:1.25 1 auto!important}
/* Enlaces: evitar cortes feos de palabra */
#top-menu li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > a{
  overflow-wrap:break-word;word-break:normal;hyphens:none;
}

/* ==========================================================================
   6. Panel de tienda dentro del mega-menú
   ========================================================================== */
/* La columna TIENDA pasa a contener el panel: se ocultan sus enlaces sueltos */
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116 > ul.sub-menu{display:none!important}
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116{
  flex:3.4 1 auto!important;padding:0 18px!important;
}

.iti-mm{display:flex;gap:22px;align-items:stretch;padding-top:4px}
.iti-mm-gamas{flex:1 1 auto;min-width:0}
.iti-mm-tit{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;
}
.iti-mm-tit span{
  font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#5ec8f5;
}
.iti-mm-tit a{
  font-size:11.5px;color:#8b97a4!important;text-decoration:none;padding:0!important;
  background:none!important;
}
.iti-mm-tit a:hover{color:#fff!important}

.iti-mm-rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.iti-mm-card{
  display:flex!important;align-items:center;gap:11px;
  padding:10px 12px!important;border-radius:9px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);
  text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease;
  line-height:1.3!important;
}
.iti-mm-card:hover{
  background:rgba(255,255,255,.09);border-color:rgba(94,200,245,.4);transform:translateY(-1px);
}
.iti-mm-ico{
  flex:0 0 34px;width:34px;height:34px;border-radius:9px;
  background:rgba(94,200,245,.13);color:#5ec8f5;
  display:flex;align-items:center;justify-content:center;
}
.iti-mm-ico svg{width:18px;height:18px}
.iti-mm-ico--mini{flex:0 0 30px;width:30px;height:30px;border-radius:8px}
.iti-mm-ico--mini svg{width:16px;height:16px}
.iti-mm-ico--oro{background:rgba(255,209,102,.15);color:#ffd166}

.iti-mm-card-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.iti-mm-card-txt strong{
  font-size:12.5px;color:#eef3f8;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.iti-mm-card-txt small{font-size:10.5px;color:#8b97a4;line-height:1.35}
.iti-mm-num{
  flex:0 0 auto;font-size:10.5px;color:#8b97a4;background:rgba(255,255,255,.07);
  border-radius:9px;padding:2px 7px;font-weight:600;
}
.iti-mm-card:hover .iti-mm-num{background:rgba(94,200,245,.2);color:#bfe6fb}

/* Lateral: oferta + accesos de ayuda */
.iti-mm-lateral{flex:0 0 250px;max-width:250px;display:flex;flex-direction:column;gap:10px}
.iti-mm-oferta{
  display:block!important;padding:16px!important;border-radius:11px;text-decoration:none;
  background:linear-gradient(150deg,rgba(255,209,102,.14),rgba(226,0,26,.12));
  border:1px solid rgba(255,209,102,.28);transition:border-color .15s ease,transform .15s ease;
  line-height:1.4!important;
}
.iti-mm-oferta:hover{border-color:rgba(255,209,102,.55);transform:translateY(-1px)}
.iti-mm-oferta .iti-mm-ico{margin-bottom:9px}
.iti-mm-oferta strong{display:block;font-size:14px;color:#ffd97a;margin-bottom:4px;font-weight:700}
.iti-mm-oferta small{display:block;font-size:11.5px;color:#c3ced9;line-height:1.5;margin-bottom:9px}
.iti-mm-oferta em{font-style:normal;font-size:11.5px;color:#ffd166;font-weight:600}

.iti-mm-ayuda{
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);
  border-radius:11px;padding:7px;display:flex;flex-direction:column;gap:2px;
}
.iti-mm-fila{
  display:flex!important;align-items:center;gap:10px;padding:9px 10px!important;
  border-radius:8px;text-decoration:none;transition:background .14s ease;line-height:1.3!important;
}
a.iti-mm-fila:hover{background:rgba(255,255,255,.08)}
.iti-mm-fila > span:last-child{display:flex;flex-direction:column;min-width:0}
.iti-mm-fila strong{font-size:12.5px;color:#eef3f8;font-weight:600}
.iti-mm-fila small{font-size:10.5px;color:#8b97a4;line-height:1.35}
.iti-mm-fila--info{opacity:.85}
.iti-mm-fila--info .iti-mm-ico{background:rgba(255,255,255,.07);color:#9fb0c0}

@media (max-width:1400px){
  .iti-mm-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  .iti-mm{flex-direction:column}
  .iti-mm-lateral{flex:1 1 auto;max-width:none}
  .iti-mm-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* El panel vive dentro de un <li> de Divi: hay que neutralizar sus reglas
   (position absolute, anchos fijos y floats) para que el grid funcione. */
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116{
  position:relative!important;overflow:visible!important;
}
.iti-mm,.iti-mm *{float:none!important}
.iti-mm > *,.iti-mm-card,.iti-mm-fila,.iti-mm-oferta{position:relative!important}
.iti-mm{
  display:flex!important;width:100%!important;box-sizing:border-box;
}
.iti-mm-gamas,.iti-mm-lateral{box-sizing:border-box}
.iti-mm-rejilla{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
}
.iti-mm-card,.iti-mm-fila{
  width:auto!important;max-width:none!important;min-width:0!important;box-sizing:border-box;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  white-space:normal!important;writing-mode:horizontal-tb!important;
}
.iti-mm-oferta{
  width:auto!important;max-width:none!important;box-sizing:border-box;
  display:block!important;white-space:normal!important;
}
.iti-mm-card-txt{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  flex:1 1 auto!important;min-width:0!important;white-space:normal!important;
}
.iti-mm-ico{position:relative!important}
.iti-mm-card-txt strong,.iti-mm-card-txt small,
.iti-mm-fila strong,.iti-mm-fila small{display:block!important;width:auto!important}
/* Divi da line-height y padding a todos los <a> del menú: se anulan aquí */
#top-menu li.mega-menu .iti-mm a{
  padding:0;margin:0;border:0;background:none;line-height:1.3;
}
#top-menu li.mega-menu .iti-mm a.iti-mm-card{padding:10px 12px!important}
#top-menu li.mega-menu .iti-mm a.iti-mm-fila{padding:9px 10px!important}
#top-menu li.mega-menu .iti-mm a.iti-mm-oferta{padding:16px!important}

/* Divi fija width:200px a los contenedores del submenú: el panel debe ignorarlo */
#top-menu li.mega-menu .iti-mm,
#top-menu li.mega-menu .iti-mm-gamas,
#top-menu li.mega-menu .iti-mm-rejilla,
#top-menu li.mega-menu .iti-mm-tit,
#top-menu li.mega-menu .iti-mm-ayuda{
  width:100%!important;min-width:0!important;max-width:none!important;
}
#top-menu li.mega-menu .iti-mm-lateral{
  width:250px!important;min-width:250px!important;max-width:250px!important;flex:0 0 250px!important;
}
#top-menu li.mega-menu .iti-mm-gamas{flex:1 1 auto!important}

/* El <li> de la tienda ocupa todo el ancho del panel y el resto se reordena.
   Divi limita el ancho de los <li>: se fija por porcentaje del contenedor. */
#top-menu li.mega-menu > ul.sub-menu > li#menu-item-29116{
  flex:0 0 100%!important;width:100%!important;max-width:none!important;
  order:-1;border-right:0!important;
  padding:0 4px 20px!important;margin-bottom:18px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
#top-menu li.mega-menu > ul.sub-menu{flex-wrap:wrap!important}
#top-menu li.mega-menu > ul.sub-menu > li:not(#menu-item-29116){flex:1 1 0!important}
#top-menu li.mega-menu .iti-mm-gamas{
  flex:1 1 auto!important;width:auto!important;min-width:0!important;
}
#top-menu li.mega-menu .iti-mm-rejilla{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;width:auto!important;
}

/* ---- Panel del menú en móvil / tablet ---- */
@media (max-width:1300px){
  #top-menu li.mega-menu .iti-mm-rejilla{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:1024px){
  #top-menu li.mega-menu .iti-mm{flex-direction:column!important;gap:16px}
  #top-menu li.mega-menu .iti-mm-lateral{
    width:100%!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important;
  }
  #top-menu li.mega-menu .iti-mm-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* El menú móvil de Divi (#mobile_menu) apila todo en una columna */
#mobile_menu .iti-mm{display:block!important;padding:6px 0 10px}
#mobile_menu .iti-mm-rejilla{
  display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:100%!important;
}
#mobile_menu .iti-mm-lateral{
  width:100%!important;max-width:none!important;min-width:0!important;margin-top:14px;
}
#mobile_menu .iti-mm-card,
#mobile_menu .iti-mm-fila{width:100%!important}
#mobile_menu .iti-mm-tit{flex-wrap:wrap;gap:6px}
#mobile_menu li.menu-item-29116 > ul.sub-menu{display:none!important}

/* WhatsApp destacado en el panel de ayuda */
.iti-mm-ico--wa{background:rgba(37,211,102,.16)!important;color:#25d366!important}
a.iti-mm-fila--wa{
  background:rgba(37,211,102,.08)!important;border:1px solid rgba(37,211,102,.22);
}
a.iti-mm-fila--wa:hover{background:rgba(37,211,102,.16)!important;border-color:rgba(37,211,102,.45)}
a.iti-mm-fila--wa strong{color:#8ff0b4!important}

/* Consulta por WhatsApp en la ficha de producto */
.iti-wa-producto{
  display:flex;align-items:center;gap:13px;max-width:660px;
  margin:20px 0 4px;padding:14px 18px;text-decoration:none;
  background:#f2fdf6;border:1px solid #bfe9cf;border-radius:var(--iti-radio);
  transition:border-color .15s ease,background .15s ease,transform .12s ease;
}
.iti-wa-producto:hover{background:#e8fbef;border-color:#7fd6a0;transform:translateY(-1px)}
.iti-wa-ico{
  flex:0 0 42px;width:42px;height:42px;border-radius:11px;
  background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;
}
.iti-wa-ico svg{width:22px;height:22px}
.iti-wa-producto > span:last-child{display:flex;flex-direction:column;min-width:0}
.iti-wa-producto strong{font-size:15px;color:#0f6b35;font-weight:600;line-height:1.3}
.iti-wa-producto small{font-size:12.5px;color:#4a7a5e;line-height:1.45;margin-top:2px}
@media (max-width:560px){
  .iti-wa-producto{padding:13px 14px;gap:11px}
  .iti-wa-producto strong{font-size:14px}
}

/* ---- Aviso de IVA (precios de catálogo sin impuestos) ---- */
.iti-iva{
  font-size:.62em;
  font-weight:600;
  color:#6b7280;
  letter-spacing:.02em;
  white-space:nowrap;
  vertical-align:baseline;
}
.iti-nota-iva{
  margin:10px 0 0;
  padding:9px 12px;
  background:#f6f7f9;
  border-left:3px solid var(--iti-rojo,#e2001a);
  border-radius:4px;
  font-size:13.5px;
  line-height:1.45;
  color:#16191d;
}
.iti-nota-iva strong{color:var(--iti-rojo,#e2001a);}
.iti-nota-iva .woocommerce-Price-amount{font-weight:700;}

/* ---- Aviso de plazos de entrega en agosto (solo carrito/checkout) ---- */
.iti-aviso-agosto{
  margin:14px 0;
  padding:11px 14px;
  background:#fff8e6;
  border:1px solid #f0d489;
  border-left:3px solid #e0a500;
  border-radius:4px;
  font-size:13.5px;
  line-height:1.5;
  color:#5c4506;
}
.iti-aviso-agosto strong{color:#7a5c04;}
.iti-agosto-inline{
  display:inline-block;
  font-size:.85em;
  font-weight:600;
  color:#8a6400;
  white-space:nowrap;
}

/* ---- Peso del envío junto al método de envío (ver envio-peso.php) ---- */
.iti-envio-peso{
  display:inline-block;
  font-size:.85em;
  color:#6b7280;
  white-space:nowrap;
}
