/* =========================================================
   CHICKBOX RESPONSIVE STYLE
   PART 1A
========================================================= */


/* =========================
   RESET
========================= */

*,
*::before,
*::after{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

.section-header-centered{
    text-align:center;
    margin-bottom:50px;
}

.section-tag-centered{
    justify-content:center;
}

:root{

    --gold:#c0272d;
    --gold-dark:#8f1418;

    --dark:#1a1a1a;
    --footer:#1a1a1a;

    --beige:#f2ebd9;
    --white:#ffffff;

    --text:#333;
    --gray:#777;

    --border:#e8e0d0;

}


html{

    scroll-behavior:smooth;
    scroll-padding-top:50px;

}


body{
    font-family:'Inter',sans-serif;
    color:var(--text);
    background:#fdfaf5;
    line-height:1.45;
    font-size:14px;
    overflow-x:hidden;
}


h1,
h2,
h3,
h4{

    font-family:'Cormorant Garamond',serif;

}


a{

    color:inherit;
    text-decoration:none;

}


img{

    max-width:100%;
    display:block;

}


button,
input,
textarea,
select{

    font:inherit;

}


/* =========================
   CONTAINER
========================= */


.container{

    width:min(92%,1200px);
    margin:auto;

}


.section{
    padding:clamp(45px,5vw,80px) 0;
}



/* =========================
   TYPOGRAPHY
========================= */


.section-tag{

    display:flex;
    align-items:center;
    gap:12px;

    color:var(--gold);

    font-size:.7rem;
    font-weight:700;

    letter-spacing:4px;
    text-transform:uppercase;

    margin-bottom:15px;

}


.section-tag::before{

    content:"";

    width:35px;
    height:1px;

    background:var(--gold);

}


.section-title{

    color:var(--dark);

    font-size:clamp(1.7rem,3vw,2.5rem);

    line-height:1.15;

    font-weight:600;

    margin-bottom:25px;

}


.section-title em{

    color:var(--gold);
    font-style:italic;

}


.section-text{

    color:var(--gray);

    font-size:clamp(.9rem,1.5vw,1rem);

    line-height:1.9;

    margin-bottom:18px;

}


.section-sub-text{

    max-width:560px;

    color:var(--gray);

    font-size:.95rem;

    line-height:1.8;

}



/* =========================
   BUTTONS
========================= */


.btn-gold,
.btn-ghost,
.btn-outline-dark{


    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:
    clamp(12px,2vw,16px)
    clamp(24px,4vw,40px);


    font-size:.75rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    transition:.3s ease;

    cursor:pointer;

}



.btn-gold{

    background:var(--gold);

    color:white;

    border:none;

}


.btn-gold:hover{

    background:var(--gold-dark);

    transform:translateY(-3px);

}



.btn-ghost{

    border:1px solid rgba(255,255,255,.6);

    color:white;

}


.btn-ghost:hover{

    background:rgba(255,255,255,.1);

    transform:translateY(-3px);

}



.btn-outline-dark{

    border:1px solid var(--dark);

    color:var(--dark);

}


.btn-outline-dark:hover{

    border-color:var(--gold);

    color:var(--gold);

}



.btn-full{

    width:100%;

}



/* =========================================================
   NAVIGATION
========================================================= */


.nav{

    position:fixed;

    top:0;
    left:0;
    right:0;

    height:65px;

    z-index:1000;

    display:flex;

    align-items:center;

    justify-content:space-between;


    padding:0 5%;


    background:#1a1a1a;

    backdrop-filter:blur(15px);


    box-shadow:
    0 5px 25px rgba(0,0,0,.05);


    transition:.3s;

}



.nav.scrolled{

    height:62px;

}



.nav-logo-img{

    height:45px;

    width:auto;

}



.nav-logo-text{

    font-family:'Cormorant Garamond',serif;

    font-size:1.6rem;

    letter-spacing:4px;

    color:var(--dark);

}



.nav-links{

    display:flex;

    align-items:center;

    gap:32px;

    list-style:none;

}



.nav-links a{

    font-size:.75rem;

    font-weight:600;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:#fff;

    transition:.2s;

}



.nav-links a:hover{

    color:var(--gold);

}



.nav-cta{

    color:var(--gold)!important;

    border-bottom:1px solid var(--gold);

    padding-bottom:4px;

}



/* BURGER */


.nav-burger{

    display:none;

    flex-direction:column;

    gap:6px;

    border:none;

    background:none;

    cursor:pointer;

}



.nav-burger span{

    width:26px;

    height:2px;

    background:var(--dark);

    transition:.3s;

}


/* =========================
 MOBILE MENU
========================= */


.mobile-menu{

    position:fixed;

    top:78px;

    left:0;
    right:0;

    z-index:999;

    background:white;

    padding:20px 5%;


    display:flex;

    flex-direction:column;


    transform:translateY(-110%);

    opacity:0;


    transition:.35s;

    box-shadow:0 15px 30px rgba(0,0,0,.1);

}



.mobile-menu.open{

    transform:translateY(0);

    opacity:1;

}



.mobile-menu a{

    padding:15px 0;

    border-bottom:1px solid #eee;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}



.mobile-menu a:last-child{

    color:var(--gold);

    border:none;

}



/* =========================================================
   HERO
========================================================= */


.hero{

    position:relative;

    height:70svh;

    min-height:580px;

    overflow:hidden;

}



.hero-slides{

    position:absolute;

    inset:0;

}



.hero-slide{

    position:absolute;

    inset:0;


    background-size:cover;

    background-position:center;


    opacity:0;

    transition:opacity 1.2s ease;

}

.hero-slide-1{ background-image:url('images/main.png');
background-size:65%;background-repeat:no-repeat;
background-position:center;background-color:#1a1a1a; }


.hero-slide.active{

    opacity:1;

}



.hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,.35),
        rgba(0,0,0,.65)
    );

}



