/* RESET */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


body {

    font-family: 'Lato', sans-serif;
    background:#f7f2eb;
    color:#333;

}


/* MENU */

header {

    position: fixed;
    top: 0;
    width: 100%;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(5px);
    z-index: 1000;

}


nav {

    max-width:1200px;
    margin:auto;
    padding:15px 30px;

    display:flex;
    justify-content:space-between;
    align-items:center;

}



.logo img {

    width: 250px;
    height: auto;

}


.logo a {
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}


.logo a,
.logo img {
    -webkit-tap-highlight-color: transparent;
    outline: none;
}


nav ul {

    display: flex;
    list-style: none;
    gap: 30px;

}


nav ul li a {

    color:white;
    text-decoration:none;
    font-size:16px;
    transition:.3s;

}

nav ul li a:hover,
nav ul li a.active{

    color:#d4af37;

}



/* HERO */

.hero {

    height:100vh;

    background:
    linear-gradient(
    rgba(0,0,0,0.5),
    rgba(0,0,0,0.5)
    ),
    url("../images/hero.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;

}



.hero-content {

    color:white;
    max-width:800px;

}



.hero h1 {

    font-size:70px;
    font-family: Georgia, serif;
    line-height:1.2;
    margin-bottom:25px;
    text-shadow:0 3px 10px rgba(0,0,0,0.5);

}



.hero p {

    font-size:22px;
    line-height:1.8;
    max-width:700px;
    margin:auto;
    text-shadow:0 2px 8px rgba(0,0,0,0.5);

}



/* BOTTONI */


.buttons {

    margin-top:40px;

}



.buttons a {

    display:inline-block;

    padding:16px 35px;

    margin:10px;

    background:#7b1e1e;

    color:white;

    text-decoration:none;

    border-radius:40px;

    font-size:17px;

    font-weight:bold;

    transition:0.3s;

}



.buttons a:hover {

    background:#d4af37;

}



/* INTRO */


.intro {

    padding:80px 20px;

    text-align:center;

}



.intro h2 {

    font-size:40px;
    color:#7b1e1e;

    margin-bottom:20px;

}


.intro p {

    max-width:800px;

    margin:auto;

    font-size:18px;

    line-height:1.7;

}



/* SPECIALITA */


.special {

    position:relative;

    display:flex;

    gap:35px;

    justify-content:center;

    padding:80px 20px;

    background:#358551;

}



.box {

    background:white;

    max-width:350px;

    position:relative;

    z-index:2;

    text-align:center;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,0.12);

    transition:0.4s;

}


.box:hover {

    transform:translateY(-10px);

}



.box img {

    width:100%;

    height:230px;

    object-fit:cover;

}


.box h3 {

    color:#7b1e1e;

    font-family:'Cormorant Garamond', serif;

    font-weight:700;

    font-size:32px;

    margin:25px 15px 15px;

}



.box p {

    font-family:'Lato', sans-serif;

    padding:0 25px 30px;

    line-height:1.7;

    font-size:17px;

}

.curve-divider svg{

    display:block;
    width:100%;
    height:92px;
}



.curve-divider{

    line-height:0;
    height:92px;
    overflow:hidden;
    position:relative;
    z-index:2;

}

/* ORARI APERTURA */


.hours-container{

    max-width:800px;

    margin:40px auto 0;

    display:flex;

    justify-content:center;

    gap:80px;

}



.hours-column{

    flex:1;

}



.day{

    display:flex;

    flex-direction:column;

    gap:8px;

    margin-bottom:25px;

    font-size:18px;

}



.day strong{

    font-family:'Cormorant Garamond', serif;

    font-size:28px;

    color:#7b1e1e;

}



.day span{

    color:#555;

}



.menu-button{

    margin-top:50px;

}



.menu-button a{

    display:inline-block;

    padding:15px 40px;

    background:#7b1e1e;

    color:white;

    text-decoration:none;

    border-radius:40px;

    font-size:17px;

    font-weight:bold;

    transition:.3s;

}



