.woocommerce div.product div.images img {
    height: auto !important;
    object-fit: contain !important;
}
#glightbox-body {
    display: none;
}
.glightbox-open {
    overflow: auto !important;
}
.woocommerce div.product div.images.woocommerce-product-gallery {
    min-width: 400px !important;
    max-width: 400px !important;
    margin: 0 auto !important;
    overflow: hidden; /* clave para que el zoom no se salga */

    & .product_image {
        max-width: 400px !important;
        overflow: hidden; /* seguridad extra */

       .base-product-gallery-main  img {
            min-width: 400px !important;
            transition: transform 0.4s ease; /* suavidad */
            transform-origin: center center;
            cursor: pointer!important;
        }
    }

    /* 👇 zoom al hacer hover */
	/* & .product_image:hover img {
		transform: scale(1.2);
	} */
}
p > img.emoji {
    max-width: 15px;
}
.base-product-gallery-main.splide .splide__slide {
	width: 100%!important;
	min-width: 100%!important;
}



.elementor-lightbox .elementor-lightbox-image {
    box-shadow: none !important;
}
.base-product-gallery-thumbnails .splide__list {
	justify-content: center;
}
.bt-layout-above .base-product-gallery-thumbnails {
	margin-bottom: 20px;
}
.kb-splide .splide__arrow:disabled {opacity: 0!important;display: none!important;}



@media (max-width: 1024px) {

    #glightbox-body {
        display: block;
    }
    .glightbox-open {
        overflow: hidden !important;
    }

    .woocommerce div.product div.images.woocommerce-product-gallery {
        min-width: 320px !important;
        max-width: 320px !important;
    }

    .woocommerce div.product div.images.woocommerce-product-gallery 
    .product_image {
        max-width: 320px !important;
    }

    .woocommerce div.product div.images.woocommerce-product-gallery 
    .product_image img {
        min-width: 320px !important;
    }
}


/* =========================
   MEGA CATS (DESKTOP)
========================= */

/* Contenedor general (oculto por defecto) */
.mega-cats {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.mega-cats.is-open { display: block; }

/* NO oscurecer el sitio */
.mega-cats__backdrop{
  position: absolute;
  inset: 0;
  background: transparent;
}

/* Panel */
.mega-cats__panel{
  position: absolute;
  top: var(--mega-top, 175px); /* JS lo ajusta al alto del header */
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 60px);
  max-width: 1200px;

  margin: 0 auto;
  margin-top: 50px; /* extra espacio bajo header */

  background: #fff;
  box-shadow: 0 15px 40px rgba(0,0,0,.12);
  border-top: 1px solid rgba(0,0,0,.06);
  border-radius: 10px;
}

.mega-cats__close{
  position: absolute;
  right: 14px;
  top: 10px;
  background: transparent;
  border: 0;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

/* Contenido: cols + promo */
.mega-cats__content{
  display: grid;
  grid-template-columns: 1fr 320px; /* menu + promo */
  gap: 30px;
  padding: 26px 30px;
}

/* Promo */
.mega-cats__promo{
  border-left: 1px solid rgba(0,0,0,.08);
  padding-left: 30px;
  display: flex;
  align-items: center;
}
.mega-cats__promo img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* ===== 2-panel dentro del área de menú ===== */
.mega-cats__cols{
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 26px;
  align-items: start;
}

/* Lista izquierda: padres */
.mega-cats__cols .mega-cats__menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  text-align: left;
}

.mega-cats__cols .mega-cats__menu > li{
  margin: 0;
  padding: 0;
}

/* Link padre */
.mega-cats__cols .mega-cats__menu > li > a{
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;

  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;

  color: #111;
}

/* Indicador */
.mega-cats__cols .mega-cats__menu > li > a::after{
  content: "›";
  opacity: .6;
  transition: transform .2s ease, opacity .2s ease;
}

/* Activo */
.mega-cats__cols .mega-cats__menu > li.is-active > a{
  background: rgba(0,0,0,.06);
}
.mega-cats__cols .mega-cats__menu > li.is-active > a::after{
  transform: translateX(2px);
  opacity: .9;
}

/* Ocultamos los submenus dentro de la columna izquierda */
.mega-cats__cols .mega-cats__menu > li > ul{
  display: none !important;
}

/* Panel derecho: hijas */
.mega-cats__children{
  min-height: 220px;
  text-align: left;
}

/* UL clonado al panel derecho */
.mega-cats__children > ul{
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 10px 18px;

  max-height: min(420px, calc(100vh - 260px));
  overflow: auto;
  padding-right: 6px;
}

/* Links hijas */
.mega-cats__children a{
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  text-decoration: none;
  color: #444;
  font-weight: 400;
  opacity: .92;
}
.mega-cats__children a:hover{
  opacity: 1;
  background: rgba(0,0,0,.04);
  color: #000;
}