.hero-content{

    position:relative;

    z-index:2;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;


    text-align:center;


    padding:
    120px 20px 60px;

}



.hero-eyebrow{

    color:var(--gold);

    font-size:.65rem;

    letter-spacing:5px;

    text-transform:uppercase;

    margin-bottom:25px;

}



.hero-logo{

    width:clamp(140px,30vw,280px);

    height:auto;

    filter:brightness(0) invert(1);

    margin-bottom:20px;

}



.hero-logo-text{

    font-size:clamp(3rem,8vw,5rem);

    color:white;

    letter-spacing:6px;

}



.hero-sub{

    color:rgba(255,255,255,.85);

    letter-spacing:2px;

    font-size:.85rem;

    margin-bottom:40px;

}



.hero-btns{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

    justify-content:center;

}


.hero-dots{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);


    display:flex;

    gap:10px;

    z-index:5;

}



.dot{

    width:8px;

    height:8px;

    border-radius:20px;

    background:rgba(255,255,255,.4);
    border:none;
    padding:0;
    appearance:none;

    cursor:pointer;

    transition:.3s;

}



.dot.active{

    width:25px;

    background:var(--gold);

}
/* =========================================================
   PART 1B
========================================================= */


/* =========================
   HERO SCROLL
========================= */


.hero-scroll{

    position:absolute;

    bottom:75px;

    left:50%;

    transform:translateX(-50%);

    z-index:4;

    cursor:pointer;

    animation:bounce 2s infinite;
    border:none;
    background:none;
    padding:0;

}


.hero-scroll span{

    display:block;

    width:1px;

    height:45px;

    background:rgba(255,255,255,.5);

}

.is-hidden{
    display:none;
}

.booking-title{
    font-family:'Cormorant Garamond',serif;
    font-size:1.8rem;
    margin-bottom:24px;
    color:#1a1a1a;
}



@keyframes bounce{

    0%,100%{

        transform:translateX(-50%) translateY(0);

    }

    50%{

        transform:translateX(-50%) translateY(10px);

    }

}




/* =========================
   INFO BAR
========================= */


.info-bar{

    background:var(--dark);

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;


    padding:25px 5%;

}



.info-item{

    text-align:center;

    padding:0 45px;

}



.info-label{

    color:var(--gold);

    font-size:.65rem;

    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:5px;

}



.info-val{

    color:rgba(255,255,255,.75);

    font-size:.85rem;

}



.info-val a{

    transition:.2s;

}



.info-val a:hover{

    color:var(--gold);

}