.menu-button a:hover{

    background:#d4af37;

}




@media(max-width:768px){


.hours-container{

    flex-direction:column;

    gap:0;

}


}


/* ORARI CON FOTO */

.opening{

    position:relative;

    padding:40px 20px;

    background:#f7f2eb;

    text-align:center;

    overflow:hidden;

}



.opening-layout{

    max-width:1200px;

    margin:auto;

    display:flex;

    align-items:center;

    gap:70px;

}



.opening-image{

    flex:0 1 450px;

    width:100%;

    text-align:center;

}


.opening-image img{

    width:100%;

    max-width:420px;

    height:auto;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

    display:block;

    margin:0 auto;

}



.opening-content{

    flex:1;

}



.opening-content h2{

    font-family:'Cormorant Garamond', serif;

    font-size:48px;

    margin-bottom:10px;

    color:#7b1e1e;

}



.hours-container{

    display:flex;

    justify-content:center;

    gap:45px;

    margin-top:35px;

}



.hours-column{

    flex:1;

}



.day{

    display:flex;

    flex-direction:column;

    gap:5px;

    margin-bottom:22px;

}



.day strong{

    font-family:'Cormorant Garamond', serif;

    font-size:27px;

    color:#7b1e1e;

}



.day span{

    font-size:16px;

    color:#555;

}



.menu-button{

    margin-top:35px;

}



.menu-button a{

    display:inline-block;

    padding:15px 40px;

    background:#7b1e1e;

    color:white;

    text-decoration:none;

    border-radius:40px;

    font-size:17px;

    font-weight:bold;

    transition:.3s;

}



.menu-button a:hover{

    background:#d4af37;

}


/* TAKE AWAY SOTTO FOTO */


.takeaway-box{

    text-align:center;

    max-width:450px;

    margin:25px auto 0;

}



.takeaway-title{

    font-family:'Cormorant Garamond', serif;

    font-size:48px;

    color:#358551;

    margin-bottom:15px;

}



.takeaway-box h3{

    font-family:'Cormorant Garamond', serif;

    font-size:34px;

    color:#555;

    margin-bottom:10px;

}



.takeaway-box p{

    font-size:17px;

    line-height:1.6;

    color:#555;

}



/* MOBILE */

@media(max-width:768px){


.opening-layout{

    flex-direction:column;

    gap:40px;

}


.opening-image img{

    max-width:100%;

}


.hours-container{

    flex-direction:column;

    gap:0;

}


.opening-content{

    text-align:center;

}


}


/* CONTATTI */


.visit {

    position:relative;

    z-index:2;

    background:#7b1e1e;

    color:white;

    padding:30px 20px 80px;

    text-align:center;

}


.visit h2 {

    font-family:'Cormorant Garamond', serif;

    font-size:50px;

    margin-bottom:50px;

}



.visit-container {

    max-width:1200px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    gap:40px;

}



.visit-box {

    flex:1;

    padding:30px;

}



.visit-box h3 {

    font-family:'Cormorant Garamond', serif;

    font-size:30px;

    margin-bottom:20px;

}


.visit-box h3 i {

    margin-right:10px;

    color:#d4af37;

    font-size:28px;

}



.visit-box p {

    font-size:17px;

    line-height:1.8;

}



.map-box{

    position:relative;

    margin-top:20px;

    width:80%;

    max-width:350px;

    margin-left:auto;

    margin-right:auto;

    border-radius:12px;

    overflow:hidden;

}

.map-box iframe{

    display:block;

    width:100%;

}

.map-link{

    position:absolute;

    inset:0;

    z-index:2;

}



.phone-box a {

    display:block;

    margin-top:20px;

    color:white;

    text-decoration:none;

    font-size:32px;

    font-weight:bold;

}


.hours strong {

    color:#d4af37;

}



.social{

    margin-top:20px;

}

.social p{

    font-family:'Cormorant Garamond', serif;

    font-size:24px;

    margin-bottom:0px;

}

