@media (max-width:768px){

    .menu-section{
        width:100%;
        min-height:100svh;
        background:#f5eddc;
        padding:clamp(65px,8svh,85px) 0 60px;
        overflow:hidden;
        position:relative;
        box-sizing:border-box;
    }

    .menu-section .contenedor{
        position:relative;
        width:min(100% - 30px,400px);
        margin:0 auto;
        padding:0;
        transform:none;
        display:flex;
        flex-direction:column;
        box-sizing:border-box;
    }

    .menu-titulo{
        display:flex;
        justify-content:center;
        align-items:center;
        gap:8px;
        margin:0 0 28px;
        position:relative;
    }

    .flor-izquierda{
        width:45px;
        flex-shrink:0;
    }

    .flor-derecha{
        width:52px;
        flex-shrink:0;
    }

    .menu-titulo h2{
        font-size:clamp(1.9rem,8vw,2.3rem);
        line-height:1;
        white-space:nowrap;
    }

    .menu-subtitulo{
        position:absolute;
        top:-24px;
        left:50%;
        transform:translateX(-50%);
        font-size:.65rem;
        letter-spacing:1px;
        white-space:nowrap;
    }

    .menu-categorias{
        width:100%;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px;
        padding:0;
        margin:0 0 32px;
        box-sizing:border-box;
    }

    .categoria:nth-child(1),
    .categoria:nth-child(2),
    .categoria:nth-child(3){
        grid-column:auto;
    }

    .categoria:nth-child(4),
    .categoria:nth-child(5){
        grid-column:auto;
    }

    .categoria{
        width:100%;
        min-width:0;
        min-height:42px;
        padding:9px 5px;
        border-radius:30px;
        display:flex;
        justify-content:center;
        align-items:center;
        gap:5px;
        font-size:.78rem;
        white-space:nowrap;
        box-sizing:border-box;
        background:transparent;
        box-shadow:none;
    }

    .categoria:hover,
    .categoria.activa{
        background:#b62025;
        color:#fff;
    }

    .categoria i{
        font-size:1.1rem;
        flex-shrink:0;
    }

    .categoria span{
        font-size:clamp(.68rem,3vw,.8rem);
        font-weight:600;
    }

    .menu-slider{
        position:relative;
        top:0;
        width:100%;
        display:flex;
        justify-content:center;
        align-items:center;
        padding:0;
        margin:0;
    }

    .slider-btn{
        display:none;
    }

    .menu-viewport{
        width:100%;
        max-width:none;
        overflow:hidden;
        margin:0;
        padding:0;
    }

    .menu-track{
        display:flex;
        gap:14px;
        width:max-content;
        transition:transform .45s ease;
        margin:0;
        padding:0;
        touch-action:pan-y;
        cursor:grab;
    }

    .menu-track:active{
        cursor:grabbing;
    }

    .platillo-card{
        width:calc(100vw - 30px);
        min-width:calc(100vw - 30px);
        max-width:400px;
        flex:0 0 calc(100vw - 30px);
        border-radius:16px;
        overflow:hidden;
        box-shadow:none;
        background:#fff;
        box-sizing:border-box;
    }

    .platillo-card:hover{
        transform:none;
        box-shadow:none;
    }

    .platillo-img{
        width:100%;
        height:clamp(155px,42vw,190px);
        overflow:hidden;
    }

    .platillo-img img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }

    .platillo-img img:hover{
        transform:none;
    }

    .platillo-info{
        width:100%;
        min-height:115px;
        padding:13px 15px 16px;
        box-sizing:border-box;
        display:flex;
        flex-direction:column;
    }

    .platillo-info h3{
        font-size:1rem;
        margin:0 0 5px;
        line-height:1.2;
    }

    .platillo-info p{
        font-size:.8rem;
        line-height:1.35;
        margin:0 0 5px;
        flex:1;
    }

    .platillo-info span{
        font-size:.88rem;
        margin-top:auto;
    }

    .menu-banners{
        position:relative;
        width:100%;
        height:215px;
        margin:55px 0 0;
        padding:0;
        overflow:hidden;
        box-sizing:border-box;
        display:block;
    }

    .menu-banners::-webkit-scrollbar{
        display:none;
    }

    .banner{
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:205px;
        min-height:205px;
        padding:22px;
        border-radius:18px;
        box-sizing:border-box;
        overflow:hidden;
        display:flex;
        align-items:center;
        justify-content:space-between;
        transition:transform .45s ease;
    }

    .banner:nth-child(1){
        transform:translateX(0);
        z-index:2;
    }

    .banner:nth-child(2){
        transform:translateX(100%);
        z-index:1;
    }

    .banner-texto{
        position:relative;
        z-index:3;
        width:58%;
        max-width:58%;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
    }

    .banner-texto h3{
        font-size:1.4rem;
        line-height:1.1;
        margin:0 0 8px;
    }

    .banner-texto p{
        font-size:.82rem;
        line-height:1.35;
        margin:0 0 12px;
    }

    .banner-texto a{
        padding:9px 15px;
        font-size:.76rem;
        display:inline-flex;
        align-items:center;
        gap:6px;
        white-space:nowrap;
    }

    .banner-texto a i{
        font-size:1.2rem;
    }

    .banner > img:last-child{
        position:absolute;
        right:5px;
        bottom:5px;
        width:125px;
        height:auto;
        z-index:2;
    }

    .banner-rojo > img:last-child{
        width:135px;
        transform:scale(1.15);
        transform-origin:center;
        right:14px;
        bottom:50px;
    }

    .banner-verde > img:last-child{
        width:135px;
        transform:scale(1.25);
        transform-origin:center;
        right:20px;
        bottom:45px;
    }

    .banner-detalle{
        width:70px;
        margin:0 0 8px;
        display:block;
    }

    .aviso-desliza{
        display:none !important;
    }

    .usuario-logueado{
        order:3;
        justify-self:end;
        display:flex;
        align-items:center;
        gap:5px;
    }

    .nombre-usuario{
        font-size:0;
        display:flex;
        align-items:center;
    }

    .nombre-usuario i{
        font-size:2rem;
        color:#b62025;
    }

    .btn-cerrar-sesion{
        width:36px;
        height:36px;
        display:flex;
        align-items:center;
        justify-content:center;
        background:#b62025;
        color:#fff;
        border-radius:50%;
    }

    .btn-cerrar-sesion i{
        font-size:1.25rem;
    }
}

@media (max-width:380px){

    .menu-section{
        padding-top:65px;
    }

    .menu-section .contenedor{
        width:calc(100% - 24px);
    }

    .menu-titulo{
        gap:5px;
    }

    .flor-izquierda{
        width:35px;
    }

    .flor-derecha{
        width:40px;
    }

    .menu-titulo h2{
        font-size:1.8rem;
    }

    .menu-categorias{
        gap:3px;
    }

    .categoria{
        padding:8px 2px;
    }

    .categoria i{
        font-size:1rem;
    }

    .categoria span{
        font-size:.67rem;
    }

    .platillo-card{
        width:calc(100vw - 24px);
        min-width:calc(100vw - 24px);
        flex-basis:calc(100vw - 24px);
    }

    .menu-banners{
        margin-top:45px;
    }

    .banner{
        padding:18px;
    }

    .banner-texto h3{
        font-size:1.25rem;
    }

    .banner-texto p{
        font-size:.76rem;
    }

    .banner > img:last-child{
        width:115px;
    }

    .banner-rojo > img:last-child,
    .banner-verde > img:last-child{
        width:125px;
    }
}