.info-divider{

    width:1px;

    height:35px;

    background:rgba(255,255,255,.15);

}





/* =========================
   STORY SECTION
========================= */


.grid-2{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:clamp(40px,7vw,90px);

    align-items:center;

}



.storia{

    background:white;

}



.storia-img-wrap{

    position:relative;

}



.storia-img{

    width:100%;

    aspect-ratio:4/5;

    object-fit:cover;


    box-shadow:
    0 25px 60px rgba(0,0,0,.12);

}



.storia-badge{

    position:absolute;

    bottom:-25px;

    right:-25px;


    background:var(--gold);

    color:white;

    padding:25px;


    text-align:center;


    box-shadow:
    0 10px 35px rgba(200,169,110,.4);

}



.badge-num{

    display:block;

    font-family:'Cormorant Garamond',serif;

    font-size:2.5rem;

    font-weight:700;

    line-height:1;

}



.badge-lbl{

    display:block;

    font-size:.65rem;

    letter-spacing:3px;

    text-transform:uppercase;

}




/* =========================
   PILLARS
========================= */


.pillars{

    display:grid;

    grid-template-columns:1fr 1fr;


    margin-top:40px;

    border-top:1px solid var(--border);

}



.pillar{

    padding:25px 20px 25px 0;

    border-bottom:1px solid var(--border);

    border-right:1px solid var(--border);

    transition:.3s;

}



.pillar:nth-child(even){

    padding-left:25px;

    border-right:none;

}



.pillar:hover{

    background:#fdfaf5;

}



.pillar-line{

    width:30px;

    height:2px;

    background:var(--gold);

    margin-bottom:12px;

}



.pillar strong{

    display:block;

    color:var(--dark);

    font-family:'Cormorant Garamond',serif;

    font-size:1.1rem;

    margin-bottom:6px;

}



.pillar p{

    color:var(--gray);

    font-size:.8rem;

}





/* =========================================================
   MENU SECTION
========================================================= */


.menu-section{

    background:var(--beige);

}




/* MENU TABS */


.menu-tabs{

    display:flex;

    justify-content:center;

    gap:35px;

    margin:
    45px 0 60px;


    overflow-x:auto;

    scrollbar-width:none;

}



.menu-tabs::-webkit-scrollbar{

    display:none;

}



.menu-tab{

    flex:0 0 auto;


    background:none;

    border:none;

    cursor:pointer;


    font-family:'Cormorant Garamond',serif;

    font-size:1.35rem;

    font-weight:600;


    color:var(--gray);


    position:relative;

    padding-bottom:10px;

}



.menu-tab::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:0;


    width:0;

    height:2px;

    background:var(--gold);


    transform:translateX(-50%);

    transition:.3s;

}



.menu-tab:hover,

.menu-tab.active{

    color:var(--dark);

}



.menu-tab.active::after{

    width:100%;

}





/* MENU GRID */


.menu-grid{

    display:none;


    grid-template-columns:
    repeat(3,1fr);


    gap:25px;


    margin-bottom:50px;

}



.menu-grid.active{

    display:grid;

}




/* MENU CARD */


.menu-card{

    background:white;

    overflow:hidden;


    border:1px solid rgba(0,0,0,.05);


    transition:.35s;

}



.menu-card:hover{

    transform:translateY(-8px);


    box-shadow:
    0 20px 45px rgba(0,0,0,.12);

}



.menu-img-wrap{

    height:180px;

    overflow:hidden;

    position:relative;

}



.menu-img-wrap img{

    width:100%;

    height:100%;


    object-fit:cover;


    transition:.5s;

}



.menu-card:hover img{

    transform:scale(1.06);

}



.price-table{

    grid-column:1 / -1;

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:15px;

}



.price-row{

    background:white;

    border:1px solid rgba(0,0,0,.05);

    text-align:center;

    padding:15px 10px;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:8px;

}



.price-row img{

    width:60px;

    height:60px;

    object-fit:cover;

    border-radius:50%;

}



.price-name{

    font-size:.75rem;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.5px;

    color:var(--dark);

}



.price-val{

    font-family:'Cormorant Garamond',serif;

    font-size:1.2rem;

    color:var(--gold);

}



