/* ===================================================================
   MULTICEL — PANEL VISUAL (CSS UNIFICADO Y MEJORADO)
   - Header fijo + menú (lateral/Elementor) por ENCIMA del header al abrir
   - Sin estilos de WhatsApp
   - Unificación de tarjetas/productos, sliders y paginación
   - Mobile-first, sin duplicados
   - Fix: evita doble ícono en carrito (fallback ::before)
   =================================================================== */

   :root{
    --brand-green: #00c853;
    --brand-green-dark: #009624;
    --header-h: 90px; /* altura real del header */
  }
  
  /* ---------- Base layout ---------- */
  html, body { overflow-x: hidden; }
  body { padding-top: var(--header-h); } /* Solo el header, sin barra de login */
  
  /* ---------- HEADER FIJO ---------- */
.multicel-header-bar{
  position: fixed; top:0; left:0; right:0; /* en la parte superior */
  background:#000; color:#fff;
  z-index: 100001; /* debajo del menú hamburguesa */
  padding:10px 15px;
  display:flex; align-items:center; justify-content:space-between; gap:15px;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}
  
  /* Buscador en header (opcional) */
  .multicel-header-search{ flex:1 1 auto; min-width:120px; }
  .multicel-header-search input[type="search"]{
    width:100%; padding:8px 12px; font-size:15px;
    border-radius:8px; border:none; outline:none;
  }
  
  /* ---------- ÍCONO HAMBURGUESA (animado) ---------- */
  .multicel-hamburguesa{
    cursor:pointer; width:30px; height:25px; position:relative;
    z-index: 100009; /* por encima de todo, incluso el carrito */
    transition:all .3s ease; margin:0;
  }
  .multicel-hamburguesa span{
    position:absolute; left:0; width:100%; height:4px; border-radius:2px;
    background:#fff; transition:all .3s ease;
  }
  .multicel-hamburguesa span:nth-child(1){ top:0; }
  .multicel-hamburguesa span:nth-child(2){ top:10px; }
  .multicel-hamburguesa span:nth-child(3){ top:20px; }
  
  body.menu-open .multicel-hamburguesa span:nth-child(1){ transform:rotate(45deg); top:10px; }
  body.menu-open .multicel-hamburguesa span:nth-child(2){ opacity:0; }
  body.menu-open .multicel-hamburguesa span:nth-child(3){ transform:rotate(-45deg); top:10px; }
  
  /* ---------- MENÚ OVERLAY (LATERAL / DROPDOWN) ---------- */
  /* Menú lateral propio del plugin */
  .multicel-menu-lateral{
    position:fixed; top:0; left:-100%; width:300px; height:100vh;
    background:linear-gradient(to bottom, #0a0a0a, #00ff00);
    transition:left .4s ease; z-index: 100002; padding:20px;
    box-shadow:5px 0 15px rgba(0,0,0,.6);
    display:flex; flex-direction:column;
  }
  body.menu-open .multicel-menu-lateral{ left:0; }
  
  /* FONDO oscuro detrás del menú (tapa header y contenido) */
  body.menu-open::before{
    content:""; position:fixed; inset:0; background:rgba(0,0,0,.5);
    z-index: 100001;
  }
  
  body.menu-open #multicel-carrito-flotante{
    display:none !important;
  }
  
  /* Header del menú */
  .menu-header{ display:flex; justify-content:space-between; align-items:center;
    color:#fff; font-size:20px; font-weight:700; margin-bottom:20px; }
  
  /* Título del menú (blanco, simple y grueso) */
  .multicel-brand-link{ 
    color:#fff !important; 
    text-decoration:none !important; 
    font-size:26px !important; 
    font-weight:900 !important;
    transition: all 0.2s ease;
    display: block;
    line-height: 1.1;
  }
  .multicel-brand-link:hover{ 
    color:#00ff00 !important; 
    transform: scale(1.02);
  }
  
  .menu-cerrar{ cursor:pointer; font-size:24px; color:#fff; transition:transform .2s; }
  .menu-cerrar:hover{ transform:scale(1.1); }
  
  /* Sección de login/cuenta en el menú */
  .menu-login-section {
    margin: 20px 0;
    padding: 15px 0;
    border-top: 1px solid rgba(255,255,255,0.2);
    border-bottom: 1px solid rgba(255,255,255,0.2);
  }
  
  .menu-mi-cuenta, .menu-google-login, .menu-manual-login {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    transition: all 0.3s ease;
    margin: 0;
  }
  
  .menu-mi-cuenta {
    background: rgba(255,255,255,0.1);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.3);
  }
  
  .menu-mi-cuenta:hover {
    background: rgba(255,255,255,0.2);
    color: #00ff00;
    transform: translateX(5px);
  }
  
  .menu-google-login {
    background: #dd4b39;
    color: white;
    border: none;
  }
  
  .menu-google-login:hover {
    background: #c23321;
    color: white;
    transform: translateX(5px);
  }
  
  .menu-manual-login {
    background: #6c757d;
    color: white;
    border: none;
    margin-top: 10px;
  }
  
  .menu-manual-login:hover {
    background: #5a6268;
    color: white;
    transform: translateX(5px);
  }
  
  .menu-icon {
    font-size: 20px;
  }
  
  .menu-text {
    font-weight: 600;
  }
  
  .menu-google-login .google-icon {
    font-size: 16px;
    font-weight: bold;
    background: white;
    color: #dd4b39;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, sans-serif;
  }
  
  .menu-google-login .google-text {
    font-weight: 500;
  }

  /* Links del menú - sin triángulos, fuente igual al título */
  .menu-links{ list-style:none; margin:0; padding:0; flex:1; }
  .menu-links li{ margin:14px 0; font-size:20px; font-weight:700; }
  .menu-links li::before{ display:none; } /* Eliminar triángulos verdes */
  .menu-links a{ color:#fff; text-decoration:none; font-family:inherit; }
  .menu-links a:hover{ color:#00ff00; text-decoration:none; }
  
  /* Buscador dentro del menú */
  .menu-search{ margin-top:auto; margin-bottom:10px; }
  .menu-search input[type="search"]{
    width:100%; border:none; border-radius:8px; padding:8px 12px; font-size:16px;
  }
  
  /* Si se usa menú de Elementor (dropdown), que salga por ENCIMA del header */
  .elementor-nav-menu--dropdown,
  .elementor-nav-menu__container,
  .elementor-nav-menu--main .elementor-nav-menu--dropdown,
  .menu-toggle.active + .elementor-nav-menu--dropdown,
  .mobile-menu, .offcanvas, .nav-mobile{
    position:fixed !important;
    top: 0 !important; left:0; right:0;
    z-index: 100002 !important; /* sobre header y overlay de fondo */
    max-height: 100vh; overflow:auto;
  }
  /* ---------- CONTENEDORES / CATEGORÍA / GRILLA ---------- */
  .multicel-categoria{ margin:30px auto; padding:10px; max-width:1200px; }
  .multicel-categoria h2{
    font-family:'Montserrat', sans-serif; font-size:22px; font-weight:700; margin-bottom:10px; color:#111;
  }
  
  /* Filtro superior (título + orden) */
  .filtro-orden{
    display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px;
    margin-bottom:25px; font-family:'Montserrat', sans-serif;
  }
  .filtro-orden h2{ font-size:20px; font-weight:800; color:#111; margin:0; }
  .filtro-orden select{
    padding:8px 12px; font-size:14px; border:1px solid #ccc; border-radius:6px; min-width:160px;
  }
  .filtro-orden button{ display:none; }
  
  /* Botones de acción (carrito / sin stock) más discretos */
  .btn-carrito,
  .btn-sin-stock,
  .btn-sin-stock-carrusel{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:36px;
    padding:6px 14px;
    font-size:13px;
    font-weight:700;
    border-radius:20px;
    margin-top:auto;
    text-transform:uppercase;
    border:1px solid #000;
    transition:all .2s ease-in-out;
    opacity:.85;
  }
  
  /* Botón carrito: verde */
  .btn-carrito{
    background:var(--brand-green);
    color:#fff;
  }
  .btn-carrito:hover{
    background:var(--brand-green-dark);
    opacity:1;
    transform:translateY(-1px);
  }
  
  /* Botón sin stock: rojo, igual que agregar (solo cambia color) */
  .btn-sin-stock,
  .btn-sin-stock-carrusel{
    background:#d32f2f !important;
    color:#fff !important;
    border:1px solid #000 !important;
  }
  .btn-sin-stock:hover,
  .btn-sin-stock-carrusel:hover{
    background:#b71c1c !important;
    opacity:1;
    transform:translateY(-1px);
  }
  
  /* ---------- WOO — PAGINACIÓN ---------- */
  .woocommerce-pagination{ text-align:center; margin:30px auto 40px; }
  .woocommerce-pagination ul.page-numbers{
    display:inline-flex; gap:10px; justify-content:center; flex-wrap:wrap; padding:0; list-style:none; border-radius:12px;
  }
  .woocommerce-pagination .page-numbers{
    display:inline-block; padding:8px 16px; border-radius:12px; background:#fff; color:#111; font-weight:700; font-size:14px;
    border:2px solid var(--brand-green); text-decoration:none; transition:all .3s ease; box-shadow:0 0 6px rgba(0,200,83,.2);
  }
  .woocommerce-pagination .page-numbers:hover{ background:var(--brand-green); color:#fff; transform:scale(1.05); box-shadow:0 0 10px rgba(0,200,83,.4); }
  .woocommerce-pagination .page-numbers.current{ background:var(--brand-green); color:#fff; border-color:#000; box-shadow:0 0 10px rgba(0,255,0,.5); }
  
  /* Paginación genérica (widgets personalizados) */
  .paginacion{
    text-align:center; margin:30px auto 10px; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; padding:0 10px;
  }
  .paginacion .page-numbers{
    display:inline-block; margin:0 6px; padding:8px 14px; border-radius:8px; background:#eee; color:#000; font-weight:700;
    text-decoration:none; transition:all .3s ease; border:2px solid transparent; white-space:nowrap;
  }
  .paginacion .page-numbers.current{ background:#111; color:#fff; border-color:var(--brand-green); }
  .paginacion .page-numbers:hover{ background:var(--brand-green); color:#fff; transform:scale(1.1); }
  
  /* ---------- WOO — SINGLE PRODUCT ---------- */
  .product_meta{ display:none !important; }
  .single-product .product_title{
    text-align:center; font-size:26px; font-weight:800; color:#111; text-transform:uppercase; letter-spacing:.5px; margin-bottom:15px;
  }
  .single-product .summary .price{
    text-align:center; font-size:28px; font-weight:700; color:#111 !important; margin:10px auto 20px; display:block;
    background:#f0fff0; padding:10px 15px; border-radius:10px; border:2px solid var(--brand-green); width:fit-content;
    box-shadow:0 2px 6px rgba(0,0,0,.1);
  }
  .single-product .quantity{ display:none !important; }
  
  .woocommerce-tabs h2,
  .related.products > h2,
  .upsells.products > h2{
    text-align:center; font-size:24px; font-weight:700; color:#111 !important;
    background:#f0fff0; padding:10px 15px; border-radius:10px; border:2px solid var(--brand-green);
    width:fit-content; margin:30px auto 20px; box-shadow:0 2px 6px rgba(0,0,0,.1);
  }
  
  /* ---------- BANNERS & SWIPER STACKING ---------- */
  .banner-multicel img,
  .elementor-widget-image img,
  .elementor-image img,
  img.banner,
  img.fullwidth-banner{
    width:100% !important; height:auto !important; object-fit:contain !important; display:block; margin:0 auto;
    max-width:100%; box-sizing:border-box; border-radius:10px;
  }
  .multicel-banner-rotativo{
    display:block; width:100%; max-width:100%; margin:20px auto; padding:0; box-sizing:border-box; position:relative; z-index:9; background:transparent;
  }
  .multicel-banner-rotativo img{
    width:100%; height:auto; object-fit:contain !important; display:block; margin:0 auto; border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
  }
  
  /* Que los sliders no se superpongan con el menú/header */
  .swiper, .swiper-wrapper{ position:relative !important; z-index:5 !important; }
  body .swiper-slide{ z-index:3 !important; position:relative !important; }
  
  /* ---------- SLIDER MULTICEL (tarjetas) ---------- */
  .multicel-slider{ position:relative; margin:20px 0; padding:10px 0; }
  .multicel-slider .swiper-wrapper{ display:flex; align-items:stretch; }
  .multicel-slider .swiper-slide{
    background:#fff; border:1px solid #ddd; border-radius:10px; text-align:center; padding:8px;
    width:160px !important; box-sizing:border-box; box-shadow:0 2px 6px rgba(0,0,0,.08); height:auto !important;
  }
  .multicel-slider .product-card{ display:flex; flex-direction:column; justify-content:space-between; height:100%; }
  .multicel-slider .swiper-slide img{ height:120px !important; width:100%; object-fit:contain; margin-bottom:8px; }
  
  .multicel-slider .product-card h4{
    font-size:13px; font-weight:500; color:#444; margin:0; line-height:1.2; height:34px; overflow:hidden;
  }
  .multicel-slider .price{
    font-size:18px; font-weight:700; color:#1a1a1a; margin:4px 0 6px; line-height:1.2;
  }
  .multicel-slider .price:empty{ color:#888; }
  
  .multicel-slider .add-to-cart{
    display:inline-block; background:var(--brand-green); color:#fff; padding:6px 14px; border-radius:20px;
    font-weight:700; font-size:13px; text-decoration:none; transition:.3s ease; margin-top:10px; border:2px solid #000;
  }
  .multicel-slider .add-to-cart:hover{ background:var(--brand-green-dark); border-color:#000; transform:scale(1.05); }
  
  /* Flechas Swiper (estilo flúo) */
  .swiper-button-prev, .swiper-button-next{
    width:42px; height:42px; border-radius:50%;
    background-color:rgba(0,255,0,.15); color:#00ff44; font-size:18px; font-weight:700; z-index:10;
    top:45%; transition:all .2s ease; display:flex; align-items:center; justify-content:center;
    border:2px solid #00ff66; box-shadow:0 0 10px rgba(0,255,0,.3);
  }
  .swiper-button-prev::after, .swiper-button-next::after{ font-size:18px; font-weight:700; color:#00ff66; transition:.2s ease; }
  .swiper-button-prev:hover, .swiper-button-next:hover{ background-color:#00ff66; transform:scale(1.1); }
  .swiper-button-prev:hover::after, .swiper-button-next:hover::after{ color:#fff; }
  
  /* ---------- OFERTA TÍTULO SCROLL (marquee) ---------- */
  .oferta-titulo-scroll{
    width:100%; overflow:hidden;
    background:linear-gradient(180deg, #39ff14 0%, #2ecc71 100%);
    border-top:2px solid #222; border-bottom:2px solid #222;
    box-shadow:inset 0 -1px 3px rgba(0,0,0,.2);
    position:relative; height:40px; line-height:40px; z-index:10; font-family:'Segoe UI', sans-serif;
  }
  .oferta-titulo-scroll span{
    display:inline-block; white-space:nowrap; padding-left:100%;
    animation:scroll-oferta 10s linear infinite; font-size:15px; font-weight:800; color:#111;
    text-shadow:1px 1px 0 rgba(255,255,255,.8); letter-spacing:1px; text-transform:uppercase;
  }
  @keyframes scroll-oferta{
    0%{ transform:translateX(0%); }
    100%{ transform:translateX(-100%); }
  }
  
  /* Política de privacidad opcional fuera */
  .woocommerce-privacy-policy-text{ display:none !important; }
  
  /* Oculta headers de Elementor en /mi-cuenta/ pero deja nuestro header */
  body.woocommerce-account .elementor-location-header,
  body.woocommerce-account .elementor-sticky--active,
  body.woocommerce-account [class*="elementor-sticky"]{
    display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important;
    height:0 !important; max-height:0 !important; overflow:hidden !important; position:absolute !important; top:-9999px !important; left:-9999px !important;
  }
  
  /* Panel de navegación */
  .woocommerce-MyAccount-navigation{
    background:#f9f9f9; padding:20px; border-radius:12px; font-family:'Montserrat', sans-serif; font-weight:700;
  }
  .woocommerce-MyAccount-navigation ul{ list-style:none !important; padding-left:0; margin:0; }
  .woocommerce-MyAccount-navigation ul li{ margin-bottom:12px; }
  .woocommerce-MyAccount-navigation ul li a{
    color:#111; text-decoration:none; display:block; padding:10px 15px; border-radius:6px; transition:.2s ease-in-out;
    background:#fff; border:1px solid #ddd;
  }
  .woocommerce-MyAccount-navigation ul li.is-active a,
  .woocommerce-MyAccount-navigation ul li a:hover{
    background:linear-gradient(to right, #00cc66, #009944); color:#fff !important;
  }
  
  /* Panel derecho */
  .woocommerce-MyAccount-content{
    font-family:'Montserrat', sans-serif; color:#222; padding:20px; background:#fff; border-radius:12px; border:1px solid #eee;
  }
  .woocommerce-MyAccount-content h2{
    font-weight:700; font-size:24px; color:#00aa55; border-bottom:2px solid #00aa55;
    padding-bottom:8px; margin-bottom:20px;
  }
  
  /* ---------- CARRITO FLOTANTE ---------- */
  #multicel-carrito-flotante{
    position: fixed; bottom: 20px; right: 20px;
    z-index: 100006; /* por encima del menú lateral */
  }
  .carrito-boton{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background: var(--brand-green); color:#fff; padding:12px 18px;
    border-radius:30px; font-size:16px; font-weight:700; text-decoration:none;
    box-shadow:0 4px 10px rgba(0,0,0,.2); border:2px solid #000; transition:.3s ease;
    line-height:1; white-space:nowrap;
  }
  .carrito-boton:hover{ background: var(--brand-green-dark); transform: scale(1.05); }
  #carrito-contador{
    margin-left: 0; background:#000; color:#fff; padding:2px 8px;
    border-radius:12px; font-size:13px; line-height:1;
  }
  /* Fix: si algún tema agrega icono por ::before, lo anulamos para evitar 🛒🛒 */
  .carrito-boton::before{ content: none !important; }
  
  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 1024px){
    /* Mantener dropdown ocupando todo el viewport por encima del header */
    .elementor-nav-menu--dropdown,
    .elementor-nav-menu__container,
    .elementor-nav-menu--main .elementor-nav-menu--dropdown,
    .menu-toggle.active + .elementor-nav-menu--dropdown,
    .mobile-menu, .offcanvas, .nav-mobile{
      top: 0 !important;
    }
  }
    /* header más compacto en móviles (ajustá si tu header mide menos) */
    :root{ --header-h: 80px; }
    .btn-carrito .icono-carrito{ font-size:25px !important; margin-top:-1px !important; line-height:1; }
    .btn-carrito{ padding:5px 10px !important; gap:3px !important; }
    
  /* ===== Botón categoría arriba del listado (look original) ===== */
  .multicel-boton-categoria{
    text-align:center;
    margin: 28px auto 18px;
  }
  
  .multicel-boton-categoria a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 28px;
    border-radius:999px;
    background: linear-gradient(180deg, #39ff14 0%, #00c853 100%);
    color:#fff !important;
    font-weight:800;
    font-size:18px;
    letter-spacing:.3px;
    text-decoration:none !important;
    border:2px solid #000;
    box-shadow:
      0 6px 14px rgba(0,0,0,.18),
      inset 0 -2px 0 rgba(0,0,0,.25);
    filter: drop-shadow(0 0 10px rgba(0,255,0,.45));
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
    text-shadow: 0 1px 0 rgba(0,0,0,.35);
  }
  
  .multicel-boton-categoria a:hover{
    background: linear-gradient(180deg, #00e060 0%, #009a48 100%);
    transform: translateY(-1px) scale(1.03);
    box-shadow:
      0 10px 18px rgba(0,0,0,.22),
      inset 0 -2px 0 rgba(0,0,0,.28);
    color:#fff !important;
  }
  
  .multicel-boton-categoria a:active{
    transform: translateY(0);
    box-shadow:
      0 5px 12px rgba(0,0,0,.18),
      inset 0 2px 0 rgba(255,255,255,.15);
  }
  
  @media (max-width:576px){
    .multicel-boton-categoria a{
      font-size:16px;
      padding:10px 22px;
    }
  }
  /* ===================================================================
     PANEL DE PRODUCTOS – tarjetas iguales (Woo + listado personalizado)
     - Grilla responsiva tipo “tabla”
     - Imagen en lienzo cuadrado 1:1 con object-fit: contain
     - Título recortado a 2 líneas
     - Precio con altura fija
     - Botón pegado abajo para igualar alturas visuales
     =================================================================== */
  
  :root{
    --panel-gap: 16px;
    --panel-min: 220px;     /* ↓ subí/bajá para ver más/menos por fila en desktop */
    --thumb-ratio: 1 / 1;   /* cuadrado perfecto */
    --thumb-pad: 10px;
    --title-lines: 2;
  }
  
  /* === Grilla tipo panel (WooCommerce) - OPTIMIZADO === */
  .woocommerce ul.products,
  ul.products{
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(var(--panel-min), 1fr));
    gap: var(--panel-gap);
    align-items: stretch;
    contain: layout style; /* Optimización de renderizado */
  }
  
  /* === Grilla tipo panel (listado personalizado) === */
  .productos-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--panel-min), 1fr));
    gap: var(--panel-gap);
    align-items: stretch;
  }
  
  /* === Tarjeta: estructura vertical === */
  .woocommerce ul.products li.product,
  ul.products li.product{
    display: flex;
    flex-direction: column;
  }
  
  .productos-grid .producto-box{
    display: flex;
    flex-direction: column;
  }
  
  /* === Lienzo de imagen cuadrado (idéntico en todas) === */
  .woocommerce ul.products li.product img,
  ul.products li.product img,
  .productos-grid .producto-box img{
    width: 100%;
    aspect-ratio: var(--thumb-ratio);
    height: auto;                 /* calculada por aspect-ratio */
    object-fit: contain;          /* nunca recorta */
    background: #fff;
    padding: var(--thumb-pad);
    border: 1px solid #eee;
    border-radius: 8px;
    margin: 0 0 8px !important;   /* separa de título */
    display: block;
  }
  
  /* === Títulos: 2 líneas exactas, mismo alto siempre === */
  .woocommerce ul.products li.product h2,
  .woocommerce ul.products li.product h3,
  ul.products li.product h2,
  ul.products li.product h3,
  .productos-grid .producto-box h3{
    font-size: 14px !important;
    font-weight: 600;
    color: #111;
    margin: 0 0 6px;
    line-height: 1.2;
    min-height: calc(1.2em * var(--title-lines));
    display: -webkit-box;
    -webkit-line-clamp: var(--title-lines);
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  /* === Precio: fija la altura para que todas las tarjetas alineen === */
  .woocommerce ul.products li.product .price,
  /* Precios destacados */
  /* Precio destacado solo con tipografía */
  ul.products li.product .price,
  .productos-grid .producto-box .precio{
    font-size:24px;
    font-weight:900;
    color:#00a63c;
    margin:0 0 12px;
    line-height:1.2;
    text-shadow:0 1px 2px rgba(0,0,0,.15);
    letter-spacing:-0.5px;
  }
  
  /* === Botón siempre abajo (iguala alturas de tarjeta) === */
  .woocommerce ul.products li.product a.button,
  ul.products li.product a.button,
  .productos-grid .btn-carrito,
  .productos-grid .btn-sin-stock{
    margin-top: auto;
  }
  
  /* === Afinado visual con borde 3D sutil === */
  .woocommerce ul.products li.product,
  ul.products li.product,
  .productos-grid .producto-box{
    background:#fff;
    border:3px solid #14520c;
    border-radius:10px;
    padding:12px;
    text-align:center;
    /* 3D: sombra externa + brillo superior interno + leve sombreado interior */
    box-shadow:
      0 4px 10px rgba(0,0,0,.18),        /* profundidad */
      inset 0 1px 0 rgba(255,255,255,.65), /* highlight arriba */
      inset 0 -1px 0 rgba(0,0,0,.06);      /* sombrita abajo */
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .woocommerce ul.products li.product:hover,
  ul.products li.product:hover,
  .productos-grid .producto-box:hover{
    transform:scale(1.10);
    box-shadow:
      0 8px 20px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.7),
      inset 0 -1px 0 rgba(0,0,0,.1);
  }
  
  
  /* === Móvil: 2 columnas sólidas y cómodas === */
  @media (max-width: 576px){
    :root{
      --panel-min: 150px;   /* 2*150 + gap ≈ 310px → entra en 320px */
      --panel-gap: 10px;    /* bajamos un poco el gap para asegurar */
    }
  }
  
  /* (opcional) si tu tema empuja márgenes raros en <li>, los neutralizamos: */
  .woocommerce ul.products li.product,
  ul.products li.product{ margin: 0 !important; }
  
  
  /* === FIX Amo — Relacionados/Up-sells en single SIN HUECOS === */
  
  /* 0) Anular clearfix que crea celdas vacías al principio/fin */
  .single-product .related.products ul.products::before,
  .single-product .related.products ul.products::after,
  .single-product .upsells.products  ul.products::before,
  .single-product .upsells.products  ul.products::after{
    content: none !important;
    display: none !important;
  }
  
  /* 1) Grid fluido sin huecos (desktop por defecto) */
  .single-product .related.products ul.products,
  .single-product .upsells.products  ul.products{
    list-style: none;
    margin: 0;
    padding: 0;
  
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* auto-fit colapsa columnas vacías */
    grid-auto-flow: row dense; /* rellena “agujeros” si hay distintas alturas */
    gap: var(--panel-gap, 16px);
    width: 100%;
  }
  
  /* 2) Normalizar cada tarjeta */
  .single-product .related.products ul.products li.product,
  .single-product .upsells.products  ul.products li.product{
    list-style: none;
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    break-inside: avoid; /* por si algún navegador intenta partir la tarjeta */
  }
  
  /* 3) Imágenes prolijas */
  .single-product .related.products ul.products li.product a img,
  .single-product .upsells.products  ul.products li.product a img{
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  
  /* 4) Botón alineado abajo para alturas parejas */
  .single-product .related.products ul.products li.product .button,
  .single-product .upsells.products  ul.products li.product .button{
    margin-top: auto;
  }
  
  /* 5) Responsive */
  /* Móvil: 2 por fila */
  @media (max-width: 600px){
    .single-product .related.products ul.products,
    .single-product .upsells.products  ul.products{
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 10px;
    }
    .single-product .related.products ul.products li.product a img,
    .single-product .upsells.products  ul.products li.product a img{
      max-height: 180px; /* ajustable: 160–200 */
    }
  }
  
  /* Tablet: 3 por fila */
  @media (min-width: 601px) and (max-width: 900px){
    .single-product .related.products ul.products,
    .single-product .upsells.products  ul.products{
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  
  /* === FIX Amo — Social login pegado al menú === */
  .multicel-header-bar { margin-bottom: 0 !important; }
  
  .multicel-top-login-wrap { margin: 0 !important; padding: 0 !important; }
  .multicel-top-login { margin: 0 !important; }
  
  /* Si tu CSS del login tenía “margin-top” en mobile, lo anulamos */
  @media (max-width: 576px){
    .multicel-top-login { margin-top: 0 !important; }
  }
  
  /* === FIX — Listado de CATEGORÍA Woo === */
  /* 1) Forzar grid solo en archivos de producto (categoría/tienda) */
  .tax-product_cat ul.products,
  .post-type-archive-product ul.products,
  .woocommerce-shop ul.products{
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(var(--panel-min), 1fr));
    gap: var(--panel-gap);
    align-items: stretch;
  }
  
  /* 2) Quitar pseudo-elementos "clearfix" que dejan huecos */
  .tax-product_cat ul.products::before,
  .tax-product_cat ul.products::after,
  .post-type-archive-product ul.products::before,
  .post-type-archive-product ul.products::after,
  .woocommerce-shop ul.products::before,
  .woocommerce-shop ul.products::after{
    content: none !important;
    display: none !important;
  }
  
  /* 3) Neutralizar floats/anchos heredados del tema */
  .tax-product_cat ul.products li.product,
  .post-type-archive-product ul.products li.product,
  .woocommerce-shop ul.products li.product{
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;               /* evita desplazamientos raros */
    display: flex;                       /* respeta tu layout vertical */
    flex-direction: column;
  }
  
  /* 4) Hover más suave para no “romper” el grid en categoría */
  .tax-product_cat ul.products li.product:hover,
  .post-type-archive-product ul.products li.product:hover,
  .woocommerce-shop ul.products li.product:hover{
    transform: scale(1.03);              /* antes 1.10, que desarma el mosaico */
  }
  
  /* 5) Botón nativo de Woo con tamaño correcto en categoría */
  .tax-product_cat ul.products li.product a.button,
  .post-type-archive-product ul.products li.product a.button,
  .woocommerce-shop ul.products li.product a.button{
    min-height: 36px;
    padding: 6px 14px;
    font-size: 13px;
    border-radius: 20px;
    margin-top: auto;                     /* queda pegado abajo como querés */
  }
  .site-header .search-form {
    margin-bottom: 12px; /* ajustá el valor a gusto */
  }
  
  /* ===== MENÚ ACORDEÓN PARA SUBMENÚS ===== */
  .submenu-arrow {
    font-size: 12px;
    transition: transform 0.3s ease;
    display: inline-block;
  }

  /* Submenú oculto por defecto */
  #menuLateral ul ul {
    display: none !important;
    list-style: none;
    margin: 0;
    padding: 0;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    margin-top: 10px;
    overflow: hidden;
  }

  /* Submenú abierto */
  #menuLateral ul ul[style*="block"] {
    display: block !important;
  }

  /* Estilos para elementos del submenú */
  #menuLateral ul ul li {
    margin: 0;
    padding: 0;
  }

  #menuLateral ul ul li a {
    display: block;
    padding: 8px 20px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
  }

  #menuLateral ul ul li a:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    padding-left: 25px;
  }

  #menuLateral ul ul li:last-child a {
    border-bottom: none;
  }
  