
/* ============================================================
   LCAM 2.6.34 — CAPA FINAL DE BOTONES Y MODAL
   ============================================================ */

html body #menu .featured-card .featured-image,
html body #menu .product-card .product-media,
html body #menu .mobile-best-sellers-row .product-media{
  position:relative!important;
}

html body #menu button.open-modal-btn,
html body #menu button.quick-add.open-modal-btn,
html body #menu button.add-circle.open-modal-btn{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  top:auto!important;
  left:auto!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(0,0,0,.14)!important;
  border-radius:50%!important;
  background:#fff!important;
  background-image:none!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  z-index:100!important;
  transform:none!important;
  translate:none!important;
  text-indent:0!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:0 4px 14px rgba(0,0,0,.20)!important;
  isolation:isolate!important;
}

html body #menu .featured-card .featured-image > button.quick-add.open-modal-btn::before,
html body #menu .featured-card .featured-image > button.quick-add.open-modal-btn::after,
html body #menu .product-card .product-media > button.add-circle.open-modal-btn::before,
html body #menu .product-card .product-media > button.add-circle.open-modal-btn::after,
html body #menu .mobile-best-sellers-row .product-media > button.add-circle.open-modal-btn::before,
html body #menu .mobile-best-sellers-row .product-media > button.add-circle.open-modal-btn::after{
  content:none!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  background:none!important;
  border:0!important;
}

html body #menu .featured-card .featured-image > button.quick-add.open-modal-btn > *:not(svg.lcam-plus-icon),
html body #menu .product-card .product-media > button.add-circle.open-modal-btn > *:not(svg.lcam-plus-icon),
html body #menu .mobile-best-sellers-row .product-media > button.add-circle.open-modal-btn > *:not(svg.lcam-plus-icon){
  display:none!important;
}

html body #menu .featured-card .featured-image > button.quick-add.open-modal-btn > svg.lcam-plus-icon,
html body #menu .product-card .product-media > button.add-circle.open-modal-btn > svg.lcam-plus-icon,
html body #menu .mobile-best-sellers-row .product-media > button.add-circle.open-modal-btn > svg.lcam-plus-icon{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  color:#111!important;
  fill:none!important;
  pointer-events:none!important;
  transform:none!important;
  text-indent:0!important;
}

html body #menu svg.lcam-plus-icon > path{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  fill:none!important;
  stroke:#111!important;
  stroke-width:3!important;
  stroke-linecap:round!important;
  vector-effect:non-scaling-stroke!important;
}

html body #menu #featuredScroller,
html body #menu #featuredScroller .featured-card,
html body #menu #featuredScroller .featured-image,
html body #menu #featuredScroller .featured-image img{
  pointer-events:auto!important;
}

html body #menu #featuredScroller .featured-card{
  cursor:pointer!important;
}

html body .product-modal__close{
  z-index:70020!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

@media screen and (max-width:900px){
  html body #menu button.open-modal-btn,
  html body #menu button.quick-add.open-modal-btn,
  html body #menu button.add-circle.open-modal-btn{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    right:8px!important;
    bottom:8px!important;
    background:#fff!important;
  }

  html body #menu .featured-card .featured-image > button.quick-add.open-modal-btn > svg.lcam-plus-icon,
  html body #menu .product-card .product-media > button.add-circle.open-modal-btn > svg.lcam-plus-icon,
  html body #menu .mobile-best-sellers-row .product-media > button.add-circle.open-modal-btn > svg.lcam-plus-icon{
    width:21px!important;
    min-width:21px!important;
    max-width:21px!important;
    height:21px!important;
    min-height:21px!important;
    max-height:21px!important;
  }
}


/* ============================================================
   LCAM 2.6.36 — TIPOGRAFÍA UNIFORME EN PRODUCTOS MÓVILES
   Los productos de una fila usan los mismos tamaños que las
   tarjetas normales mostradas en dos columnas.
   ============================================================ */
@media screen and (max-width:900px){

  /* Nombre del producto: igual que tarjetas de dos columnas */
  html body #menu .mobile-best-sellers-row .product-info h3{
    margin:0 0 5px!important;
    font-size:16px!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:normal!important;
    -webkit-line-clamp:2!important;
  }

  /* Precio: igual que tarjetas de dos columnas */
  html body #menu .mobile-best-sellers-row .product-info strong{
    margin:0 0 5px!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }

  /* Descripción: igual que tarjetas de dos columnas */
  html body #menu .mobile-best-sellers-row .product-info p{
    margin:0!important;
    font-size:13px!important;
    line-height:1.32!important;
    -webkit-line-clamp:2!important;
  }
}

/* Mantener exactamente los mismos tamaños en teléfonos angostos. */
@media screen and (max-width:430px){
  html body #menu .mobile-best-sellers-row .product-info h3{
    font-size:16px!important;
    line-height:1.18!important;
  }

  html body #menu .mobile-best-sellers-row .product-info strong{
    font-size:15px!important;
    line-height:1.2!important;
  }

  html body #menu .mobile-best-sellers-row .product-info p{
    font-size:13px!important;
    line-height:1.32!important;
    -webkit-line-clamp:2!important;
  }
}


/* ============================================================
   LCAM 2.6.37 — TIPOGRAFÍA UNIFORME TAMBIÉN EN DESTACADOS MÓVILES
   ============================================================ */