.menu-footnote{

    text-align:center;

    font-size:.7rem;

    color:var(--gray);

    margin-top:-25px;

    margin-bottom:30px;

}



@media(max-width:640px){

    .price-table{

        grid-template-columns:repeat(3,1fr);

    }

}



.menu-cat{

    position:absolute;

    top:15px;

    left:15px;


    background:var(--gold);

    color:white;


    padding:5px 12px;


    font-size:.6rem;

    font-weight:700;


    letter-spacing:2px;

    text-transform:uppercase;

}




.menu-body{

    padding:18px;

}



.menu-body h3{

    display:flex;

    justify-content:space-between;

    gap:15px;


    font-size:1.25rem;

    line-height:1.2;

    color:var(--dark);

    margin-bottom:10px;

}



.menu-body h3 span{

    color:var(--gold);

    font-size:1rem;

    white-space:nowrap;

}



.menu-body p{

    color:var(--gray);

    font-size:.82rem;

    line-height:1.7;

}
/* =========================================================
   PART 2/2
   GALLERY + EVENTS + BOOKING + FOOTER + RESPONSIVE
========================================================= */


/* =========================
   GALLERY
========================= */


.galleria-section{

    padding:180px 0;
}



.gallery-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    grid-auto-rows:480px;

    gap:5px;

}



.gallery-item{

    overflow:hidden;

}



.gallery-item.tall{

    grid-row:span 2;

}



.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;
    

    transition:.5s;

}



.gallery-item:hover img{

    transform:scale(1.06);

    filter:brightness(1.05);

}





/* =========================
   EVENTS
========================= */


.eventi-section{

    background:white;

}



.eventi-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:5px;

}



.evento-card{

    overflow:hidden;

}



.evento-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}



.evento-card:hover img{

    transform:scale(1.05);

}



.evento-cta{

    display:flex;

    align-items:center;

    justify-content:center;


    background:var(--beige);


    border:2px dashed rgba(200,169,110,.5);


    padding:35px;

}



.evento-cta-content{

    text-align:center;

}



.evento-cta-content h3{

    color:var(--dark);

    font-size:1.7rem;

    margin-bottom:15px;

}



.evento-cta-content p{

    color:var(--gray);

    font-size:.85rem;

    margin-bottom:25px;

}







/* =========================
   BOOKING SECTION
========================= */


.prenota-section{

    background:var(--beige);

}



.prenota-wrap{

    display:grid;

    grid-template-columns:

    1fr 1.25fr;


    gap:clamp(40px,8vw,90px);


    align-items:start;

}



.contact-items{

    margin-top:25px;

    display:flex;

    flex-direction:column;

    gap:10px;

}



.contact-item{

    display:flex;

    gap:10px;

}



.contact-icon{

    font-size:1.2rem;

}



.contact-item strong{

    display:block;

    font-size:.65rem;

    letter-spacing:1px;

    text-transform:uppercase;

    color:var(--dark);

}



.contact-item span,

.contact-item a{

    color:var(--gray);

    font-size:.65rem;

}



.prenota-form{

    background:white;


    padding:25px;


    box-shadow:

    0 20px 50px rgba(0,0,0,.08);

}



.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

}



.form-group{

    margin-bottom:18px;

}



.form-group label{

    display:block;


    font-size:.65rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;


    color:#777;


    margin-bottom:7px;

}



.form-group input,

.form-group select,

.form-group textarea{


    width:100%;


    padding:13px 15px;


    border:1px solid #e5dfd5;


    background:#fdfaf5;


    color:var(--dark);


    outline:none;


    transition:.25s;


}



.form-group input:focus,

.form-group select:focus,

.form-group textarea:focus{


    border-color:var(--gold);

    background:white;

}



textarea{

    resize:vertical;

}



.form-success{

    background:#f0fdf4;

    border:1px solid #bbf7d0;

    color:#15803d;

    padding:25px;

    text-align:center;

    margin-bottom:20px;

}





/* =========================
   FOOTER
========================= */


.footer{

    background:var(--footer);

    color:#b8a898;

    padding:45px 5% 0;

}



.footer-inner{

    width:min(1100px,100%);

    margin:auto;


    display:grid;

    grid-template-columns:

    1.5fr 1fr 1fr 1fr;


    gap:45px;


    padding-bottom:50px;

}



