/* v55: capa final exclusiva para móvil. No modifica escritorio/tablet. */
@media (max-width: 782px){
  html,body{overflow-x:hidden;}
  .site,.buzkme-container,.buzkme-home-shell,.woocommerce,.woocommerce-page{min-width:0;}

  .buzkme-header-main{
    display:grid!important;
    grid-template-columns:minmax(100px,132px) minmax(0,1fr)!important;
    grid-template-areas:
      "brand search"
      "actions actions"!important;
    gap:8px 10px!important;
    align-items:center!important;
    padding:8px 0 6px!important;
  }
  .buzkme-brand{grid-area:brand!important; min-width:0;}
  .buzkme-header-search{grid-area:search!important; min-width:0;}
  .buzkme-header-actions{grid-area:actions!important; min-width:0;}
  .buzkme-search-form{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
  }
  .buzkme-search-form .search-field{min-width:0!important; width:100%!important;}
  .buzkme-header-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    justify-content:flex-start!important;
  }
  .buzkme-pill{min-height:38px!important; padding:8px 10px!important;}
  .buzkme-pill-label{font-size:.84rem!important;}
  .buzkme-nav{overflow-x:auto; -webkit-overflow-scrolling:touch;}
}

@media (max-width: 640px){
  :root{scroll-padding-top:84px;}
  .buzkme-container,
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count,
  .buzkme-home-block,
  .buzkme-categories-block,
  .buzkme-products-block{
    width:min(calc(100vw - 16px), var(--buzkme-site-max))!important;
  }

  .buzkme-header-main{
    grid-template-columns:minmax(92px,124px) minmax(0,1fr)!important;
    gap:8px!important;
  }
  .buzkme-logo{max-height:52px!important; width:auto!important;}
  .buzkme-tagline,
  .buzkme-tagline-rotator{max-width:100%!important; min-height:24px!important;}
  .buzkme-tagline{font-size:.76rem!important;}
  .buzkme-search-form{height:40px!important; min-height:40px!important;}
  .buzkme-search-form button{padding-inline:10px!important;}
  .buzkme-search-btn-label{display:none!important;}

  .buzkme-menu-toggle,
  .buzkme-pill,
  .buzkme-social-link{
    min-height:36px!important;
    min-width:36px!important;
  }
  .buzkme-pill{
    padding:7px 9px!important;
    border-radius:14px!important;
  }
  .buzkme-pill-label{display:none!important;}

  .buzkme-home-shell,
  .buzkme-home-block,
  .buzkme-categories-block,
  .buzkme-products-block,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .single-product div.product,
  .single-product .buzkme-container{
    min-width:0!important;
    overflow-x:hidden!important;
  }

  .buzkme-slider-shell{
    grid-template-columns:22px minmax(0,1fr) 22px!important;
    gap:2px!important;
    align-items:center!important;
  }
  .buzkme-slider-arrow{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    font-size:13px!important;
    box-shadow:none!important;
  }
  .buzkme-slider{padding-inline:0!important;}
  .buzkme-track{gap:6px!important; min-width:100%!important;}

  /* Categorías en móvil: 3 visibles en home para ganar espacio sin tocar desktop/tablet */
  .buzkme-categories-block{
    --buzkme-cat-visible-mobile: 3;
    --buzkme-cat-card-width: auto;
  }
  .buzkme-categories-block .buzkme-track-cats{
    grid-auto-columns:calc((100% - ((3 - 1) * var(--buzkme-carousel-gap, 6px))) / 3)!important;
  }
  .buzkme-categories-block .buzkme-cat-card{
    min-width:0!important;
    padding:8px 6px 10px!important;
    border-radius:18px!important;
  }
  .buzkme-categories-block .buzkme-cat-bubble{
    width:min(calc(100% - 10px), 84px)!important;
    height:min(calc(100% - 52px), 84px)!important;
    margin-bottom:6px!important;
  }
  .buzkme-categories-block .buzkme-cat-card strong{
    font-size:.70rem!important;
    line-height:1.15!important;
    word-break:break-word;
    overflow-wrap:anywhere;
  }

  /* Productos del home: compactar sin mover cantidad móvil configurada */
  .buzkme-products-block .buzkme-product-card{
    padding:8px!important;
    border-radius:18px!important;
    min-width:0!important;
  }
  .buzkme-products-block .buzkme-product-card img{
    width:min(calc(100% - 10px), 132px)!important;
    height:min(calc(100% - 10px), 132px)!important;
  }
  .buzkme-products-block .buzkme-product-card-content h3,
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:.78rem!important;
    line-height:1.2!important;
    overflow-wrap:anywhere;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns:repeat(var(--buzkme-products-mobile, 2), minmax(0,1fr))!important;
    gap:10px!important;
    width:min(calc(100vw - 16px), var(--buzkme-site-max))!important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product{
    min-width:0!important;
    width:auto!important;
    padding:8px!important;
  }
  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img{
    height:140px!important;
    object-fit:contain!important;
  }

  .single-product div.product{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    padding:14px!important;
    border-radius:22px!important;
  }
}