@media screen and (max-width:900px){

  /* Nombre en Artículos destacados */
  html body #menu #featuredScroller .featured-card h3{
    margin:0 0 5px!important;
    font-size:16px!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:normal!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }

  /* Precio en Artículos destacados */
  html body #menu #featuredScroller .featured-card strong{
    display:block!important;
    margin:0 0 5px!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }

  /* Descripción en Artículos destacados, cuando esté visible */
  html body #menu #featuredScroller .featured-card p{
    margin:0!important;
    font-size:13px!important;
    line-height:1.32!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
}

/* Mantener los mismos tamaños en teléfonos angostos */
@media screen and (max-width:430px){
  html body #menu #featuredScroller .featured-card h3{
    font-size:16px!important;
    line-height:1.18!important;
  }

  html body #menu #featuredScroller .featured-card strong{
    font-size:15px!important;
    line-height:1.2!important;
  }

  html body #menu #featuredScroller .featured-card p{
    font-size:13px!important;
    line-height:1.32!important;
  }
}


/* ============================================================
   LCAM 2.6.38 — PRECIO MÓVIL Y TÍTULO MÁS VENDIDOS
   ============================================================ */
@media screen and (max-width:900px){

  /* Más Vendidos: mismo tamaño que los demás títulos de sección */
  html body #menu .mobile-best-sellers-section .section-heading h2{
    margin:0!important;
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:normal!important;
  }

  /* Precio de productos de una fila */
  html body #menu .mobile-best-sellers-row .product-card .product-info > strong{
    display:block!important;
    margin:0 0 5px!important;
    color:#111!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:normal!important;
  }

  /*
   * En Artículos destacados el precio está marcado con <p>,
   * no con <strong>. Por eso antes tomaba el tamaño de descripción.
   */
  html body #menu #featuredScroller .featured-card > p{
    display:block!important;
    margin:0 0 5px!important;
    color:#111!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:normal!important;
    -webkit-line-clamp:unset!important;
    overflow:visible!important;
  }

  /* Nombre destacado con el mismo tamaño de las tarjetas de dos columnas */
  html body #menu #featuredScroller .featured-card > h3{
    margin:0 0 5px!important;
    font-size:16px!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:normal!important;
  }
}

@media screen and (max-width:430px){

  /* Coincide con los títulos generales usados en teléfonos angostos */
  html body #menu .mobile-best-sellers-section .section-heading h2{
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }

  html body #menu .mobile-best-sellers-row .product-card .product-info > strong,
  html body #menu #featuredScroller .featured-card > p{
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }
}


/* ============================================================
   LCAM 2.6.39 — TÍTULOS MÓVILES UNIFORMES Y ANCHO DESTACADOS
   ============================================================ */
@media screen and (max-width:900px){

  /*
   * Más Vendidos debe verse con el mismo tamaño que
   * Artículos destacados y los demás títulos principales.
   */
  html body #menu .mobile-best-sellers-section .section-heading h2,
  html body #menu #featured-products .section-heading h2,
  html body #menu .product-section .section-heading h2{
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:normal!important;
  }

  /*
   * El contenido textual de cada destacado no debe superar
   * el ancho de su imagen/tarjeta.
   */
  html body #menu #featuredScroller .featured-card{
    min-width:0!important;
    overflow:hidden!important;
  }

  html body #menu #featuredScroller .featured-card .featured-image,
  html body #menu #featuredScroller .featured-card > h3,
  html body #menu #featuredScroller .featured-card > p,
  html body #menu #featuredScroller .featured-card > strong{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  html body #menu #featuredScroller .featured-card > h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  html body #menu #featuredScroller .featured-card > p{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
  }
}

@media screen and (max-width:430px){
  html body #menu .mobile-best-sellers-section .section-heading h2,
  html body #menu #featured-products .section-heading h2,
  html body #menu .product-section .section-heading h2{
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }
}


/* ============================================================
   LCAM 2.6.41 — ETIQUETA “MÁS VISITADO” CORREGIDA EN MÓVIL
   ============================================================ */
@media screen and (max-width:900px){
  html body #menu #featuredScroller .featured-card .featured-image{
    position:relative!important;
    overflow:hidden!important;
  }

  html body #menu #featuredScroller .featured-card .featured-image > .rank{
    position:absolute!important;
    top:8px!important;
    left:8px!important;
    right:auto!important;
    bottom:auto!important;
    width:fit-content!important;
    min-width:0!important;
    max-width:calc(100% - 16px)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:5px 8px!important;
    border-radius:5px!important;
    background:#8f0000!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:normal!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    z-index:5!important;
  }
}

@media screen and (max-width:430px){
  html body #menu #featuredScroller .featured-card .featured-image > .rank{
    top:7px!important;
    left:7px!important;
    max-width:calc(100% - 14px)!important;
    font-size:16px!important;
    line-height:1.18!important;
    padding:5px 7px!important;
  }
}


/* ============================================================
   LCAM 2.6.42 — MARCO REAL DE IMAGEN EN DESTACADOS MÓVILES

   Causa corregida:
   La imagen usa object-fit: contain dentro de un contenedor más ancho.
   El rank sí estaba dentro del contenedor, pero quedaba sobre la franja
   lateral vacía, fuera del bitmap visible. Ahora tarjeta, imagen, texto
   y rank comparten exactamente el mismo ancho cuadrado.
   ============================================================ */