.footer-logo{

height:120px;
width:auto;
margin-bottom:10px;
margin-left:5px;
filter:none;

}



.footer-logo-text{

    font-family:'Cormorant Garamond',serif;

    font-size:2rem;

    color:var(--gold);

}



.footer-brand p{

    font-size:.85rem;

    line-height:1.8;

}



.social-links{

    display:flex;

    gap:12px;

    margin-top:20px;

}



.social-links a{


    width:40px;

    height:40px;


    display:flex;

    align-items:center;

    justify-content:center;


    border:none;


    color:white;


    transition:.3s;

}



.social-links a:hover{

    background:var(--gold);

    border-color:var(--gold);

}



.footer-col h4{

    color:var(--gold);

    font-size:.7rem;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:20px;

}



.footer-col p,

.footer-col a{

    display:block;

    color:#8a7d6a;

    font-size:.82rem;

    line-height:2;

}



.footer-col a:hover{

    color:var(--gold);

}



.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    padding:25px 0;

    text-align:center;

}



.footer-bottom p{

    font-size:.7rem;

    color:rgba(255,255,255,.3);

}





/* =========================
   WHATSAPP FLOAT
========================= */


.wa-float{


    position:fixed;

    right:25px;

    bottom:25px;


    width:58px;

    height:58px;


    background:#25d366;


    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;


    z-index:1000;


    box-shadow:

    0 5px 25px rgba(37,211,102,.4);


    transition:.3s;

}



.wa-float:hover{

    transform:scale(1.1);

}





/* =========================
   REVEAL
========================= */


.reveal{

    opacity:0;

    transform:translateY(30px);

    transition:.7s ease;

}



.reveal.visible{

    opacity:1;

    transform:none;

}





/* =========================================================
   RESPONSIVE
========================================================= */



@media(max-width:1200px){


    .menu-grid{

        grid-template-columns:repeat(2,1fr);

    }


    .gallery-grid{

        grid-template-columns:repeat(3,1fr);

    }


}




@media(max-width:992px){


    .nav-links{

        display:flex;

    }
    .nav-links a{
    font-size:.5rem;
    letter-spacing:.3px;
    }


    .nav-burger{

        display:none;

    }
    .lang-switcher{
        margin-left:auto;
        margin-right:15px;
    }



    .grid-2,

    .prenota-wrap{

        grid-template-columns:1fr;

    }



    .storia-badge{

        display:none;

    }



    .eventi-grid{

        grid-template-columns:repeat(2,1fr);

        gap:8px;

    }



    .evento-card{

        aspect-ratio:1/1;

    }



    .evento-card img{

        width:100%;

        height:100%;

        object-fit:cover;

    }



    .footer-inner{

        grid-template-columns:repeat(2,1fr);

    }



    .info-divider{

        display:none;

    }


}





@media(max-width:768px){



    .hero{

        min-height:650px;

    }



    .hero-btns{

        flex-direction:column;

        width:100%;

        max-width:280px;

    }



    .hero-btns a{

        width:100%;

    }



    .info-bar{

        flex-direction:column;

        gap:20px;

    }



    .info-item{

        padding:0;

    }



    .menu-grid{

        grid-template-columns:repeat(2,1fr);

        gap:12px;

    }



    .menu-body{

        padding:12px;

    }



    .menu-body h3{

        flex-direction:column;

        align-items:flex-start;

        gap:2px;

        font-size:.95rem;

        margin-bottom:6px;

    }



    .menu-body h3 span{

        font-size:.85rem;

    }



    .menu-body p{

        font-size:.72rem;

        line-height:1.4;

    }



    .menu-cat{

        font-size:.6rem;

        padding:4px 8px;

    }



    .menu-tabs{

        justify-content:flex-start;

    }



    .gallery-grid{

        grid-template-columns:repeat(2,1fr);

        grid-auto-rows:120px;

        gap:4px;

    }



    .eventi-grid{

        grid-template-columns:repeat(2,1fr);

        gap:4px;

    }



    .evento-card{

        aspect-ratio:1/1;

    }



    .evento-card img{

        width:100%;

        height:100%;

        object-fit:cover;

    }



    .evento-cta{

        padding:10px;

    }



    .evento-cta-content h3{

        font-size:.8rem;

        line-height:1.2;

        margin-bottom:4px;

    }



    .evento-cta-content p{

        display:none;

    }



    .evento-cta-content .btn-gold{

        padding:8px 10px;

        font-size:.55rem;

        letter-spacing:.5px;

        white-space:normal;

        line-height:1.3;

    }



    .form-row{

        grid-template-columns:1fr;

    }



}





