/* V12: categorías alineadas + experiencia móvil sin solapamiento.
   Esta capa final respeta la personalización, la carta QR y los paneles. */
body:not(.admin-page) .menu-section{
  scroll-margin-top: 116px;
  padding-block: 28px 40px;
}
body:not(.admin-page) .menu-shell{
  align-items:start;
  min-width:0;
}
body:not(.admin-page) .menu-sidebar{
  padding:0 18px 0 0 !important;
  min-height:0 !important;
  align-self:start;
  height:auto !important;
}
body:not(.admin-page) .sidebar-sticky{
  position:static !important;
  top:auto !important;
  min-height:0;
}
body:not(.admin-page) .sidebar-head h2{
  margin:0 0 15px;
  line-height:1.4;
}
body:not(.admin-page) .menu-content{
  width:100%;
  min-width:0;
}
body:not(.admin-page) .menu-intro{
  margin-top:0;
  margin-bottom:19px;
  min-width:0;
}
body:not(.admin-page) .product-grid,
body:not(.admin-page) .menu-group,
body:not(.admin-page) .product-grid-inner{
  min-width:0;
  max-width:100%;
}
/* No se modifica el selector compartido de la carta QR. */
@media(max-width:760px){
  body:not(.admin-page) .menu-section{
    padding:24px 0 42px;
    scroll-margin-top:125px;
  }
  body:not(.admin-page) .menu-shell{
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
    min-width:0;
  }
  body:not(.admin-page) .menu-sidebar{
    display:block;
    position:relative;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0 0 17px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0;
    min-height:0 !important;
    height:auto !important;
    overflow:visible;
  }
  body:not(.admin-page) .sidebar-sticky{
    position:static !important;
    top:auto !important;
    display:block;
    width:100%;
    min-height:0;
  }
  body:not(.admin-page) .sidebar-head{
    margin:0 0 10px;
  }
  body:not(.admin-page) .sidebar-head h2{
    margin:0;
    font-size:17px;
    line-height:1.35;
  }
  body:not(.admin-page) .menu-search{
    width:100%;
    margin:0 0 12px;
    height:44px;
  }
  body:not(.admin-page) #homeCategories{
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:stretch;
    gap:8px;
    position:relative;
    isolation:isolate;
    width:100%;
    max-width:100%;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:thin;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    padding:0 0 9px;
    margin:0;
  }
  body:not(.admin-page) #homeCategories button{
    display:flex;
    flex:0 0 auto;
    width:auto;
    min-height:40px;
    padding:10px 12px !important;
    font-size:12px !important;
    line-height:1.3;
    scroll-snap-align:start;
    white-space:nowrap;
  }
  body:not(.admin-page) .menu-content{
    display:block;
    width:100%;
    min-width:0;
    clear:both;
    position:relative;
    margin:0;
    padding:0;
  }
  body:not(.admin-page) .menu-intro{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 16px;
  }
  body:not(.admin-page) .menu-intro .eyebrow-minimal{font-size:10px}
  body:not(.admin-page) .menu-count{font-size:11px}
  body:not(.admin-page) .menu-group-title{
    margin:0 0 11px;
    font-size:17px;
    line-height:1.3;
  }
  body:not(.admin-page) .product-grid{gap:25px}
  body:not(.admin-page) .product-grid-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px;
  }
  body:not(.admin-page) .product-card{
    display:grid;
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0,58%) minmax(0,42%) !important;
    grid-template-rows:auto !important;
    min-height:155px;
  }
  body:not(.admin-page) .product-body{
    grid-column:1;
    grid-row:1;
    padding:14px;
    min-height:0;
  }
  body:not(.admin-page) .product-body h3{
    font-size:15px;
    font-weight:700;
    line-height:1.3;
  }
  body:not(.admin-page) .product-body .price{font-size:15px}
  body:not(.admin-page) .product-body p{
    font-size:11.5px;
    line-height:1.45;
    -webkit-line-clamp:3;
  }
  body:not(.admin-page) .product-image{
    grid-column:2;
    grid-row:1;
    min-height:155px;
  }
  body:not(.admin-page) .product-image button{
    width:35px;
    height:35px;
    right:9px;
    bottom:9px;
  }
}
@media(max-width:400px){
  body:not(.admin-page) .product-card{
    grid-template-columns:minmax(0,57%) minmax(0,43%) !important;
    min-height:150px;
  }
  body:not(.admin-page) .product-body{padding:12px}
  body:not(.admin-page) .product-body h3{font-size:14px}
  body:not(.admin-page) .product-body p{font-size:11px}
  body:not(.admin-page) .product-image{min-height:150px}
  body:not(.admin-page) .store-primary-actions{gap:8px}
  body:not(.admin-page) .store-primary-actions a{font-size:11px;padding:10px 8px}
}