/* Mensaje si no hay hijos */
.mega-cats__empty{
  padding: 10px 0;
  color: #666;
}

/* Resaltar el item del menú principal cuando el mega menú esté abierto */
html.mega-cats-open .menu_categorias_menu > a,
html.mega-cats-open a.menu_categorias_menu {
  color: #000 !important;
  position: relative;
}
html.mega-cats-open .menu_categorias_menu > a::after,
html.mega-cats-open a.menu_categorias_menu::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: currentColor;
  opacity: .9;
}

/* Responsive */
@media (max-width: 992px){
  .mega-cats__content{ grid-template-columns: 1fr; }
  .mega-cats__promo{ display:none; }

  .mega-cats__cols{
    grid-template-columns: 1fr;
  }

  .mega-cats__children > ul{
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    max-height: 360px;
  }
}
@media (max-width: 520px){
  .mega-cats__children > ul{
    grid-template-columns: 1fr;
    max-height: 320px;
  }
}

/* =========================
   MOBILE OFFCANVAS (#mobile-menu)
========================= */
#mobile-menu .menu_categorias_menu > a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Flechita en "Categorías" */
#mobile-menu .menu_categorias_menu > a::after{
  content: "▾";
  font-size: 14px;
  opacity: .8;
  transform: rotate(-90deg);
  transition: transform .2s ease;
  margin-left: 10px;
}
#mobile-menu .menu_categorias_menu.is-open > a::after{
  transform: rotate(0deg);
}

/* Contenedor del submenu */
#mobile-menu .mobile-cats-submenu{
  display: none;
  padding: 8px 0 6px 12px;
}
#mobile-menu .menu_categorias_menu.is-open .mobile-cats-submenu{
  display: block;
}

/* Lista de categorías (clonada del menú WP) */
#mobile-menu .mobile-cats__menu{
  list-style: none;
  margin: 0;
  padding: 0;
}

#mobile-menu .mobile-cats__menu > li{
  padding: 6px 0;
}

#mobile-menu .mobile-cats__menu > li > a{
  display: flex;
  justify-content: space-between;
  padding: 8px 6px;
  text-decoration: none;
  font-weight: 400;
}

/* Subniveles (acordeón) */
#mobile-menu .mobile-cats__menu > li > ul{
  display: none;
  margin: 4px 0 6px 10px;
  padding: 0;
  list-style: none;
}

#mobile-menu .mobile-cats__menu > li.is-expanded > ul{
  display: block;
}

#mobile-menu .mobile-cats__menu > li > a::after{
  content: "›";
  opacity: .6;
  transition: transform .2s ease;
}
#mobile-menu .mobile-cats__menu > li.is-expanded > a::after{
  transform: rotate(90deg);
}

#mobile-menu .mobile-cats__menu ul li a{
  display: block;
  padding: 8px 6px;
  text-decoration: none;
  font-weight: 400;
  opacity: .9;
}
#mobile-menu .mobile-cats__menu ul li a:hover{
  opacity: 1;
  text-decoration: underline;
}

/* =========================
   SIDEBAR: Menú de categorías
========================= */

.cc-sidebar-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cc-sidebar-nav__list > .menu-item {
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.cc-sidebar-nav__list > .menu-item:first-child {
  border-top: 1px solid rgba(0,0,0,.08);
}

/* Link padre */
.cc-sidebar-nav__list > .menu-item > a {
  display: block;
  position: relative;
  padding: 11px 24px 11px 4px; /* padding-right reserva espacio para la flecha */
  font-weight: 500;
  text-decoration: none;
  color: #111;
  cursor: pointer;
}
.cc-sidebar-nav__list > .menu-item > a:hover {
  color: #000;
}

/* Flecha en padres con hijos — position:absolute la excluye del text-decoration del padre */
.cc-sidebar-nav__list .menu-item-has-children > a::after {
  content: "›";
  font-size: 1.1em;
  opacity: .55;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .2s ease, opacity .2s ease;
}
.cc-sidebar-nav__list .menu-item-has-children.is-open > a::after {
  transform: translateY(-50%) rotate(90deg);
  opacity: .9;
}

/* Sub-menu oculto por defecto */
.cc-sidebar-nav__list .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0 0 8px 17px !important; /* 12 + 5px extra de indentación */
  display: none;
}
.cc-sidebar-nav__list .menu-item-has-children.is-open > .sub-menu {
  display: block;
}

/* Items hijos */
.cc-sidebar-nav__list .sub-menu .menu-item {
  border: none;
}
.cc-sidebar-nav__list .sub-menu .menu-item > a {
  display: block;
  padding: 5.95px 4px !important; /* 7px × 0.85 ≈ 5.95px (-15% interlineado) */
  font-weight: 400;
  font-size: .93em;
  text-decoration: none;
  color: #444;
}
.cc-sidebar-nav__list .sub-menu .menu-item > a:hover {
  color: #000;
  text-decoration: underline;
}