@media(max-width:576px){



    .section-title{

        font-size:2rem;

    }



    .pillars{

        grid-template-columns:1fr;

    }



    .pillar,

    .pillar:nth-child(even){

        border-right:none;

        padding:22px 0;

    }



    .gallery-grid{

        grid-auto-rows:100px;

    }



    .footer-inner{

        grid-template-columns:1fr;

        text-align:center;

    }



    .social-links{

        justify-content:center;

    }



    .contact-item{

        flex-direction:column;

    }



    .wa-float{

        width:52px;

        height:52px;

        right:18px;

        bottom:18px;

    }


}




@media(max-width:420px){


    .hero-eyebrow{

        letter-spacing:3px;

    }


    .menu-body{

        padding:20px;

    }


    .btn-gold,
    .btn-ghost{

        letter-spacing:1px;

    }
}

/* COMPACT DESIGN MODE */

.container{
    width:min(90%,1100px);
}

.section{
    padding:60px 0;
}

.section-title{
    font-size:2.3rem;
}

.menu-body{
    padding:18px;
}

.menu-img-wrap{
    height:190px;
}

.hero-logo{
    width:260px;
}

.hero-content{
    padding-top:80px;
}

.footer{
    padding-top:50px;
}

/* =========================================================
   COMPACT ONE SCREEN SECTIONS
========================================================= */

@media(min-width:993px){

    .section{
        padding:45px 0;
        min-height:calc(100vh - 65px);
        display:flex;
        align-items:center;
    }


    /* STORY SECTION */

    .storia .grid-2{
        gap:45px;
    }


    .storia-img{
        aspect-ratio:5/4;
        max-height:420px;
    }


    .storia-content .section-title{
        font-size:2.1rem;
        margin-bottom:15px;
    }


    .storia-content .section-text{
        line-height:1.55;
        margin-bottom:10px;
    }


    .pillars{
        margin-top:20px;
    }


    .pillar{
        padding:15px 15px 15px 0;
    }


    /* MENU */

    .menu-section{
        padding-top:40px;
        padding-bottom:40px;
    }


    .menu-tabs{
        margin:25px 0 35px;
    }


    .menu-grid{
        gap:18px;
    }


    .menu-img-wrap{
        height:150px;
    }


    .menu-body{
        padding:14px;
    }


    .menu-body h3{
        font-size:1.1rem;
    }


    /* GALLERY */

    .galleria-section{
        padding:50px 0;
    }


    .gallery-grid{
        grid-auto-rows:140px;
    }


    /* EVENTS */

    .eventi-section{
        padding:45px 0;
    }


    .evento-card{
        aspect-ratio:1/1;
    }


    /* BOOKING */

    .prenota-section{
        padding:45px 0;
    }


    .contact-items{
        margin-top:20px;
        gap:15px;
    }


    .prenota-form{
        padding:20px;
    }

}
/* =========================================================
   MENU + EVENTS COMPACT FIX
========================================================= */