.social a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:white;

    text-decoration:none;

    font-size:20px;

    transition:.3s;

}

.social a:hover{

    color:#d4af37;

}

.social i{

    color:#1877F2;

    font-size:28px;

}



/* FOOTER */


footer {

    font-size:15px;

    background:#111;

    color:white;

    text-align:center;

    padding:20px;

}



footer a{

    color:#d4af37;

    text-decoration:none;

}

footer a:hover{

    text-decoration:underline;

}



/* MENU HAMBURGER */

.menu-toggle{

    display:none;

    color:white;

    font-size:32px;

    cursor:pointer;

    transition:.3s;

}



.menu-toggle:hover{

    color:#d4af37;

}



/* SMARTPHONE */

@media(max-width:768px){

nav{

    position:relative;

}

.menu-toggle{

    display:block;

    z-index:1002;

}

nav ul{

    position:absolute;

    top:100%;

    left:0;

    width:100%;

    background:rgba(0,0,0,.95);

    backdrop-filter:blur(8px);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:0;

    max-height:0;

    overflow:hidden;

    transition:max-height .45s ease;

}

nav ul.open{

    max-height:500px;

}

nav ul li{

    width:100%;

    text-align:center;

}

nav ul li a{

    display:block;

    width:100%;

    padding:18px;

}

.visit-container{

    flex-direction:column;

}

.hero h1{

    font-size:40px;

}

.hero p{

    font-size:18px;

}

.special{

    flex-direction:column;

    align-items:center;

}

.logo img{

    width:160px;

}

.visit-box{

    width:100%;

    padding:20px 10px;

}

.visit h2{

    font-size:38px;

}

.phone-box a{

    font-size:26px;

}

.reviews-slider{

    min-height:320px;

}

.review-card{

    padding:30px 25px;

}

.review-card p{

    font-size:15px;

    line-height:1.8;

}

.review-card h3{

    font-size:26px;

}

}
/* ANIMAZIONI HOME */

.hero-content {

    animation: entra 1.5s ease;

}


@keyframes entra {

    from {

        opacity:0;
        transform:translateY(40px);

    }


    to {

        opacity:1;
        transform:translateY(0);

    }

}



/* PAGINA CHI SIAMO */

.about-hero{

height:65vh;

background:
linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.15)),
url("../images/about-hero.jpg");

background-size:cover;
background-position:center;

}

.about-section{

padding:90px 20px;

}

.about-container{

max-width:1200px;

margin:auto;

display:flex;

align-items:center;

gap:70px;

}

.about-image{

flex:1;

}

.about-image img{

width:100%;

border-radius:20px;

box-shadow:0 15px 35px rgba(0,0,0,.15);

display:block;

}

.about-text{

flex:1;

}

.about-text h2{

font-family:'Cormorant Garamond',serif;

font-size:48px;

color:#7b1e1e;

margin-bottom:25px;

}

.about-text p{

font-size:18px;

line-height:1.9;

margin-bottom:20px;

}

.values{

background:#358551;

padding:90px 20px;

text-align:center;

color:white;

}

.values h2{

font-family:'Cormorant Garamond',serif;

font-size:48px;

margin-bottom:60px;

}

.values-container{

max-width:1200px;

margin:auto;

display:flex;

gap:35px;

justify-content:center;

}

.value-box{

background:white;

color:#333;

padding:40px 30px;

border-radius:20px;

flex:1;

box-shadow:0 10px 30px rgba(0,0,0,.12);

transition:.4s;

}

.value-box:hover{

transform:translateY(-8px);

}

.value-box i{

font-size:45px;

color:#d4af37;

margin-bottom:20px;

}

.value-box h3{

font-family:'Cormorant Garamond',serif;

font-size:30px;

color:#7b1e1e;

margin-bottom:15px;

}

.value-box p{

line-height:1.8;

}

@media(max-width:768px){

.about-container{

flex-direction:column;

}

.about-text{

text-align:center;

}

.values-container{

flex-direction:column;

}

}