@media screen and (max-width:900px){
  html body #menu #featuredScroller{
    align-items:flex-start!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex:0 0 min(78vw, 340px)!important;
    width:min(78vw, 340px)!important;
    min-width:min(78vw, 340px)!important;
    max-width:min(78vw, 340px)!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:16px!important;
    background:#f6f6f6!important;
    box-sizing:border-box!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image > img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image > .rank{
    position:absolute!important;
    top:8px!important;
    left:8px!important;
    right:auto!important;
    bottom:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100% - 16px)!important;
    margin:0!important;
    padding:5px 8px!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    z-index:20!important;
  }

  html body #menu #featuredScroller > .featured-card > h3,
  html body #menu #featuredScroller > .featured-card > p{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media screen and (max-width:430px){
  html body #menu #featuredScroller > .featured-card{
    flex-basis:min(80vw, 330px)!important;
    width:min(80vw, 330px)!important;
    min-width:min(80vw, 330px)!important;
    max-width:min(80vw, 330px)!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image > .rank{
    top:7px!important;
    left:7px!important;
    max-width:calc(100% - 14px)!important;
  }
}


/* ============================================================
   LCAM 2.6.43 — IMÁGENES UNIFORMES EN MÓVIL Y ESCRITORIO
   ============================================================ */

/*
 * MÓVIL
 * Artículos destacados vuelve al mismo ancho y alto visual de las
 * tarjetas normales de dos columnas. Se elimina el ancho de 78/80vw
 * introducido en 2.6.42.
 */
@media screen and (max-width:900px){
  html body #menu #featuredScroller{
    gap:14px!important;
    align-items:flex-start!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex:0 0 calc((100% - 14px)/2)!important;
    width:calc((100% - 14px)/2)!important;
    min-width:calc((100% - 14px)/2)!important;
    max-width:calc((100% - 14px)/2)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image{
    width:100%!important;
    max-width:100%!important;
    height:168px!important;
    min-height:168px!important;
    max-height:168px!important;
    aspect-ratio:auto!important;
    margin:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#f3f3f3!important;
    box-sizing:border-box!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image > img{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    padding:0!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#f3f3f3!important;
  }

  html body #menu #featuredScroller > .featured-card > h3,
  html body #menu #featuredScroller > .featured-card > p{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media screen and (max-width:430px){
  html body #menu #featuredScroller > .featured-card{
    flex-basis:calc((100% - 14px)/2)!important;
    width:calc((100% - 14px)/2)!important;
    min-width:calc((100% - 14px)/2)!important;
    max-width:calc((100% - 14px)/2)!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image{
    height:168px!important;
    min-height:168px!important;
    max-height:168px!important;
  }
}

/*
 * ESCRITORIO
 * Las imágenes de las demás categorías adoptan el mismo formato visual
 * de Artículos destacados: tarjeta vertical e imagen de 190px.
 */
@media screen and (min-width:901px){
  html body #menu .category-product-section .product-list{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:22px!important;
    align-items:start!important;
  }

  html body #menu .category-product-section .product-card{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
    background:transparent!important;
  }

  html body #menu .category-product-section .product-media{
    order:1!important;
    position:relative!important;
    width:100%!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    border-radius:13px!important;
    overflow:hidden!important;
    background:#eee!important;
  }

  html body #menu .category-product-section .product-media > img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    padding:0!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  html body #menu .category-product-section .product-info{
    order:2!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 0 0!important;
    box-sizing:border-box!important;
  }

  html body #menu .category-product-section .product-info h3{
    margin:0 0 4px!important;
    font-size:17px!important;
    line-height:1.18!important;
  }

  html body #menu .category-product-section .product-info strong{
    display:block!important;
    margin:0 0 4px!important;
    font-size:14px!important;
    line-height:1.2!important;
  }

  html body #menu .category-product-section .product-info p{
    margin:0!important;
    font-size:13px!important;
    line-height:1.35!important;
    -webkit-line-clamp:2!important;
  }
}

@media screen and (min-width:1200px){
  html body #menu .category-product-section .product-list{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}


/* ============================================================
   LCAM 2.6.44 — REDISEÑO WEB: 4 DESTACADOS Y 2 COLUMNAS
   Solo escritorio. La versión móvil conserva el diseño 2.6.43.
   ============================================================ */
@media screen and (min-width:901px){
  /* Artículos destacados: exactamente 4 tarjetas visibles. */
  html body #menu #featuredScroller{
    display:flex!important;
    gap:24px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    align-items:flex-start!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex:0 0 calc((100% - 72px)/4)!important;
    width:calc((100% - 72px)/4)!important;
    min-width:calc((100% - 72px)/4)!important;
    max-width:calc((100% - 72px)/4)!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image{
    width:100%!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#f1f1f1!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image > img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
  }

  html body #menu #featuredScroller > .featured-card > h3{
    width:100%!important;
    max-width:100%!important;
    margin:7px 0 4px!important;
    font-size:17px!important;
    line-height:1.18!important;
    font-weight:800!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }

  html body #menu #featuredScroller > .featured-card > p{
    margin:0!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:500!important;
  }

  /* Resto de categorías: dos columnas con texto a la izquierda e imagen a la derecha. */
  html body #menu .category-product-section .product-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 24px!important;
    align-items:stretch!important;
  }

  html body #menu .category-product-section .product-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 170px!important;
    grid-template-areas:'info media'!important;
    align-items:stretch!important;
    min-width:0!important;
    min-height:148px!important;
    height:auto!important;
    border:1px solid #e4e4e4!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  html body #menu .category-product-section .product-info{
    grid-area:info!important;
    order:initial!important;
    min-width:0!important;
    width:auto!important;
    padding:16px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    box-sizing:border-box!important;
  }

  html body #menu .category-product-section .product-media{
    grid-area:media!important;
    order:initial!important;
    position:relative!important;
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    height:100%!important;
    min-height:148px!important;
    max-height:none!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:#eee!important;
  }

  html body #menu .category-product-section .product-media > img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:148px!important;
    max-width:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
  }

  html body #menu .category-product-section .product-info h3{
    width:100%!important;
    margin:0 0 7px!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:800!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }

  html body #menu .category-product-section .product-info strong{
    display:block!important;
    margin:0 0 7px!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }

  html body #menu .category-product-section .product-info p{
    width:100%!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.35!important;
    color:#666!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }

  /* Botón + dentro de la imagen, como en la referencia. */
  html body #menu .category-product-section .product-media > button.add-circle.open-modal-btn{
    right:10px!important;
    bottom:10px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }
}