/* v56: corrección segura de carruseles SOLO móvil */
@media (max-width: 640px){
  html,body{overflow-x:hidden!important;}

  .home .buzkme-home-block,
  .home .buzkme-categories-block,
  .home .buzkme-products-block{
    width:calc(100vw - 8px)!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw + 4px)!important;
    margin-right:calc(50% - 50vw + 4px)!important;
    padding-left:4px!important;
    padding-right:4px!important;
    box-sizing:border-box!important;
  }

  .home .buzkme-slider-shell{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
  }
  .home .buzkme-slider{
    width:100%!important;
    min-width:0!important;
    padding:0 18px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .home .buzkme-slider-arrow{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:5!important;
    width:24px!important;
    height:24px!important;
    flex:none!important;
    box-shadow:none!important;
    background:rgba(255,255,255,.92)!important;
  }
  .home .buzkme-slider-arrow.is-prev{left:0!important;}
  .home .buzkme-slider-arrow.is-next{right:0!important;}

  .home .buzkme-track,
  .home .buzkme-track-cats,
  .home .buzkme-track-products{
    min-width:100%!important;
    width:max-content!important;
    align-items:start!important;
    box-sizing:border-box!important;
  }

  .home .buzkme-categories-block{
    --buzkme-cat-visible-mobile:3!important;
    --buzkme-carousel-gap:8px!important;
  }
  .home .buzkme-categories-block .buzkme-track-cats{
    grid-auto-columns:calc((100% - (2 * var(--buzkme-carousel-gap, 8px))) / 3)!important;
  }
  .home .buzkme-categories-slider .buzkme-cat-card,
  .home .buzkme-categories-block .buzkme-cat-card{
    min-height:142px!important;
    padding:8px 2px 10px!important;
    gap:6px!important;
    border-radius:16px!important;
  }
  .home .buzkme-categories-slider .buzkme-cat-bubble,
  .home .buzkme-categories-block .buzkme-cat-bubble{
    width:clamp(66px, 21vw, 86px)!important;
    height:clamp(66px, 21vw, 86px)!important;
    max-width:86px!important;
    max-height:86px!important;
    margin:0 auto 4px!important;
    border-radius:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#faf5f4!important;
  }
  .home .buzkme-categories-slider .buzkme-cat-bubble img,
  .home .buzkme-categories-block .buzkme-cat-bubble img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .home .buzkme-categories-slider .buzkme-cat-card strong,
  .home .buzkme-categories-block .buzkme-cat-card strong{
    font-size:.68rem!important;
    line-height:1.15!important;
    min-height:2.3em!important;
    padding:0 2px!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
  }

  .home .buzkme-products-block{
    --buzkme-product-visible-mobile:2!important;
    --buzkme-carousel-gap:10px!important;
  }
  .home .buzkme-products-block .buzkme-track-products{
    grid-auto-columns:calc((100% - var(--buzkme-carousel-gap, 10px)) / 2)!important;
  }
  .home .buzkme-products-block .buzkme-product-card{
    min-height:250px!important;
    padding:10px!important;
    gap:8px!important;
    border-radius:18px!important;
  }
  .home .buzkme-products-block .buzkme-product-thumb-link{
    min-height:128px!important;
    height:128px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .home .buzkme-products-block .buzkme-product-card img{
    display:block!important;
    width:120px!important;
    height:120px!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    opacity:1!important;
    visibility:visible!important;
    margin:0 auto!important;
  }
  .home .buzkme-products-block .buzkme-product-card-content{
    width:100%!important;
    text-align:center!important;
    align-items:center!important;
  }
  .home .buzkme-products-block .buzkme-product-card-content h3,
  .home .buzkme-products-block .buzkme-product-card-content h3 a{
    font-size:.78rem!important;
    line-height:1.18!important;
    min-height:2.36em!important;
  }
}


/* v57: carruseles móvil con visibilidad real de imágenes y flechas superpuestas */
@media (max-width:640px){
  .home .buzkme-categories-block,
  .home .buzkme-products-block{
    padding-left:4px!important;
    padding-right:4px!important;
  }

  .home .buzkme-categories-block .buzkme-slider-shell,
  .home .buzkme-products-block .buzkme-slider-shell{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  .home .buzkme-categories-block .buzkme-slider,
  .home .buzkme-products-block .buzkme-slider{
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
  }

  .home .buzkme-categories-block .buzkme-slider-arrow,
  .home .buzkme-products-block .buzkme-slider-arrow{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:30!important;
    width:32px!important;
    height:32px!important;
    flex:none!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 6px 18px rgba(0,0,0,.08)!important;
  }
  .home .buzkme-categories-block .buzkme-slider-arrow.is-prev,
  .home .buzkme-products-block .buzkme-slider-arrow.is-prev{left:2px!important;}
  .home .buzkme-categories-block .buzkme-slider-arrow.is-next,
  .home .buzkme-products-block .buzkme-slider-arrow.is-next{right:2px!important;}

  .home .buzkme-categories-block .buzkme-track,
  .home .buzkme-products-block .buzkme-track{
    display:grid!important;
    grid-auto-flow:column!important;
    align-items:start!important;
    justify-content:start!important;
    width:max-content!important;
    min-width:100%!important;
  }

  .home .buzkme-categories-block .buzkme-track-cats{
    gap:8px!important;
    grid-auto-columns:calc((100vw - 24px) / 3)!important;
  }
  .home .buzkme-categories-block .buzkme-cat-card{
    min-height:auto!important;
    padding:8px 2px 10px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    background:transparent!important;
  }
  .home .buzkme-categories-block .buzkme-cat-bubble{
    width:calc((100vw - 56px) / 3)!important;
    height:calc((100vw - 56px) / 3)!important;
    max-width:92px!important;
    max-height:92px!important;
    min-width:72px!important;
    min-height:72px!important;
    background:transparent!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .home .buzkme-categories-block .buzkme-cat-bubble img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .home .buzkme-categories-block .buzkme-cat-card strong{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    font-size:.68rem!important;
    line-height:1.12!important;
    min-height:2.25em!important;
    color:inherit!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .home .buzkme-products-block .buzkme-track-products{
    gap:10px!important;
    grid-auto-columns:calc((100vw - 20px) / 2)!important;
  }
  .home .buzkme-products-block .buzkme-product-card{
    min-height:auto!important;
    padding:10px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    background:#fff!important;
  }
  .home .buzkme-products-block .buzkme-product-thumb-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:132px!important;
    height:132px!important;
    overflow:hidden!important;
  }
  .home .buzkme-products-block .buzkme-product-card img{
    display:block!important;
    width:120px!important;
    height:120px!important;
    min-width:120px!important;
    min-height:120px!important;
    max-width:120px!important;
    max-height:120px!important;
    object-fit:contain!important;
    object-position:center center!important;
    opacity:1!important;
    visibility:visible!important;
    margin:0 auto!important;
  }
  .home .buzkme-products-block .buzkme-product-card-content,
  .home .buzkme-products-block .buzkme-product-card-content *{
    opacity:1!important;
    visibility:visible!important;
  }
}


/* v58 mobile single product image normalization */
@media (max-width: 767px){
  .single-product div.product .woocommerce-product-gallery__wrapper{
    padding:12px!important;
  }
  .single-product .buzkme-gallery-shell{
    position:relative;
    align-items:center;
  }
  .single-product .buzkme-single-gallery-slider{
    width:100%;
  }
  .single-product .buzkme-gallery-track .woocommerce-product-gallery__image,
  .single-product .buzkme-gallery-track .woocommerce-product-gallery__image a{
    width:100%!important;
    min-width:100%!important;
  }
  .single-product .buzkme-gallery-track .woocommerce-product-gallery__image a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    aspect-ratio:1 / 1;
    min-height:280px;
    max-height:340px;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
  }
  .single-product .buzkme-gallery-track .woocommerce-product-gallery__image img{
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    max-height:100%!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }
  .single-product .flex-control-thumbs{
    justify-content:center;
    gap:8px;
  }
  .single-product .flex-control-thumbs li{
    width:54px!important;
  }
  .single-product .buzkme-gallery-shell .buzkme-slider-arrow{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%);
    z-index:5;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 4px 12px rgba(0,0,0,.08)!important;
  }
  .single-product .buzkme-gallery-shell .buzkme-slider-arrow.is-prev{left:6px!important;}
  .single-product .buzkme-gallery-shell .buzkme-slider-arrow.is-next{right:6px!important;}
}