/* RECENSIONI (Pagina Über uns) */

.reviews {

    position:relative;

    padding:30px 20px;

    background:#358551;

    text-align:center;

    overflow:hidden;

}



.reviews h2 {

    font-family:'Cormorant Garamond', serif;

    font-size:48px;

    margin-bottom:10px;

    color:#f7f2eb;

}



.opening-subtitle{

    color:#358551;

    font-family:'Cormorant Garamond', serif;

    font-size:33px;

    font-style:italic;

    font-weight:600;

}



.reviews-slider{

    position:relative;

    max-width:800px;

    margin:0 auto;

    min-height:320px;

}



.review-card{

    position:absolute;

    inset:0;

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:
        opacity .7s ease,
        transform .7s ease,
        visibility .7s;

    background:white;

    padding:45px;

    border-radius:22px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}



.review-card.active{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}



.review-dots{

    display:flex;

    justify-content:center;

    gap:12px;

    margin-top:35px;

}



.review-dots span{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#cfcfcf;

    transition:.4s;

}



.review-dots span.active{

    background:#d4af37;

    transform:scale(1.3);

}



.stars {

    color:#d4af37;

    font-size:28px;

    letter-spacing:3px;

    margin-bottom:20px;

}



.review-card p {

    font-family:'Lato', sans-serif;

    font-size:16px;

    line-height:1.7;

    font-style:italic;

}



.review-card h3{

    font-family:'Cormorant Garamond', serif;

    font-size:30px;

    color:#7b1e1e;

    margin-bottom:6px;

}



.google-review{

    display:inline-flex;

    align-items:center;

    gap:8px;

}

.google-review i{

    color:#34A853;

}



.review-card span {

    font-size:14px;

    color:#777;

}



/* BANNER CHI SIAMO */

.about-banner{

    position:relative;
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
    rgba(0,0,0,.55),
    rgba(0,0,0,.55)
    ),
    url("../images/banner-about.jpg");

    background-size:cover;
    background-position:center;

    padding:150px 20px;

    text-align:center;
    color:white;

    overflow:hidden;

}



.about-banner-content{

    max-width:900px;
    position:relative;
    z-index:2;

}



.about-banner p{

    font-family:'Cormorant Garamond', serif;

    font-size:30px;

    line-height:1.7;

    font-weight:600;

}



/* ONDE BANNER */

.about-banner-wave{

    position:absolute;

    bottom:-1px;

    left:0;

    width:100%;

    line-height:0;

}



.about-banner-wave.top{

    top:-1px;

    bottom:auto;

    transform:rotate(180deg);

}



.about-banner-wave svg{

    display:block;

    width:100%;

    height:120px;

}



/* =========================
   PAGINA SPEISEKARTE
========================= */


/* HERO MENU */

.menu-hero{

height:65vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/menu-hero.jpg");

background-size:cover;

background-position:center;

}



/* INTRO MENU */

.menu-intro{

padding:90px 20px;

text-align:center;

background:#f7f2eb;

}


.menu-intro h2{

font-family:'Cormorant Garamond',serif;

font-size:52px;

color:#7b1e1e;

margin-bottom:25px;

}


.menu-intro p{

max-width:800px;

margin:15px auto;

font-size:18px;

line-height:1.8;

}



/* CONTENITORE MENU */

.menu-container{

max-width:1000px;

margin:auto;

}



.menu-card-section{

padding:90px 20px;

background:#f7f2eb;

}



.menu-card-section > .menu-container > h2{

font-family:'Cormorant Garamond',serif;

font-size:55px;

color:#7b1e1e;

text-align:center;

margin-bottom:60px;

}


/* PDF BUTTON */

.pdf-button{

display:inline-block;

margin-top:50px;

padding:15px 40px;

background:#7b1e1e;

color:white;

text-decoration:none;

border-radius:40px;

font-size:17px;

font-weight:bold;

transition:.3s;

}