/* En pantallas de escritorio angostas se conserva el formato horizontal,
   reduciendo únicamente el ancho reservado para la imagen. */
@media screen and (min-width:901px) and (max-width:1150px){
  html body #menu .category-product-section .product-card{
    grid-template-columns:minmax(0,1fr) 145px!important;
  }

  html body #menu .category-product-section .product-media{
    width:145px!important;
    min-width:145px!important;
    max-width:145px!important;
  }
}


/* ============================================================
   LCAM 2.6.45 — REDISEÑO MÓVIL DE ARTÍCULOS DESTACADOS
   Inspirado en el diseño solicitado:
   - carrusel horizontal compacto;
   - tarjetas uniformes;
   - flechas circulares;
   - textos debajo de la imagen;
   - sin conteo de productos.
   ============================================================ */
@media screen and (max-width:900px){

  /* Encabezado de la sección */
  html body #menu #featured-products .section-heading--featured{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-bottom:14px!important;
  }

  html body #menu #featured-products .section-heading--featured h2{
    margin:0!important;
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:normal!important;
  }

  /* Flechas estilo solicitado */
  html body #menu #featured-products .featured-controls{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex:0 0 auto!important;
  }

  html body #menu #featured-products .featured-nav-btn{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    border:0!important;
    border-radius:50%!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    background:#f2f2f2!important;
    color:#111!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:25px!important;
    font-weight:500!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }

  html body #menu #featured-products .featured-nav-btn:first-child{
    color:#a8a8a8!important;
    background:#f6f6f6!important;
  }

  html body #menu #featured-products .featured-nav-btn:active{
    transform:scale(.96)!important;
  }

  /* Carrusel móvil: dos tarjetas y parte de la siguiente */
  html body #menu #featuredScroller{
    display:flex!important;
    align-items:flex-start!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 2px 8px!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:2px!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  html body #menu #featuredScroller::-webkit-scrollbar{
    display:none!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex:0 0 calc((100vw - 58px)/2)!important;
    width:calc((100vw - 58px)/2)!important;
    min-width:calc((100vw - 58px)/2)!important;
    max-width:calc((100vw - 58px)/2)!important;
    margin:0!important;
    padding:0 0 8px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
  }

  /* Imagen cuadrada compacta */
  html body #menu #featuredScroller > .featured-card > .featured-image{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:1 / 1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#f2f2f2!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image > img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Ranking dentro de la fotografía */
  html body #menu #featuredScroller > .featured-card .rank{
    position:absolute!important;
    top:8px!important;
    left:8px!important;
    right:auto!important;
    width:auto!important;
    max-width:calc(100% - 16px)!important;
    margin:0!important;
    padding:5px 8px!important;
    border-radius:5px!important;
    display:inline-flex!important;
    align-items:center!important;
    box-sizing:border-box!important;
    background:#8f0000!important;
    color:#fff!important;
    font-size:10px!important;
    line-height:1.1!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    z-index:4!important;
  }

  /* Botón + */
  html body #menu #featuredScroller > .featured-card .quick-add.open-modal-btn{
    right:8px!important;
    bottom:8px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    z-index:5!important;
  }

  /* Nombre y precio debajo de la imagen */
  html body #menu #featuredScroller > .featured-card > h3{
    width:100%!important;
    max-width:100%!important;
    min-height:38px!important;
    margin:8px 0 4px!important;
    padding:0!important;
    color:#111!important;
    font-size:16px!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:normal!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  html body #menu #featuredScroller > .featured-card > p{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    color:#111!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:700!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  /* Ocultar cualquier contador residual */
  html body #menu .section-heading p{
    display:none!important;
  }
}

/* Teléfonos angostos */
@media screen and (max-width:430px){
  html body #menu #featuredScroller{
    gap:12px!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex-basis:calc((100vw - 50px)/2)!important;
    width:calc((100vw - 50px)/2)!important;
    min-width:calc((100vw - 50px)/2)!important;
    max-width:calc((100vw - 50px)/2)!important;
  }

  html body #menu #featured-products .featured-nav-btn{
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    font-size:24px!important;
  }

  html body #menu #featuredScroller > .featured-card > h3{
    font-size:16px!important;
  }

  html body #menu #featuredScroller > .featured-card > p{
    font-size:15px!important;
  }
}


/* ============================================================
   LCAM 2.6.46 — SELECTOR DOMICILIO / RECOGER
   ============================================================ */
.fulfillment-selector{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:3px;
  border:1px solid #e4e4e4;
  border-radius:999px;
  background:#f1f1f1;
  width:max-content;
}

.fulfillment-selector__option{
  appearance:none;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#111;
  padding:9px 16px;
  font-size:14px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease,box-shadow .18s ease;
}

.fulfillment-selector__option.is-active{
  background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.16);
}

@media screen and (min-width:901px){
  .restaurant-headline{
    position:relative;
  }

  .fulfillment-selector{
    margin-top:14px;
  }
}