@media(min-width:993px){

    /* ================= MENU ================= */

    .menu-section{
        min-height:100vh;
        padding:35px 0;
    }


    .menu-section .section-header{
        margin-bottom:10px;
    }


    .menu-section .section-title{
        margin-bottom:10px;
        font-size:2rem;
    }


    .menu-section .section-sub-text{
        font-size:.85rem;
    }


    .menu-tabs{
        margin:20px 0 30px;
        gap:25px;
    }


    .menu-tab{
        font-size:1.15rem;
    }


    .menu-grid{
        gap:15px;
    }


    .menu-card{
        display:flex;
        height:190px;
    }


    .menu-img-wrap{
        width:38%;
        height:100%;
        flex-shrink:0;
    }


    .menu-body{
        padding:15px;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }


    .menu-body h3{
        font-size:1.05rem;
        margin-bottom:8px;
    }


    .menu-body p{
        font-size:.75rem;
        line-height:1.45;
    }



    /* ================= EVENTS ================= */


    .eventi-section{
        min-height:100vh;
        padding:35px 0;
    }


    .eventi-section .section-header{
        margin-bottom:25px;
    }


    .eventi-section .section-title{
        font-size:2rem;
        margin-bottom:10px;
    }


    .eventi-section .section-sub-text{
        font-size:.85rem;
    }


    .eventi-grid{
        grid-template-columns:repeat(3,1fr);
        gap:15px;
    }


    .evento-card{
        aspect-ratio:auto;
        height:120px;
        overflow: hidden;
    }


    .evento-cta{
        padding:20px;
    }


    .evento-cta-content h3{
        font-size:1.4rem;
    }


    .evento-cta-content p{
        font-size:.75rem;
        margin-bottom:15px;
    }


}
/* =========================================================
   EVENTS IMAGE ALIGNMENT LIKE GALLERY
========================================================= */

@media(min-width:993px){

    .eventi-grid{
        width:100vw;
        position:relative;
        left:50%;
        transform:translateX(-50%);

        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:5px;
    }


    .evento-card{
        aspect-ratio:auto;
        height:220px;
        overflow:hidden;
    }


    .evento-card img{
        width:100%;
        height:100%;
        object-fit:cover;
        transition:.5s ease;
    }


    .evento-card:hover img{
        transform:scale(1.06);
    }


    .evento-cta{
        padding:30px;
    }

}
.lang-switcher{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:.75rem;
    font-weight:600;
    letter-spacing:1px;
}

.lang-switcher a{
    color:#fff;
    text-decoration:none;
    transition:.2s;
}

.lang-switcher a:hover{
    color:var(--gold);
}

.lang-switcher span{
    color:rgba(255,255,255,.3);
}

/* =========================================================
   MOBILE: MATCH DESKTOP COMPACT LAYOUT
========================================================= */

@media(max-width:992px){

    /* MENU — same horizontal image+text card as desktop */

    .menu-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .menu-card{
        display:flex;
        height:140px;
    }

    .menu-card:hover{
        transform:none;
    }

    .menu-img-wrap{
        width:38%;
        height:100%;
        flex-shrink:0;
    }

    .menu-body{
        padding:14px;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }

    .menu-body h3{
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
        gap:8px;
        font-size:.95rem;
        margin-bottom:6px;
    }

    .menu-body h3 span{
        font-size:.85rem;
    }

    .menu-body p{
        font-size:.72rem;
        line-height:1.4;
    }


    /* A LA CARTE — keep price rows readable at this width */

    .price-table{
        grid-template-columns:repeat(3,1fr);
    }


    /* EVENTS — same 3-column row as desktop */

    .eventi-grid{
        grid-template-columns:repeat(3,1fr);
        gap:4px;
    }

    .evento-card{
        aspect-ratio:auto;
        height:110px;
    }

    .evento-cta{
        padding:10px;
    }

    .evento-cta-content h3{
        font-size:.85rem;
        line-height:1.2;
        margin-bottom:4px;
    }

    .evento-cta-content p{
        display:block;
        font-size:.6rem;
        line-height:1.3;
        margin-bottom:8px;
    }

    .evento-cta-content .btn-gold{
        padding:6px 10px;
        font-size:.55rem;
        letter-spacing:.5px;
    }

}

@media(max-width:480px){

    .menu-card{
        height:120px;
    }

    .menu-img-wrap{
        width:35%;
    }

    .menu-body{
        padding:10px;
    }

    .price-table{
        grid-template-columns:repeat(2,1fr);
    }

    .eventi-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .evento-card{
        aspect-ratio:1/1;
        height:auto;
    }

}
.footer-map{
    width:100%;
    max-width:300px;
}

.footer-map iframe{
    width:100%;
    height:200px;
    border:0;
    border-radius:12px;
}
@media(max-width:768px){

    .hero{
        min-height:600px;
        height:40vh;
    }

    .hero-slide-1{
        background-size:100%;
        background-position:center center;
    }

}