.pdf-button:hover{

background:#d4af37;

}


/* SPECIALITA MENU */

.menu-specials{

padding:40px 20px 90px;

background:#f7f2eb;

}



.special-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:50px;

}



.special-box{

background:white;

padding:35px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}



.special-box h3{

font-family:'Cormorant Garamond',serif;

font-size:38px;

color:#7b1e1e;

border-bottom:2px solid #d4af37;

padding-bottom:10px;

margin-bottom:25px;

}



.special-box h4{

font-family:'Cormorant Garamond',serif;

font-size:26px;

color:#333;

margin-bottom:5px;

}



.special-box p{

font-size:16px;

line-height:1.7;

color:#666;

margin-bottom:22px;

}


/* SPECIALITÀ PAGINA MENU */

.menu-specials{

text-align:center;
padding:40px 20px 90px;

}



.menu-special-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:50px;

}



.menu-special-box{

background:white;

padding:35px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

text-align:center;

}



.menu-special-box h3{

font-family:'Cormorant Garamond',serif;

font-size:38px;

color:#7b1e1e;

border-bottom:2px solid #d4af37;

padding-bottom:10px;

margin-bottom:25px;

}



.menu-special-box h4{

font-family:'Cormorant Garamond',serif;

font-size:26px;

color:#333;

margin-bottom:5px;

}



.menu-special-box p{

font-size:16px;

line-height:1.7;

color:#666;

margin-bottom:22px;

}



.pdf-button{

display:inline-block;

margin-top:50px;

padding:15px 40px;

background:#7b1e1e;

color:white;

text-decoration:none;

border-radius:40px;

font-size:17px;

font-weight:bold;

transition:.3s;

}



.pdf-button:hover{

background:#d4af37;

}



@media(max-width:768px){

.menu-special-grid{

grid-template-columns:1fr;

}

}



/* CATEGORIE */


.menu-category{

margin-bottom:55px;

}



.menu-category h3{

font-family:'Cormorant Garamond',serif;

font-size:38px;

color:#7b1e1e;

border-bottom:2px solid #d4af37;

padding-bottom:12px;

margin-bottom:25px;

}





/* PIATTI */


.menu-item{

display:flex;

justify-content:space-between;

gap:30px;

padding:18px 0;

border-bottom:1px solid rgba(123,30,30,.15);

}



.menu-item strong{

font-family:'Cormorant Garamond',serif;

font-size:26px;

color:#333;

}



.menu-item p{

font-size:16px;

margin-top:6px;

color:#666;

line-height:1.6;

}



.menu-item span{

font-family:'Cormorant Garamond',serif;

font-size:26px;

font-weight:bold;

color:#7b1e1e;

white-space:nowrap;

}





/* ONDA MENU */


.menu-wave{

line-height:0;

background:#7b1e1e;

}



.menu-wave svg{

display:block;

width:100%;

height:120px;

}





/* TAKE AWAY */


.takeaway-section{

background:#7b1e1e;

color:white;

padding:90px 20px;

}



.takeaway-section h2{

font-family:'Cormorant Garamond',serif;

font-size:55px;

text-align:center;

color:#f7f2eb;

margin-bottom:35px;

}



.takeaway-text{

text-align:center;

max-width:700px;

margin:0 auto 60px;

font-size:18px;

line-height:1.8;

}



.takeaway-section .menu-category h3{

color:#d4af37;

border-color:#d4af37;

}



.takeaway-section .menu-item{

border-color:rgba(255,255,255,.25);

}



.takeaway-section .menu-item strong{

color:white;

}



.takeaway-section .menu-item p{

color:#f7f2eb;

}



.takeaway-section .menu-item span{

color:#d4af37;

}


/* TAKE AWAY FOTO MENU */


.takeaway-images{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:35px;

margin-top:50px;

}



.takeaway-card{

background:white;

padding:15px;

border-radius:20px;

box-shadow:0 12px 30px rgba(0,0,0,.15);

overflow:hidden;

}