@media screen and (max-width:900px){
  .restaurant-title-row{
    align-items:flex-start!important;
  }

  .fulfillment-selector{
    margin:12px 0 4px;
  }

  .fulfillment-selector__option{
    min-height:38px;
    padding:10px 17px;
    font-size:14px;
  }
}


/* ============================================================
   LCAM 2.6.47 — TIPOGRAFÍA ESTILO APP DE DELIVERY
   Categorías y nombres de producto con una fuente limpia,
   compacta y de alta legibilidad, similar a la referencia.
   ============================================================ */

:root{
  --lcam-ui-font: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Nombres de categorías: menú lateral, pestañas y encabezados */
html body #menu .menu-sidebar,
html body #menu .sidebar-sticky,
html body #menu .sidebar-nav,
html body #menu .sidebar-nav a,
html body #menu .category-tabs,
html body #menu .category-tabs a,
html body #menu .mobile-category-nav,
html body #menu .mobile-category-nav a,
html body #menu .section-heading h2,
html body #menu .section-heading--featured h2,
html body #menu .mobile-best-sellers-section .section-heading h2,
html body #menu .category-product-section .section-heading h2{
  font-family:var(--lcam-ui-font)!important;
  letter-spacing:-.015em!important;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}

/* Nombre de categorías en navegación */
html body #menu .sidebar-nav a,
html body #menu .category-tabs a,
html body #menu .mobile-category-nav a{
  font-weight:500!important;
  line-height:1.25!important;
}

html body #menu .sidebar-nav a.is-active,
html body #menu .category-tabs a.is-active,
html body #menu .mobile-category-nav a.is-active{
  font-weight:700!important;
}

/* Títulos de sección */
html body #menu .section-heading h2,
html body #menu .section-heading--featured h2,
html body #menu .mobile-best-sellers-section .section-heading h2,
html body #menu .category-product-section .section-heading h2{
  font-weight:750!important;
  line-height:1.15!important;
}

/* Nombres de todos los productos */
html body #menu .featured-card h3,
html body #menu .product-card .product-info h3,
html body #menu .mobile-best-sellers-row .product-info h3,
html body #menu .category-product-section .product-info h3{
  font-family:var(--lcam-ui-font)!important;
  font-weight:650!important;
  letter-spacing:-.012em!important;
  line-height:1.22!important;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}

/* Precio y descripción para mantener coherencia visual */
html body #menu .featured-card > p,
html body #menu .product-card .product-info strong,
html body #menu .product-card .product-info p,
html body #menu .mobile-best-sellers-row .product-info strong,
html body #menu .mobile-best-sellers-row .product-info p,
html body #menu .category-product-section .product-info strong,
html body #menu .category-product-section .product-info p{
  font-family:var(--lcam-ui-font)!important;
  letter-spacing:-.006em!important;
  -webkit-font-smoothing:antialiased!important;
}

/* Escritorio */
@media screen and (min-width:901px){
  html body #menu .section-heading h2,
  html body #menu .section-heading--featured h2,
  html body #menu .category-product-section .section-heading h2{
    font-size:24px!important;
  }

  html body #menu .featured-card h3,
  html body #menu .category-product-section .product-info h3{
    font-size:16px!important;
  }

  html body #menu .sidebar-nav a,
  html body #menu .category-tabs a{
    font-size:16px!important;
  }
}

/* Móvil */
@media screen and (max-width:900px){
  html body #menu .section-heading h2,
  html body #menu .section-heading--featured h2,
  html body #menu .mobile-best-sellers-section .section-heading h2,
  html body #menu .category-product-section .section-heading h2{
    font-size:20px!important;
    font-weight:750!important;
  }

  html body #menu .featured-card h3,
  html body #menu .product-card .product-info h3,
  html body #menu .mobile-best-sellers-row .product-info h3,
  html body #menu .category-product-section .product-info h3{
    font-size:16px!important;
    font-weight:650!important;
    line-height:1.2!important;
  }

  html body #menu .mobile-category-nav a,
  html body #menu .category-tabs a{
    font-size:17px!important;
    font-weight:500!important;
  }

  html body #menu .mobile-category-nav a.is-active,
  html body #menu .category-tabs a.is-active{
    font-weight:700!important;
  }
}


/* ============================================================
   LCAM 2.6.48 — 5 ARTÍCULOS DESTACADOS VISIBLES EN ESCRITORIO
   La versión móvil no se modifica.
   ============================================================ */
@media screen and (min-width:901px){
  html body #menu #featuredScroller{
    gap:20px!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex:0 0 calc((100% - 80px)/5)!important;
    width:calc((100% - 80px)/5)!important;
    min-width:calc((100% - 80px)/5)!important;
    max-width:calc((100% - 80px)/5)!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
}


/* ============================================================
   LCAM 2.6.49 — 4 DESTACADOS WEB / 3 DESTACADOS MÓVIL
   Tipografía unificada para Artículos destacados.
   ============================================================ */

html body #menu #featuredScroller > .featured-card{
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
}

html body #menu #featuredScroller > .featured-card > h3,
html body #menu #featuredScroller > .featured-card > p,
html body #menu #featuredScroller > .featured-card .rank{
  font-family:inherit!important;
  letter-spacing:normal!important;
}

