.menu-section{
    background:#f5eddc;
    padding:35px 0 35px;
    overflow:hidden;
    min-height:auto;
}
.menu-section .contenedor{
    position:relative;
    transform:translateY(10px) scale(.84);
    transform-origin:top center;
    margin-bottom:-113px;
}
.menu-titulo{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    margin-bottom:30px;
}
.flor-izquierda{
    width:80px;
}

.flor-derecha{
    width:95px;
}
.menu-titulo h2{
    font-family:"Bree Serif",serif;
    font-size:3rem;
    color:#1f4b35;
}
.menu-subtitulo{
    position:absolute;
    top:-8px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:6px;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:1.5px;
    color:#b27b39;
    text-transform:uppercase;
}
.menu-subtitulo i{
    color:#b27b39;
    font-size:.9rem;
    animation:latidoCorazon 1.4s ease-in-out infinite;
    transform-origin:center;
}
@keyframes latidoCorazon{
    0%,100%{
        transform:scale(1);
    }
    15%{
        transform:scale(1.25);
    }
    30%{
        transform:scale(1);
    }
    45%{
        transform:scale(1.18);
    }
    60%{
        transform:scale(1);
    }
}
.menu-categorias{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:45px;
}
.categoria{
    border:none;
    background:transparent;
    border-radius:50px;
    padding:10px 18px;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    transition:.3s;
    font-weight:600;
    color:#444;
    font-size:1rem;
}
.categoria i{
    font-size:1.35rem;
}
.categoria:hover,
.categoria.activa{
    background:#b62025;
    color:#fff;
}
.categoria span{
    font-size:1rem;      
    font-weight:600;
}
.menu-slider{
    display:grid;
    grid-template-columns:80px 1320px 80px;
    gap:20px;
    align-items:center;
    justify-content:center;
}
.slider-btn.prev{
    margin-left:25px;
}
.slider-btn.next{
    margin-right:25px;
}
.slider-btn{
    width:56px;
    height:56px;
    border:none;
    border-radius:50%;
    background:#184d3a;
    color:#fff;
    cursor:pointer;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    z-index:10;
    flex-shrink:0;
    box-shadow:0 5px 12px rgba(0,0,0,.15);
}
.slider-btn i{
    font-size:2rem;
    line-height:1;
}
.slider-btn.prev{
    left:0;
    right:auto;
}
.slider-btn.next{
    right: 1px;;
    left:auto;
}
.menu-track{
    display:flex;
    gap:14px;
    width:max-content;
    transition:transform .45s ease;
}
.menu-viewport{
    width:1320px;
    overflow:hidden;
    min-width:0;
}
.platillo-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:none;
    transition:.3s;
    width:320px;
    min-width:320px;
    max-width:320px;
    flex:0 0 320px;
}
.platillo-card:hover{
    transform:translateY(-5px);
    box-shadow:none;
}
.platillo-img{
    height:170px;
    overflow:hidden;
}
.platillo-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.platillo-img img:hover{
    transform:scale(1.06);
}
.platillo-info{
    padding:15px;
    min-height:125px;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
}
.platillo-info h3{
    margin:0 0 7px;
    font-size:1.15rem;
}
.platillo-info p{
    font-size:.9rem;
    color:#666;
    line-height:1.45;
    margin:0;
    flex:1;
}
.platillo-info span{
    color:#e88d0a;
    font-weight:700;
    margin-top:8px;
    font-size:.95rem;
}
.video-card{
    width:260px;
    min-height:290px;
    background:url("../Menu/video.jpg") center/cover no-repeat;
    position:relative;
}
.video-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#fff;
    padding:20px;
}
.video-overlay i{
    font-size:4rem;margin-bottom:18px;
}
.video-overlay h3{
    margin-bottom:16px;
}
.video-overlay a{
    color:#ffd66d;font-weight:700;
}
.menu-banners{
    margin-top:45px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}
.banner{
    border-radius:22px;
    padding:28px;
    min-height:220px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    overflow:hidden;
    color:#fff;
}
.banner-rojo{
    background:linear-gradient(135deg,#b62025,#d64a39);
}
.banner-verde{
    background:linear-gradient(135deg,#0f5132,#184d3a);
}
.banner-texto h3{
    font-family:"Bree Serif",serif;
    font-size:2rem;
    margin-bottom:12px;
}
.banner-texto p{
    margin-bottom:18px;
    line-height:1.6;
}
.banner-texto a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 22px;
    border-radius:40px;
    background:#fff;
    color:#b62025;
    font-weight:700;
}
.banner-texto a i{
    font-size: 1.6rem;
    margin-left: 5px;
    transition: transform .3s ease;
}
.banner-verde .banner-texto a{
    background:transparent;
    color:#ffd66d;
    border:2px solid #ffd66d;
}
.banner-rojo img:last-child{
    width:170px;
    transform:scale(1.05);
    transform-origin:center;
}
.banner-verde img:last-child{
    width:170px;
    transform:scale(1.25);
    transform-origin:center;
}
.banner-detalle{
    width:120px;margin-bottom:18px;
}
.modal-imagen{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.85);
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:9999;
}
.modal-imagen.activo{
    opacity:1;
    visibility:visible;
}
.modal-imagen img{
    max-width:85%;
    max-height:85vh;
    border-radius:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
    animation:zoom .35s;
}
@keyframes zoom{
    from{
        transform:scale(.7);
        opacity:0;
    }
    to{
        transform:scale(1);
        opacity:1;
    }
}
.cerrar-modal{
    position:absolute;
    top:25px;
    right:40px;
    font-size:3rem;
    color:#fff;
    cursor:pointer;
    user-select:none;
}
.platillo-img img{
    cursor:pointer;
    transition:.3s;
}
.platillo-img img:hover{
    transform:scale(1.08);
}
.menu-transicion{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.25);
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    visibility:hidden;
    z-index:10000;
    transition:opacity .3s ease, visibility .3s ease;
}
.menu-transicion.activa{
    opacity:1;
    visibility:visible;
}
.transicion-contenido{
    position:relative;
    width:150px;
    height:150px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.transicion-flores{
    position:absolute;
    width:150px;
    height:150px;
    object-fit:contain;
    animation:girarFlores 2s linear infinite;
}
@keyframes girarFlores{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}
.transicion-cara{
    position:absolute;
    width:60px;
    height:60px;
    object-fit:contain;
    z-index:2;
}
.banner-texto a{
    transition:all .3s ease;
}
.banner-texto a:hover{
    transform:scale(1.05);
    box-shadow:0 6px 15px rgba(0,0,0,.20);
}
.banner-rojo .banner-texto a:hover{
    background:#b62025;
    color:#fff;
    transform:scale(1.05);
    box-shadow:0 6px 15px rgba(0,0,0,.25);
}
.banner-verde .banner-texto a:hover{
    background:#ffd66d;
    color:#184d3a;
    transform:scale(1.05);
    box-shadow:0 6px 15px rgba(0,0,0,.25);
}
.aviso-desliza{
    display:none;
}