.takeaway-card img{

width:100%;

height:auto;

display:block;

border-radius:12px;

cursor:pointer;

transition:.3s;

}



.takeaway-card img:hover{

transform:scale(1.03);

}



/* CTA FINALE */


.menu-cta{

background:#f7f2eb;

padding:70px 20px;

text-align:center;

}



.menu-cta h2{

font-family:'Cormorant Garamond',serif;

font-size:45px;

color:#7b1e1e;

margin-bottom:20px;

}



.menu-cta p{

font-size:18px;

}





/* MOBILE MENU */


@media(max-width:768px){


.menu-intro h2,
.menu-card-section > .menu-container > h2,
.takeaway-section h2{

font-size:40px;

}



.menu-category h3{

font-size:32px;

}



.menu-item{

flex-direction:column;

gap:8px;

}



.menu-item span{

font-size:24px;

}



.menu-hero{

height:55vh;

}


}

.special-grid,
.takeaway-images{

grid-template-columns:1fr;

}


.special-box{

padding:25px;

}


.special-box h3{

font-size:32px;

}



/* =========================
   PAGINA GALERIE
========================= */


/* HERO GALLERY */

.gallery-hero{

height:65vh;

background:
linear-gradient(
rgba(0,0,0,.45),
rgba(0,0,0,.45)
),
url("../images/gallery-hero.jpg");

background-size:cover;

background-position:center;

}





/* SEZIONE GALLERY */


.gallery-section{

padding:90px 20px;

background:#f7f2eb;

}



.gallery-container{

max-width:1200px;

margin:auto;

text-align:center;

}



.gallery-container h2{

font-family:'Cormorant Garamond',serif;

font-size:55px;

color:#7b1e1e;

margin-bottom:20px;

}



.gallery-intro{

max-width:800px;

margin:0 auto 60px;

font-size:18px;

line-height:1.8;

}







/* GRIGLIA FOTO */


.gallery-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}





.gallery-item{

height:300px;

background:white;

border-radius:20px;

overflow:hidden;

box-shadow:0 12px 30px rgba(0,0,0,.12);

cursor:pointer;

transition:.4s;

}



.gallery-item:hover{

transform:translateY(-8px);

}



.gallery-item img{

width:100%;

height:100%;

object-fit:cover;

padding:0;

transition:.4s;

}



.gallery-item:hover img{

transform:scale(1.08);

}


/* LIGHTBOX */


.lightbox{

position:fixed;

inset:0;

background:rgba(0,0,0,.9);

display:flex;

align-items:center;

justify-content:center;

z-index:2000;

opacity:0;

visibility:hidden;

transition:.4s;

}



.lightbox.active{

opacity:1;

visibility:visible;

}





.lightbox-image{

max-width:85%;

max-height:85%;

object-fit:contain;

border-radius:10px;

touch-action: pinch-zoom;

}





.close{

position:absolute;

top:30px;

right:40px;

font-size:50px;

color:white;

cursor:pointer;

font-weight:300;

transition:.3s;

}



.close:hover{

color:#d4af37;

}







.arrow{

position:absolute;

top:50%;

transform:translateY(-50%);

font-size:55px;

color:white;

cursor:pointer;

transition:.3s;

user-select:none;

}



.arrow:hover{

color:#d4af37;

}



.prev{

left:40px;

}



.next{

right:40px;

}









/* MOBILE */


@media(max-width:768px){



.gallery-container h2{

font-size:42px;

}



.gallery-grid{

grid-template-columns:1fr;

gap:25px;

}



.gallery-item{

height:260px;

}



.lightbox-image{

max-width:90%;

max-height:75%;

}



.close{

top:15px;

right:25px;

font-size:40px;

}



.arrow{

font-size:40px;

}



.prev{

left:15px;

}



.next{

right:15px;

}



}



/* =========================
   PAGINA KONTAKT
========================= */


/* HERO */