/* Escritorio: exactamente 4 artículos visibles */
@media screen and (min-width:901px){
  html body #menu #featuredScroller{
    gap:20px!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex:0 0 calc((100% - 60px)/4)!important;
    width:calc((100% - 60px)/4)!important;
    min-width:calc((100% - 60px)/4)!important;
    max-width:calc((100% - 60px)/4)!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }

  html body #menu #featuredScroller > .featured-card > h3{
    margin:8px 0 4px!important;
    min-height:40px!important;
    font-size:17px!important;
    line-height:1.18!important;
    font-weight:800!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }

  html body #menu #featuredScroller > .featured-card > p{
    margin:0!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }
}

/* Móvil: exactamente 3 artículos visibles */
@media screen and (max-width:900px){
  html body #menu #featuredScroller{
    gap:10px!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex:0 0 calc((100vw - 48px)/3)!important;
    width:calc((100vw - 48px)/3)!important;
    min-width:calc((100vw - 48px)/3)!important;
    max-width:calc((100vw - 48px)/3)!important;
  }

  html body #menu #featuredScroller > .featured-card > .featured-image{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1/1!important;
  }

  html body #menu #featuredScroller > .featured-card > h3{
    margin:7px 0 4px!important;
    min-height:34px!important;
    font-size:14px!important;
    line-height:1.18!important;
    font-weight:800!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
  }

  html body #menu #featuredScroller > .featured-card > p{
    margin:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }

  html body #menu #featuredScroller > .featured-card .rank{
    top:6px!important;
    left:6px!important;
    max-width:calc(100% - 12px)!important;
    padding:4px 6px!important;
    font-size:8px!important;
    line-height:1.05!important;
    font-weight:800!important;
  }

  html body #menu #featuredScroller > .featured-card .quick-add.open-modal-btn{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    right:6px!important;
    bottom:6px!important;
  }

  html body #menu #featuredScroller > .featured-card .quick-add.open-modal-btn > svg.lcam-plus-icon{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
  }
}

@media screen and (max-width:380px){
  html body #menu #featuredScroller{
    gap:8px!important;
  }

  html body #menu #featuredScroller > .featured-card{
    flex-basis:calc((100vw - 42px)/3)!important;
    width:calc((100vw - 42px)/3)!important;
    min-width:calc((100vw - 42px)/3)!important;
    max-width:calc((100vw - 42px)/3)!important;
  }

  html body #menu #featuredScroller > .featured-card > h3{
    font-size:13px!important;
  }

  html body #menu #featuredScroller > .featured-card > p{
    font-size:12px!important;
  }
}


/* ============================================================
   LCAM 2.6.50 — BUSCADOR WEB Y MENÚ LATERAL MÁS LEGIBLE
   ============================================================ */
@media screen and (min-width:901px){
  html body #menu .menu-sidebar h3{
    margin:0 0 4px!important;
    font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }

  html body #menu .menu-sidebar small{
    display:block!important;
    margin-bottom:16px!important;
    font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:13px!important;
    line-height:1.3!important;
  }

  html body #menu .menu-sidebar #categoryNav a{
    min-height:42px!important;
    padding:11px 14px!important;
    font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:500!important;
  }

  html body #menu .menu-sidebar #categoryNav a.is-active,
  html body #menu .menu-sidebar #categoryNav a.active,
  html body #menu .menu-sidebar #categoryNav a[aria-current="true"]{
    font-weight:800!important;
  }

  html body #menu .desktop-product-search{
    display:flex!important;
    align-items:center!important;
    width:min(520px,100%)!important;
    min-height:48px!important;
    margin:0 0 24px auto!important;
    border:1px solid #e6e6e6!important;
    border-radius:999px!important;
    background:#f6f6f6!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  html body #menu .desktop-product-search__icon{
    width:22px!important;
    height:22px!important;
    margin-left:16px!important;
    flex:0 0 22px!important;
  }

  html body #menu .desktop-product-search__icon svg{
    width:100%!important;
    height:100%!important;
    fill:none!important;
    stroke:#111!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
  }

  html body #menu .desktop-product-search input{
    min-width:0!important;
    flex:1 1 auto!important;
    height:46px!important;
    padding:0 12px!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#111!important;
    font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:15px!important;
  }

  html body #menu .desktop-product-search input::placeholder{
    color:#747474!important;
    opacity:1!important;
  }

  html body #menu .desktop-product-search button{
    align-self:stretch!important;
    padding:0 20px!important;
    border:0!important;
    background:#111!important;
    color:#fff!important;
    font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:800!important;
    cursor:pointer!important;
  }

  html body #menu .desktop-product-search__clear{
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    margin-right:6px!important;
    border-radius:50%!important;
    color:#555!important;
    text-decoration:none!important;
    font-size:24px!important;
  }

  html body #menu .desktop-search-summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    margin:-8px 0 24px!important;
    padding:14px 16px!important;
    border-radius:12px!important;
    background:#f7f7f7!important;
    font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  }

  html body #menu .desktop-search-summary strong{
    font-size:16px!important;
    font-weight:800!important;
  }

  html body #menu .desktop-search-summary span{
    color:#666!important;
    font-size:14px!important;
  }
}

@media screen and (max-width:900px){
  html body #menu .desktop-product-search,
  html body #menu .desktop-search-summary{
    display:none!important;
  }
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* ============================================================
   LCAM 2.6.51 — FUENTE DE DESTACADOS IGUAL A EXCLUSIVOS WEB
   Solo escritorio.
   ============================================================ */
@media screen and (min-width:901px){
  html body #menu #featuredScroller > .featured-card > h3{
    margin:8px 0 4px!important;
    min-height:0!important;
    font-family:var(--lcam-ui-font)!important;
    font-size:16px!important;
    line-height:1.22!important;
    font-weight:650!important;
    letter-spacing:-.012em!important;
    text-rendering:optimizeLegibility!important;
    -webkit-font-smoothing:antialiased!important;
    -moz-osx-font-smoothing:grayscale!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
}


/* ============================================================
   LCAM 2.6.52 — VARIACIONES Y MODIFICADORES SINCRONIZADOS
   ============================================================ */
.woo-modifier-groups{
  display:grid!important;
  gap:16px!important;
}

.lcam-sync-group{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.lcam-sync-group legend{
  display:block!important;
  width:100%!important;
  margin:0 0 4px!important;
  padding:0!important;
  color:#111!important;
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

.lcam-group-hint{
  margin:0 0 10px!important;
  color:#6d6d6d!important;
  font-size:13px!important;
  line-height:1.35!important;
}

.lcam-check-list{
  display:grid!important;
  gap:8px!important;
}

.lcam-check-option,
.lcam-quantity-option{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:58px!important;
  padding:11px 13px!important;
  border:1px solid #dedede!important;
  border-radius:12px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
  transition:border-color .15s ease,background .15s ease!important;
}

.lcam-check-option:hover{
  border-color:#999!important;
}

.lcam-check-option input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}

.lcam-check-box{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  border:2px solid #b5b5b5!important;
  border-radius:5px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

.lcam-check-option input:checked + .lcam-check-box{
  border-color:#8f0000!important;
  background:#8f0000!important;
}

.lcam-check-option input:checked + .lcam-check-box::after{
  content:"✓"!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
}

.lcam-check-option:has(input:checked){
  border-color:#8f0000!important;
  background:#fff8f8!important;
}

.lcam-check-option.is-disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
}

.lcam-check-copy{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}

.lcam-check-copy strong{
  color:#111!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:750!important;
}

.lcam-check-copy small{
  flex:0 0 auto!important;
  color:#666!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:600!important;
}

.lcam-quantity-option{
  cursor:default!important;
}

.lcam-mini-stepper{
  display:grid!important;
  grid-template-columns:36px 30px 36px!important;
  align-items:center!important;
  flex:0 0 auto!important;
  border-radius:999px!important;
  background:#f1f1f1!important;
  overflow:hidden!important;
}

.lcam-mini-stepper button{
  width:36px!important;
  height:36px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#111!important;
  font-size:20px!important;
  font-weight:700!important;
  cursor:pointer!important;
}

.lcam-mini-stepper button:disabled{
  opacity:.35!important;
}

.lcam-mini-stepper span{
  text-align:center!important;
  font-size:14px!important;
  font-weight:800!important;
}

.lcam-no-options{
  margin:0!important;
  padding:12px 14px!important;
  border-radius:10px!important;
  background:#f7f7f7!important;
  color:#666!important;
  font-size:13px!important;
}

.modifier-sync-status[data-type="error"]{
  color:#a00000!important;
  background:#fff1f1!important;
  border-color:#efb4b4!important;
}

@media screen and (max-width:900px){
  .lcam-sync-group legend{font-size:16px!important}
  .lcam-check-option,.lcam-quantity-option{min-height:56px!important;padding:10px 12px!important}
  .lcam-check-copy{align-items:flex-start!important;flex-direction:column!important;gap:3px!important}
}


/* ============================================================
   LCAM 2.6.54 — VARIACIONES COMO CHECKS DE SELECCIÓN ÚNICA
   ============================================================ */

.lcam-variation-group{
  display:block!important;
}

.lcam-variation-list{
  display:grid!important;
  gap:9px!important;
}

.lcam-variation-option{
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:manipulation!important;
}

.lcam-variation-option .lcam-variation-check{
  border-radius:6px!important;
}

.lcam-variation-option input:checked + .lcam-variation-check,
.lcam-variation-option.is-selected .lcam-variation-check{
  border-color:#8f0000!important;
  background:#8f0000!important;
}

.lcam-variation-option input:checked + .lcam-variation-check::after,
.lcam-variation-option.is-selected .lcam-variation-check::after{
  content:"✓"!important;
  display:block!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
}

.lcam-variation-option.is-selected{
  border-color:#8f0000!important;
  background:#fff7f7!important;
  box-shadow:0 0 0 1px rgba(143,0,0,.08)!important;
}

.lcam-variation-option.is-disabled{
  background:#f5f5f5!important;
}

.lcam-variation-option.is-disabled .lcam-check-copy small{
  color:#8a8a8a!important;
}

@media screen and (max-width:900px){
  .lcam-variation-option{
    min-height:58px!important;
    padding:12px!important;
  }

  .lcam-variation-option .lcam-check-copy strong{
    font-size:15px!important;
  }

  .lcam-variation-option .lcam-check-copy small{
    font-size:13px!important;
  }
}


/* ============================================================
   LCAM 2.6.55 — CONTROLES SEGÚN TIPO DE OPCIÓN
   Casilla de verificación = botones + / −
   Botón de opción = check de selección única
   ============================================================ */

.lcam-quantity-list{
  display:grid!important;
  gap:10px!important;
}

.lcam-quantity-option{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:62px!important;
  padding:12px 14px!important;
  border:1px solid #e1e1e1!important;
  border-radius:12px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

.lcam-mini-stepper{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
}

.lcam-mini-stepper button{
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:1px solid #d8d8d8!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#111!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:23px!important;
  font-weight:700!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}

.lcam-mini-stepper button:hover:not(:disabled){
  border-color:#8f0000!important;
  color:#8f0000!important;
}

.lcam-mini-stepper button:disabled{
  opacity:.35!important;
  cursor:not-allowed!important;
}

.lcam-mini-stepper [data-lcam-qty-value]{
  min-width:22px!important;
  text-align:center!important;
  color:#111!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:800!important;
}

/* Botones de opción: check visual, selección única mediante radio */
.lcam-radio-check-option .lcam-check-box{
  border-radius:6px!important;
}

.lcam-radio-check-option input:checked + .lcam-check-box,
.lcam-radio-check-option.is-selected .lcam-check-box{
  border-color:#8f0000!important;
  background:#8f0000!important;
}

.lcam-radio-check-option input:checked + .lcam-check-box::after,
.lcam-radio-check-option.is-selected .lcam-check-box::after{
  content:"✓"!important;
  display:block!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
}

.lcam-radio-check-option.is-selected{
  border-color:#8f0000!important;
  background:#fff7f7!important;
}

@media screen and (max-width:900px){
  .lcam-quantity-option{
    min-height:58px!important;
    padding:11px 12px!important;
  }

  .lcam-mini-stepper{
    gap:8px!important;
  }

  .lcam-mini-stepper button{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    font-size:21px!important;
  }
}


/* ============================================================
   LCAM 2.6.56 — RADIO = CHECK / CHECKBOX = + Y −
   ============================================================ */

/* Opciones de selección única */
.lcam-radio-check-option{
  cursor:pointer!important;
}

.lcam-radio-check-option .lcam-check-box{
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  border-radius:6px!important;
}

/* Opciones de cantidad */
.lcam-quantity-option .lcam-mini-stepper{
  visibility:visible!important;
  opacity:1!important;
}

/* Evitar que un grupo single herede estilos de stepper */
[data-control-mode="single"] .lcam-mini-stepper{
  display:none!important;
}


/* ============================================================
   LCAM 2.6.57 — VARIACIONES Y OPCIONES EN LISTA EN EL CARRITO
   ============================================================ */

.drawer-selection-group{
  margin:8px 0 0!important;
  padding:0!important;
}

.drawer-selection-group h5{
  margin:0 0 5px!important;
  color:#666!important;
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.drawer-selection-group ul{
  display:grid!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.drawer-selection-group li{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(74px,auto) minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  margin:0!important;
  padding:0 0 0 12px!important;
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.3!important;
}

.drawer-selection-group li::before{
  content:"•"!important;
  position:absolute!important;
  top:0!important;
  left:1px!important;
  color:#8f0000!important;
  font-size:14px!important;
  line-height:1.1!important;
}

.drawer-selection-group li > span{
  color:#686868!important;
  font-weight:500!important;
}

.drawer-selection-group li > strong{
  min-width:0!important;
  color:#222!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:700!important;
  overflow-wrap:anywhere!important;
}

.drawer-selection-group--note{
  padding:7px 9px!important;
  border-radius:8px!important;
  background:#f7f7f7!important;
}

.drawer-selection-group--note p{
  margin:0!important;
  color:#444!important;
  font-size:12px!important;
  line-height:1.35!important;
}

@media screen and (max-width:480px){
  .drawer-selection-group li{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:6px!important;
    font-size:11.5px!important;
  }

  .drawer-selection-group li > strong{
    font-size:11.5px!important;
  }
}


/* ============================================================
   LCAM 2.6.58 — OPCIÓN DEL CARRITO: CANTIDAD + NOMBRE + IMPORTE
   Ejemplo:
   2 Quesadilla tortilla de maíz (pza)             $80.00
   ============================================================ */

.drawer-selection-group--options .drawer-option-lines{
  display:grid!important;
  gap:5px!important;
}

.drawer-selection-group--options .drawer-option-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:12px!important;
  padding:0!important;
}

.drawer-selection-group--options .drawer-option-line::before{
  content:none!important;
  display:none!important;
}

.drawer-option-line__description{
  min-width:0!important;
  color:#333!important;
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:500!important;
  overflow-wrap:anywhere!important;
}

.drawer-option-line__description b{
  margin-right:4px!important;
  color:#111!important;
  font-weight:800!important;
}

.drawer-option-line__amount{
  color:#111!important;
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:800!important;
  white-space:nowrap!important;
  text-align:right!important;
}

@media screen and (max-width:480px){
  .drawer-selection-group--options .drawer-option-line{
    gap:8px!important;
  }

  .drawer-option-line__description,
  .drawer-option-line__amount{
    font-size:11.5px!important;
  }
}


/* ============================================================
   LCAM 2.6.59 — MÁS VISTO Y MODAL DE MÁS VENDIDOS EN MÓVIL
   ============================================================ */
@media screen and (max-width:900px){

  /* "# más visto" usa la misma tipografía del nombre del producto */
  html body #menu #featuredScroller > .featured-card .rank{
    font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:14px!important;
    line-height:1.18!important;
    font-weight:800!important;
    letter-spacing:normal!important;
    padding:5px 7px!important;
    max-width:calc(100% - 12px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Toda la tarjeta de Más Vendidos debe indicar que es seleccionable */
  html body #menu .mobile-best-sellers-row .product-card{
    cursor:pointer!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  html body #menu .mobile-best-sellers-row .product-card .product-info,
  html body #menu .mobile-best-sellers-row .product-card .product-media,
  html body #menu .mobile-best-sellers-row .product-card .product-media img{
    pointer-events:auto!important;
  }

  html body #menu .mobile-best-sellers-row .open-modal-btn{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    z-index:120!important;
  }
}

@media screen and (max-width:380px){
  html body #menu #featuredScroller > .featured-card .rank{
    font-size:13px!important;
    line-height:1.18!important;
  }
}