.contact-hero{

height:65vh;

background:
linear-gradient(
rgba(0,0,0,.45),
rgba(0,0,0,.45)
),
url("../images/contact-hero.jpg");

background-size:cover;
background-position:center;

}



/* SEZIONE CONTATTI */


.contact-section{

padding:100px 30px;

background:#f7f2eb;

}



.contact-container-new{

max-width:1300px;

margin:auto;

}


/* MAPPA GRANDE */


.contact-map-large{

text-align:center;

width:100%;

}



.contact-map-large h2{

font-family:'Cormorant Garamond',serif;

font-size:50px;

color:#7b1e1e;

margin-bottom:35px;

}



.contact-map-large .map-box{

width:100% !important;

max-width:none !important;

height:450px;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.15);

}



.contact-map-large .map-box iframe{

width:100%;

height:100%;

display:block;

border:0;

}



.address{

margin-top:30px;

font-size:20px;

line-height:1.8;

color:#555;

}



.address i{

color:#d4af37;

font-size:22px;

margin-right:10px;

}





/* CARDS SOTTO */


.contact-cards{

display:grid;

grid-template-columns:0.8fr 1fr;

gap:40px;

margin-top:60px;

}





.contact-info,
.opening-hours-card{

background:white;

padding:40px;

border-radius:20px;

box-shadow:0 12px 35px rgba(0,0,0,.10);

}





.contact-info h2,
.opening-hours-card h2{

font-family:'Cormorant Garamond',serif;

font-size:42px;

color:#7b1e1e;

text-align:center;

margin-bottom:35px;

}





/* CONTATTI */


.contact-item{

display:flex;

align-items:flex-start;

gap:25px;

padding:25px 0;

border-bottom:1px solid rgba(123,30,30,.15);

}



.contact-item:last-child{

border-bottom:none;

}



.contact-item i{

font-size:35px;

color:#d4af37;

width:45px;

text-align:center;

}



.contact-item h3{

font-family:'Cormorant Garamond',serif;

font-size:28px;

color:#7b1e1e;

margin-bottom:8px;

}



.contact-item a{

text-decoration:none;

font-size:21px;

font-weight:bold;

color:#333;

transition:.3s;

}



.contact-item a:hover{

color:#7b1e1e;

}





/* ORARI */


.hours-columns{

display:flex;

gap:45px;

}



.hours-column{

flex:1;

}



.contact-day{

display:flex;

flex-direction:column;

gap:5px;

padding:12px 0;

border-bottom:1px solid rgba(123,30,30,.15);

}



.contact-day strong{

font-family:'Cormorant Garamond',serif;

font-size:25px;

color:#7b1e1e;

}



.contact-day span{

font-size:15px;

line-height:1.5;

color:#555;

}



.contact-day .closed{

color:#7b1e1e;

font-weight:bold;

}





/* BANNER FINALE */


.contact-banner{

background:#7b1e1e;

color:white;

text-align:center;

padding:90px 20px;

}



.contact-banner h2{

font-family:'Cormorant Garamond',serif;

font-size:55px;

color:#f7f2eb;

margin-bottom:20px;

}



.contact-banner p{

max-width:750px;

margin:auto;

font-size:19px;

line-height:1.8;

}





/* MOBILE */


@media(max-width:950px){


.contact-cards{

gap:30px;

}


.contact-info,
.opening-hours-card{

padding:30px;

}


.contact-map-large h2{

font-size:42px;

}


}





@media(max-width:768px){


.contact-cards{

grid-template-columns:1fr;

}



.contact-map-large .map-box{

height:300px;

}



.contact-info,
.opening-hours-card{

padding:30px 25px;

}



.contact-item{

gap:15px;

}



.contact-item i{

font-size:28px;

}



.contact-item h3{

font-size:25px;

}



.hours-columns{

flex-direction:column;

gap:0;

}



.contact-day strong{

font-size:22px;

}



.contact-banner h2{

font-size:40px;

}



}


/* COMING */


.coming-hero{
background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/coming-soon.jpg");
}
