*, *::before, *::after { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;}
@font-face {
  font-family: 'Fecske';
  src: url('../font/Fecske.otf'); /* IE9 Compat Modes */ 
  src: url('../font/Fecske.woff2') format('woff2'), /* Super Modern Browsers */
       url('../font/Fecske.woff') format('woff'), /* Pretty Modern Browsers */
       url('../font/Fecske.ttf')  format('truetype'); /* Safari, Android, iOS */
  font-display: swap;     
}
@font-face {
  font-family: 'RobotoCond';
  src: url('../font/RobotoCond.otf'); /* IE9 Compat Modes */ 
  src: url('../font/RobotoCond.woff2') format('woff2'), /* Super Modern Browsers */
       url('../font/RobotoCond.woff') format('woff'), /* Pretty Modern Browsers */
       url('../font/RobotoCond.ttf')  format('truetype'); /* Safari, Android, iOS */
  font-display: swap;     
}

 /* colori */ 
 :root {   
  --main-color: #191d25;
  --cl-red:#819492; 
  --cl-ecru: #819492; 
  --cl-hover:#191d25;
}
/* Font */
:root {
  --special-font: 'Fecske';
  --main-font: 'RobotoCond';   
} 

body {
    position:relative;
    margin: 0;        
    font-size: 1em !important;     
    background-color: white;
    color:#29323c;
    width:100%; 
    height:100vh;   
    font-family: 'Roboto Condensed', sans-serif;
        
}

html {scroll-behavior: smooth; scroll-padding-top: 60px; max-width:100%; overflow-x: hidden;}
section {outline:none;}
img { max-width: 100%; }

.centra {display:flex; justify-content: center; align-items:center; width:100%;}

#Back2top {
     position: fixed;
    bottom: 20px;
    right: 10px;
    z-index: 99;
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.7);
    color: var(--cl-ecru);
    border: 2px solid var(--cl-ecru);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
    display: flex; /* ✅ Sempre flex per centrare */
    align-items: center;
    justify-content: center;
    opacity: 0; /* ✅ Nascosto con opacity invece di display */
    visibility: hidden; /* ✅ Non cliccabile quando nascosto */
    transition: all 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
  }
  #Back2top.show {
    opacity: 1; /* ✅ Visibile */
    visibility: visible; /* ✅ Cliccabile */
}

 .fa-angle-up {margin:0 !important;  font-size:1.6rem;}   
  #Back2top:hover { background: var(--cl-ecru);color: white;transform: translateY(-6px); box-shadow: 0 6px 20px rgba(129, 148, 146, 0.35);}



.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1002;
    background: transparent;
    padding: 0 30px;
    transition: all 0.4s ease;
}

.header-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
}


/* ========================================
   WRAPPER NAV + PRENOTA
   ======================================== */
.nav-with-button { display: flex; align-items: center; gap: 48px;}

/* ========================================
   HOMEPAGE: Layout verticale (non scrollata)
   ======================================== */
.header-homepage .header-container { flex-direction: column; padding: 20px 0;}
.header-homepage .logo {margin-bottom: 15px;}
.header-homepage .separator-line {
    width: 100%;
    max-width: 1200px;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    margin-bottom: 15px;
}
.header-homepage .nav-desktop {position: static; transform: none;}
.header-homepage:not(.scrolled-nav) .header-actions .lang-switch {display: none;}

/* Nella homepage trasparente, nascondi header-actions su desktop */
.header-homepage:not(.scrolled-nav) .header-actions { display: none;}

/* Nella homepage trasparente, mostra prenota inline */
.header-homepage:not(.scrolled-nav) .btn-prenota-actions { display: none;}

.header-homepage:not(.scrolled-nav) .btn-prenota-inline {display: block;}

/* ========================================
   HOMEPAGE: Layout orizzontale (scrollata)
   ======================================== */
.header-homepage.scrolled-nav .header-container { flex-direction: row; padding: 8px 0; height: 72px;}
.header-homepage.scrolled-nav .logo { margin-bottom: 0;}
.header-homepage.scrolled-nav .separator-line {display: none;}

/* Nella homepage scrollata: rompi il wrapper, metti prenota in header-actions */
.header-homepage.scrolled-nav .nav-with-button { display: contents;}
.header-homepage.scrolled-nav .nav-desktop {position: absolute; left: 45%; transform: translateX(-50%);}

/* Nasconde prenota inline, mostra quello in actions */
.header-homepage.scrolled-nav .btn-prenota-inline { display: none !important;}
.header-homepage.scrolled-nav .btn-prenota-actions {display: block;}
.header-homepage.scrolled-nav .header-actions { display: flex; margin-left: auto; gap: 48px;}
/* Nella homepage scrollata: nascondi switch dal nav-desktop, mostra in actions */
.header-homepage.scrolled-nav .nav-desktop .lang-switch {display: none;}
.header-homepage.scrolled-nav .header-actions .lang-switch { display: flex;}
.header.scrolled-nav .lang-switch button::after { background: var(--cl-hover); bottom: -1px;}

/* ========================================
   STATO SCROLLED (celestina)
   ======================================== */
.header.scrolled-nav {
    background: var(--cl-ecru);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25), 0 2px 6px rgba(0, 0, 0, 0.15);
    height: 72px;
}
.header.scrolled-nav .lang-switch button:hover {color: var(--cl-hover);}
.header.scrolled-nav .lang-switch button.active {color: var(--cl-hover);}

/* ========================================
   PAGINE INTERNE (sempre layout orizzontale)
   ======================================== */
.header:not(.header-homepage) .header-container {flex-direction: row; height: 72px;}
.header:not(.header-homepage) .separator-line { display: none;}
.header:not(.header-homepage) .nav-with-button { display: contents;}
.header:not(.header-homepage) .nav-desktop { position: absolute;left: 45%; transform: translateX(-50%);}

/* Pagine interne: nascondi prenota inline, mostra in actions */
.header:not(.header-homepage) .btn-prenota-inline { display: none !important;}
.header:not(.header-homepage) .btn-prenota-actions {display: block;}
.header:not(.header-homepage) .header-actions { margin-left: auto; display: flex; gap: 48px;}

/* Pagine interne: switch sempre in header-actions */
.header:not(.header-homepage) .nav-desktop .lang-switch {display: none;}
.header:not(.header-homepage) .header-actions .lang-switch { display: flex;}

/* ========================================
   ELEMENTI COMUNI
   ======================================== */
.logo-img_desk { width: 200px;height: auto; }
.nav-desktop { display: flex; gap: 32px;}
.nav-desktop a {
    color: white;
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.nav-desktop a:hover, .nav-desktop a.active {color: var(--cl-hover);}
.header-homepage:not(.scrolled-nav) .nav-desktop a:hover,
.header-homepage:not(.scrolled-nav) .nav-desktop a.active { color: var(--cl-ecru);}
.header-actions {display: flex; align-items: center; gap: 48px;}
.lang-switch {display:flex; gap:20px;}
.lang-switch button {background: none;border: none;color:white;  font-size: 16px;cursor: pointer;padding: 4px 0;position: relative;transition: color 0.3s ease;letter-spacing: 1px; font-family: var(--main-font);}
.lang-switch button::after {content: ''; position: absolute;bottom: -4px;left: 0;width: 0;height: 2px;background: var(--cl-ecru);transition: width 0.3s ease;}
.lang-switch button.active {color: var(--cl-ecru);}
.lang-switch button.active::after {width: 100%;}
.lang-switch button:hover {color: var(--cl-ecru);}
.nav-desktop .lang-switch {display: flex; align-items: center; margin-left: 12px; gap:20px;}
.nav-desktop .lang-switch button {padding: 0; line-height: 1.1;display: flex; align-items: center; margin:0; display:inline-block;}

.header-actions .lang-switch {display: none;}
.btn-prenota a {
    border: 1px solid white;
    background: transparent;
    padding: 10px 16px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    color: white;
    text-decoration: none;
    transition: background 0.3s ease-out, border 0.3s ease-out;
    white-space: nowrap;
}
.btn-prenota a:hover { background: rgba(255, 255, 255, 0.1);}
.header.scrolled-nav .btn-prenota a:hover { background: var(--cl-hover); border: 1px solid var(--cl-hover);}

/* ========================================
   MOBILE MENU
   ======================================== */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    width: 24px;
    height: 16px;
    padding: 0;
}

.mobile-menu-btn .burger-line {
    position: absolute;
    display: block;
    right: 0;
    width: 100%;
    height: 2.15px;
    opacity: 1;
    transform: rotate(0deg);
    border-radius: 0.15rem;
    background-color: white;
    transition: all 0.3s ease;
}

.mobile-menu-btn .burger-line:nth-child(1) {  top: 0px; }
.mobile-menu-btn .burger-line:nth-child(2) { top: 0.5rem;  width: 70%; }
.mobile-menu-btn .burger-line:nth-child(3) {  top: 1rem; }
.mobile-menu-btn.is-active .burger-line:nth-child(1) {top: 0.5rem; transform: rotate(135deg);}
.mobile-menu-btn.is-active .burger-line:nth-child(2) { opacity: 0; }
.mobile-menu-btn.is-active .burger-line:nth-child(3) { top: 0.5rem; transform: rotate(-135deg);}
.nav-mobile {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    background: var(--cl-ecru);
    transition: transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 1001;
    right: 0;
    transform: translateX(100%);
    will-change: transform;
}
.nav-mobile.active { transform: translateX(0);}
.nav-mobile-content { padding: 80px 30px 30px; height: 100%; text-align: center; }
.nav-mobile a {
    color: white;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    display: block;
    padding: 15px 0;       
    transition: color 0.3s ease-out;
}
.nav-mobile a:hover, .nav-mobile a.active {color: var(--cl-hover);}
/* Switch nel menu mobile */
.nav-mobile .lang-switch {display: none !important;}

.close-mobile-menu {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent !important;
    border: none !important;
    color: white;
    font-size: 30px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-user-select: none;
    user-select: none;
}

/* Nascondi X duplicata */
.close-mobile-menu ~ .close-mobile-menu, .nav-mobile ~ .nav-mobile { display: none !important;}

/* ========================================
   UTILITIES
   ======================================== */
.mobile-menu-btn,
.nav-desktop a,
.nav-mobile a {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 1800px) {
  
    html[lang="en"] .header.scrolled-nav .logo-img_desk { width: 170px; }    
    html[lang="en"] .header.scrolled-nav .nav-desktop {gap: 24px; }    
    html[lang="en"] .header-actions { gap: 32px;  /* Riduce gap tra prenota e altri elementi */}

    html[lang="en"] .header.scrolled-nav .nav-desktop { gap: 20px; font-size: 13px; }    
    html[lang="en"] .header.scrolled-nav .nav-desktop .lang-switch {margin-left: 0; }    
    html[lang="en"] .header.scrolled-nav .nav-desktop .lang-switch button {font-size: 15px; }
}

@media (max-width: 1850px) {
    html[lang="en"] .header.scrolled-nav .nav-desktop, 
    html[lang="en"] .header.scrolled-nav .nav-with-button .btn-prenota {  display: none !important; }    
    html[lang="en"] .header.scrolled-nav .mobile-menu-btn {   display: block;  }    
    html[lang="en"] .header.scrolled-nav .header-actions .lang-switch { display: flex !important; gap: 12px; }    
    html[lang="en"] .header.scrolled-nav .nav-desktop .lang-switch {display: none !important;}    
    html[lang="en"] .header.scrolled-nav .header-actions { display: flex !important; gap: 24px;}    
    html[lang="en"] .header.scrolled-nav .btn-prenota-actions { display: block; }    
    html[lang="en"] .header.scrolled-nav .btn-prenota-inline { display: none !important; }    
    html[lang="en"] .header.scrolled-nav .btn-prenota a { padding: 8px 14px;font-size: 14px;}    
    html[lang="en"] .header.scrolled-nav .lang-switch button { font-size: 14px; }    
    html[lang="en"] .header.scrolled-nav .header-container { align-items: center;}
}

@media (max-width: 1610px) {
    html[lang="en"] .nav-desktop, .nav-with-button .btn-prenota { display: none !important;  }    
    html[lang="en"] .mobile-menu-btn { display: block; }    
    html[lang="en"] .header-homepage:not(.scrolled-nav) .header-actions { display: flex !important; }
       /* Switch sempre visibile in header-actions su mobile */
    html[lang="en"] .header-actions .lang-switch { display: flex !important; gap: 12px;}
    html[lang="en"] .nav-desktop .lang-switch { display: none !important; }
    
    /* Homepage mobile: layout orizzontale */
    html[lang="en"] .header-homepage .header-container { flex-direction: row; padding: 17px 0; }    
    html[lang="en"] .header-homepage .logo { margin-bottom: 0; }    
    html[lang="en"] .header-homepage .separator-line { display: none; }    
    html[lang="en"] .header-actions { gap: 24px;}
    html[lang="en"] .header-container {align-items: center;}
    
    /* Mostra prenota su mobile */
    html[lang="en"] .header-homepage .header-actions .btn-prenota-actions { display: block; }    
    html[lang="en"] .btn-prenota-inline { display: none !important; }
}
@media (max-width: 1668px) {
    .nav-desktop, .nav-with-button .btn-prenota { display: none !important;  }    
    .mobile-menu-btn { display: block; }    
    .header-homepage:not(.scrolled-nav) .header-actions { display: flex !important; }
       /* Switch sempre visibile in header-actions su mobile */
    .header-actions .lang-switch { display: flex !important; gap: 12px;}
    .nav-desktop .lang-switch { display: none !important; }
    
    /* Homepage mobile: layout orizzontale */
    .header-homepage .header-container { flex-direction: row; padding: 17px 0; }    
    .header-homepage .logo { margin-bottom: 0; }    
    .header-homepage .separator-line { display: none; }    
    .header-actions { gap: 24px;}
    .header-container {align-items: center;}
    
    /* Mostra prenota su mobile */
    .header-homepage .header-actions .btn-prenota-actions { display: block; }    
    .btn-prenota-inline { display: none !important; }
}
@media (max-width: 1668px) and (min-width: 738px) {
    .nav-mobile .btn-regala-nav {
        display: none !important; /* Nascondi dal menu hamburger su tablet */
    }
}

@media (max-width: 737px) {
    .header { padding: 0 20px; }   
   .header-homepage .logo, .header.scrolled-nav .logo { width:110px; } 
    .logo-img_desk, .header.scrolled-nav .logo-img_desk { width: 110px; }
    .header-actions, .header.scrolled-nav .header-actions { gap: 10px; }
    .btn-prenota a, .header.scrolled-nav .btn-prenota a { padding: 6px 12px; font-size: 12px; }
    .lang-switch, .header.scrolled-nav .lang-switch {gap:10px;}    
    .lang-switch button, .header.scrolled-nav .lang-switch button {font-size: 12px !important; display:inline-flex; padding:0 !important; }
    html[lang="en"] .btn-prenota a, html[lang="en"] .header.scrolled-nav .btn-prenota a { font-size: 12px; padding: 6px 8px; margin:0 !important;}      
    html[lang="en"] .header-homepage .logo,  html[lang="en"] .header.scrolled-nav .logo{ width:110px; }   
    html[lang="en"] .lang-switch button {font-size: 12px !important; }
    html[lang="en"] .header.scrolled-nav .lang-switch button {font-size: 12px !important; }
    html[lang="en"] .header-actions, html[lang="en"] .header.scrolled-nav .header-actions { gap: 10px; }
    html[lang="en"] .nav-mobile .btn-regala-nav a {
        color: var(--main-color);
        text-decoration: none;
        font-size: 16px;
        font-weight: 500;
        display: block;
        padding: 15px 0;
        transition: color 0.3s ease-out;
    }    
    .header-actions .btn-regala-nav {display: none !important;}
    
    /* Mostra REGALA nel menu mobile */
    .nav-mobile .btn-regala-nav {display: block !important;margin-top: 10px;}    
    .nav-mobile .btn-regala-nav a {
        color: var(--main-color);
        text-decoration: none;
        font-size: 16px;
        font-weight: 500;
        display: block;
        padding: 15px 0;
        transition: color 0.3s ease-out;
    }    
    .nav-mobile .btn-regala-nav a:hover {color: var(--cl-hover);}    
    /* Icona regalo nel menu mobile */
    .nav-mobile .btn-regala-nav i { margin-right: 8px;}
}

@supports (-webkit-appearance: none) { .header.scrolled-nav { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } }


.btn-regala-nav a {display:flex; align-items:center;text-align:center; gap:5px; background:white; color:var(--main-color); border:none;}
.btn-regala-nav a:hover {background:white !important; color:var(--main-color) !important; border:none !important;}
.button-nav-group {display:flex; align-items:center; gap:16px;}

/* HERO */
#hero {
  /* background: linear-gradient(to top right,#29323c 0%, #2b343f 33%, #0d525a 100%); */
    background-image: url('../img/hero_sacerno_PC.webp');
    background-position: bottom center;
    background-size:cover;
    -webkit-background-size:cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-repeat: no-repeat;
    height:100vh;
    display:flex;
    width:100%;
    align-items:center;
    overflow: hidden;
    z-index:999;
    
}

.container_hero {width:100%; display:flex; align-items: center; justify-content: flex-end;}
.hero-txt {display:flex; flex-direction: column; align-items: center; justify-content: center; color:white;  width:60%;}
.hero-txt h1 {font-size:4em; margin:0; font-weight: 400; font-family: var(--special-font), cursive; text-align:center;}
.quote { font-size:1.3em; font-weight:300; font-style: italic;}
.autore-cit {font-size:1em !important; text-align:right; font-weight:300;}

.fascia-con-logo {width:100%; background:var(--cl-ecru); display:flex; align-items:center; justify-content: center; padding:1em;}
.logo-fascia {width:300px;}

main {padding:2em 0 0 0;}


/* GIADA */
.container-section-giada, .container-section-dario {width:70%; display:flex; align-items: flex-start; justify-content: center; margin-top:2em;}
.riquadro_sinistra, .riquadro_destra {width:100%; }
.riquadro-section-giada + .riquadro-section-giada {margin-left:2em;}
.img-giada {width:90%;}
.riquadro_destra {display:flex; flex-direction: column; align-items:center; justify-content: space-between; padding:0;}
.contenitore-txt + .contenitore-txt {margin-top:5em;}
.subtitle-giada-dario {color:var(--cl-ecru); font-family:var(--special-font);font-weight:600; text-transform: uppercase; margin:0; margin-bottom:1em;}
.solo-txt p {line-height:1.6;}
.contenitore-btn-giada {width:100%; display:flex; align-items: right; justify-content: right; }
.btn-container-giada {width:auto; margin:2em 0 1em 0;}
.citazione-interna {width:100%; text-align:center; font-style: italic;}
.citazione-interna p {margin:0; padding:0; line-height:1.5;}

/* CANTINA */
#cantina, #giada, #dario, #menu, #pagina-menu, #special, #ristorante-pesce, .section-gen {width:100%; padding:4em 0; display:flex; align-items: center; justify-content: center;}
.container-section {width:70%; display:flex; flex-direction: column; align-items: flex-start; justify-content: flex-start;}
.title {width:100%;}
.title h1 {font-weight:600; color:var(--cl-ecru); font-family:var(--special-font); text-transform: uppercase;}
.title-h2 {font-weight:600; color:var(--cl-ecru); font-family:var(--special-font); text-transform: uppercase;}
.titoletti {font-size:20px;}
.txt-cantina {width:60%; margin-bottom: 1em; line-height:1.6;}

.row-gallery {display:flex; width:100%; align-items: center; padding:2em 0; justify-content: space-between; flex-wrap: wrap; }
.row-gallery-item {background:none !important; flex: 1 0 300px; max-width:400px; margin: 1rem 0; box-shadow: 0.3rem 0.4rem 0.4rem rgba(0, 0, 0, 0.4);	overflow: hidden; display:flex; align-items: center; justify-content: center; }
.row-gallery-item + .row-gallery-item {margin-left:1em;}
.gallery_image {display: block;	object-fit: cover; transition: transform 400ms ease-out;}

.gallery_image:hover {transform: scale(1.10);}
.small-size {display:none;}

/* DARIO */
.riquadro_sinistra-dario, .riquadro_destra-dario {width:100%; }
.riquadro-section-dario + .riquadro-section-dario {margin-left:2em;}
/*btn */
.btn-container {width:60%; margin:1em 0; }
.contenitore-btn-dario {width:100%; display:flex; align-items: left; justify-content: left; }

/* MENU */
.container-section-menu {width:70%; display:flex; flex-direction: column; align-items: flex-end; justify-content: flex-end;}
.container-section-menu h2 {text-align:right;}

.contenitore-box-testo {width:70%; position:relative; height:auto; display:flex; align-items: center; justify-content: center;}
.box-testo {
  width:400px; 
  min-height:290px; 
  padding:2em; 
  background:var(--cl-ecru); 
  display:flex; 
  flex-direction: column; 
  align-items: center; 
  justify-content: center; 
  color:white; 
  text-align:center; 
  line-height:1.6;
  position:absolute;  
  top:-90px;
  
}
.box-testo h3 {text-transform: uppercase; letter-spacing: 1px;}
.box-testo hr {width:100px; background:#0d525a; height:3px; border:none; border-radius:10px; margin:0;}

.contenitore-box-testo-mobile {display:none;}

a { text-decoration: none; color: inherit;  }

.btn-round { position: relative; margin: auto; padding: 19px 22px; transition: all .2s ease; }
  .btn-round:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-radius: 28px;
    background: var(--cl-ecru);
    width: 56px;
    height: 56px;
    transition: all .3s ease; 
  }

  .btn-round span {
    position: relative;
    font-size: 16px;
    line-height: 18px;
    font-weight: 600;
    letter-spacing: .25em;
    text-transform: uppercase;
    vertical-align: middle;     
  }

  .btn-round svg {
    position: relative;
    top: 0;
    margin-left: 10px;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke: var(--main-color);
    stroke-width: 2;
    transform: translateX(-5px);
    transition: all .3s ease; 
  }
  .btn-round:hover:before { width: 100%; background: var(--cl-ecru); }
  .btn-round:hover svg { transform: translateX(0); }
  .btn-round:active { transform: scale(0.96); }
  /* END BTN */

  .parallax {
      display:flex; 
      align-items: center; 
      justify-content: center; 
      height:1000px;                
       background-image: url('../img/Da-Sacerno_interno.webp'); 
       background-position:bottom center; 
       background-repeat: no-repeat; 
       background-size:100%; 
       -webkit-background-size:100%;
       -moz-background-size: 100%;
       -o-background-size: 100%;
       
      }  

/* FOOTER */

footer {
 width:100%;
 background: var(--cl-red);
 margin:0;
 padding:1em 0;
 display:flex;
 flex-direction:column;
 align-items: center;
 justify-content: center;
 font-weight:300;
 line-height:1.8;
 font-size:0.9em;
}

.footer-topline {width:100%; display:flex; align-items: center; justify-content: center; padding:0 0 1em 0; }
.logo-footer {width:250px;}
.footer-bottomline {width:70%; display:flex; padding:1em 0 0 0;}
.col-footer {width:100%; color:white; display:flex; flex-direction: column;}
.footer-bottomline p {margin:0; padding:0;}
.footer-allinea-sx {text-align:left;}
.footer-allinea-centro {text-align:center;}
.footer-allinea-dx {text-align:right;}
.link_footer {transition:.6s;}
.link_footer:hover {color:var(--cl-hover);}
.mail {text-decoration: underline;}
.btn-cta-footer, .btn-cta-footer2 { display: inline-flex;  margin-bottom: 1em; justify-content: flex-end;}
.btn-cta-footer a {
    border: 1px solid white;
    background: rgba(255, 255, 255, 0.1);
    padding: 5px 20px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    color: white;
    text-decoration: none;
    transition: background 0.3s ease-out, border 0.3s ease-out;
    white-space: nowrap;
    width:auto;
}

.btn-cta-footer2 a {
  display:flex; 
  gap:10px;
  align-items:center; 
  text-align:center; 
  background:white; 
  color:var(--cl-ecru);
  padding: 5px 20px;
  border-radius: 50px;
  white-space: nowrap;
  width:auto;
}

/* MENU */
#hero-menu {
   background-image: url('../img/hero_menu-ristorante-da-sacerno.webp');
  /* background: linear-gradient(to top right,#29323c 0%, #2b343f 33%, #0d525a 100%);*/
   background-position: bottom center;
   background-size:cover;
   -webkit-background-size:cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   background-repeat: no-repeat;
   height:100vh;
   display:flex;
   width:100%;
   align-items:center;
   overflow: hidden;
   z-index:999;
}

.wrap-link .link-txt {transition:color 0.5s ease-out;}
.wrap-link .arrow-link {transition: color 0.5s ease-out, transform 0.5s ease-out;}
.link-txt {text-decoration:underline; color:var(--cl-ecru); }
.arrow-link {color:var(--cl-ecru);}
.wrap-link:hover .link-txt, .wrap-link:hover .arrow-link {color:var(--cl-hover);}
.wrap-link:hover .arrow-link {transform: translateX(5px);}

/* GRID */
.grid-container {      
  width:100%;
  margin:3em 0;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
gap: 0px 0px;
grid-template-areas:
  "foto titolo foto4"
  "titolo2 foto2 foto4"
  "foto3 titolo3 titolo3";
}
.foto { grid-area: foto; background-image:url('../img/autenticita.webp'); background-size:cover; background-repeat:no-repeat; background-position:center; width:100%; height:350px;}
.titolo { grid-area: titolo; background:var(--cl-ecru); }
.titolo2 { grid-area: titolo2; background:var(--cl-ecru);}
.foto2 { grid-area: foto2; background-image:url('../img/ricercatezza.webp'); background-size:cover; background-repeat:no-repeat; background-position:center; width:100%; height:350px;}
.foto3 { grid-area: foto3; background-image:url('../img/gusto.webp'); background-size:cover; background-repeat:no-repeat; background-position:center; width:100%; height:350px;}
.titolo3 { grid-area: titolo3; background: linear-gradient(to top right,#2f3837 0%, #5a6967 33%, #819492 100%); color:white !important;}
.foto4 { grid-area: foto4; background-image:url('../img/foto4.webp'); background-size:cover; background-repeat:no-repeat; background-position:center; width:100%; height:700px;}

.title_servizi {display:flex; flex-direction:column; justify-content: flex-start; align-items: flex-start; width:100%; padding:2em;}
.title_servizi p {line-height:1.5;}
.txt_title_servizi {font-size:1.5em; font-weight: 600; color:white; margin:0; margin-bottom:0.5em; font-family: var(--special-font); letter-spacing: 2px;}
.hr_servizi {width:15%; height:3px; margin:0; background:var(--cl-red) !important; color:var(--cl-red) !important;}
.hr_servizi_2 {width:7%; height:3px; margin:0; background:var(--cl-ecru) !important; color:#bfd0d1 !important;}

/* END GRID */

.parallax_menu {
  display:flex; 
  align-items: center; 
  justify-content: center; 
  height:750px;                
   background-image: url('../img/daSacerno_ristorante_dettaglio-piatto.webp'); 
   background-position: center; 
   background-repeat: no-repeat; 
   background-size:cover; 
   -webkit-background-size:cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   
  }  

 /*SPECIAL */
 .container_degustazioni {width:100%; display: flex; flex-direction: column; margin:2em 0;}
 .txt-special {text-align:right !important;}
 .row_degustazione {display:flex; width:100%; margin:0;} 
 .box_degustazione {position:relative; width:100%; background-position: center; background-size: cover; background-repeat: no-repeat; min-height:450px; }
 .title_box_deg {background:transparent; position:absolute; top:40%; text-align:center; width:100%; text-transform: uppercase; font-size:1.3em; color:#3A1F2B; font-weight:700; font-family: var(--special-font);}
 
 .box_degustazione::before, .box_degustazione::after {
   content: '';
   position:absolute;
   top:1.75em;
   bottom:1.75em;
   right:1.75em;
   left:1.75em;
   opacity: 1;
   transition: transform ease-out 250ms;
   
 }

 .box_degustazione::before { border-top: 2px solid white; border-bottom: 2px solid white; transform: scale(0,1); }
 .box_degustazione::after { border-left: 2px solid white; border-right: 2px solid white; transform: scale(1,0); }
 .box_degustazione:hover::before {transform: scale(1.05, 1);}
 .box_degustazione:hover::after {transform: scale(1, 1.05);}
 .box_img { width: 100%; display: block; transition: opacity ease-out 250ms; }
 .box_degustazione:hover .box_img { opacity: .4;}
 .container_txt_degust {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  opacity: 0;
  transition: opacity ease-out 250ms;
  font-size:1.5em;
  text-align:center;
  font-family: var(--special-font);
 }
 .container_txt_degust-ferragosto {top:65%;}
 .container_txt_degust-alt-color1 {color:#3A1F2B;}
 .container_txt_degust-alt-color2 {color:white;}
 .container_txt_degust-alt-color3 {color:#49898f;}
 .box_degustazione:hover .container_txt_degust {opacity:1;}
 .box_degustazione_txt {width:100%; display:flex; align-items: center; justify-content: center; text-align:center; }
 .box_degustazione_txt p {width:90%; }

 .box_degustazione1 {background-image: url('../img/menu-viva-la-romagna.webp'); }
 .box_degustazione2 {background-image: url('../img/natale-2024_da-sacerno.webp');}
 .box_degustazione3 {background-image: url('../img/pasqua2024.jpg'); }
 

 .chiusura_feste {display:flex; flex-direction:column; align-items:center; justify-content: center;}
.lista-chiusura-feste {margin:0; list-style:none; padding:0;}

.menuspecial ul {list-style:none; text-align:center !important; font-style: italic; width:100%;  margin:0; padding:0; margin-top:1em;}
.menuspecial ul li {line-height: 1.5; text-align:center !important;  }

 /*pagina cantina */
 #hero-cantina {
  background-image: url('../img/hero_cantina.webp');
  background-position: center;
  background-size:cover;
  -webkit-background-size:cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-repeat: no-repeat;
  height:100vh;
  display:flex;
  width:100%;
  align-items:center;
  overflow: hidden;
  z-index:999;  
}

.fotovini1 { background-image:url('../img/vino-cave-mont-blanc_cantina_da-sacerno-ristorante.webp'); background-position:top center;}
.fotovini2 { background-image:url('../img/Vini2_giada-berri.webp');}
.fotovini3 { background-image:url('../img/vini3.webp');}
.fotovini4 { background-image:url('../img/Vini4.webp');}

.parallax_cantina {
  display:flex; 
  align-items: center; 
  justify-content: center; 
  height:750px;                
   background-image: url('../img/interno_ristorante-da-Sacerno_2_cantina.webp'); 
   background-position: top center; 
   background-repeat: no-repeat; 
   background-size:cover; 
   -webkit-background-size:cover;
   -moz-background-size: cover;
   -o-background-size: cover;   
  }  

  /* CONTATTI */

  #hero-contatti {
  background-image: url('../img/contatti_DaSacerno-ristorante.webp');
  background-position: top center;
  background-size:cover;
  -webkit-background-size:cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-repeat: no-repeat;
  height:100vh;
  display:flex;
  width:100%;
  align-items:center;
  overflow: hidden;
  z-index:999;
  
}
.row_contatti {display:flex; width:100%; margin:2em 0; flex-direction:column;}
.interno_contatti {width:100%; }

.sotto_interno {width:100%; }
.sotto_interno p {margin:0; line-height:1.6;}
.nome_risto {font-weight:600; text-transform: uppercase; font-size:1.2em;}
.mail_contatti:hover {text-decoration: underline;}
.sotto_interno + .sotto_interno {margin-top:2.5em;}
.mappa {width:100%;}
.maps {width:100%; height:450px;}
.row_orari {display:flex; margin-bottom:2em;}
.estateinverno {text-decoration: underline;  }
.tabellaorari {width:100%;}
.tabellaorari + .tabellaorari {margin-left:1em;}
.riga_orari {display:flex; width:100%;}
.ore, .giorno {display:flex; justify-content: flex-start;}
.giorno {width:100px;}
.giorno + .ore {margin-left:1em;}

/* DARIO */
#hero-dario {
  background-image: url('../img/dario/hero_dario.jpg');
  background-position: top center;
  background-size:cover;
  -webkit-background-size:cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-repeat: no-repeat;
  height:100vh;
  display:flex;
  width:100%;
  align-items:center;
  overflow: hidden;
  z-index:999;
  
}

.box_dario {width:100%; margin:0; padding:0;}
.img_dario_pagint {width:100%; padding:0; margin:0;}
.box_dario_txt {display:flex; flex-direction: column; align-items: center; justify-content: flex-start; padding:2em 0;}
.box_dario_txt p {width:90%;}

/* GIADA */
#hero-giada {
  background-image: url('../img/hero_Giada.jpg');
  background-position: top center;
  background-size:cover;
  -webkit-background-size:cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-repeat: no-repeat;
  height:100vh;
  display:flex;
  width:100%;
  align-items:center;
  overflow: hidden;
  z-index:999;
  
}

/* MENU COMPLETO */
.navbar-menu-completo {background:#29323c; }
#container-menu-completo {width:100%; display:flex; flex-direction: column;  align-items: center;}
.menu-fixed { display:flex;  justify-content: center; position: fixed;  width:100%; background:white; align-items:flex-end; height:35vh;}
.menu-fixed ul {display:flex; list-style: none; flex-wrap: wrap; justify-content: center; align-items: center; width:auto; background:#bfd0d1; top: 300px; padding:1.5em 0;}
.box-menu-fixed {width:auto; padding:0 1em; text-align:center; }
.box-menu-fixed + .box-menu-fixed {border-left:1px solid #29323c;}
.menu-link {font-size:1em; text-transform: uppercase; color:#29323c; }
.menu-link:hover {opacity:75%;}
.scrolled-menu {top:150px !important;}
.scrolled-menu .menu-fixed {height:20vh;}
.scrolled-menu .menu-fixed ul {top:150px;}
.inner-container-menu {width:70%; padding-top:400px; padding-bottom:3em; display:flex; flex-direction: column; justify-content: center; align-items: center;}

.row_menu_completo {display:flex; width:100%;  justify-content: center;}
.row_menu_completo_alt {display:flex; flex-direction:column; width:70%;  justify-content: center; text-align:center; margin-bottom:2.5em;}
.paragrafo_row_menu_completo_alt + .paragrafo_row_menu_completo_alt {margin-top:1em;}
.row_menu_completo_alt p {margin:0; line-height: 1.5;}
.row_menu_completo + .row_menu_completo {margin-top:2em;}
.riquadro-menu { width:50%; padding:2em; box-shadow:1px 1px 6px grey;}
.riquadro-menu + .riquadro-menu {margin-left:1em;}
.title-menu-completo {width:100%; text-align:left; padding:0 0 1em 0; border-bottom:2px solid rgba(0,0,0,0.1); text-transform:uppercase; font-size:2em; color:#bfd0d1; font-weight:600;}
.interno-menu-completo h4 {color:#bfd0d1; text-transform: uppercase; font-size:1.4em; font-weight:400; margin-bottom:1em;}
.interno-menu-completo p {margin:0; line-height: 1.5;}
.interno-menu-completo + .interno-menu-completo {margin-top:1.5em;}
.annotazioni-menu {margin:4em 0; font-size:0.9em;}
.postilla-menu {font-size:0.9em; text-decoration: underline; text-align:center;}
.specificazione-menu {font-size:0.8em; font-style:italic;}


@media (min-width:320px) and (max-width:735px) {
  #hero {background-image: url('../img/hero_sacerno_small.webp') !important;}
  .container_hero {padding:0 1em; margin-bottom:100px !important; height:100vh; }
  .hero-txt h1 {font-size:2.4em !important;  }
  .quote { font-size:0.9em !important; }
  .menu-fixed {height:30vh !important; }
  .menu-fixed ul {padding:0.4em 0 0.3em 0; justify-content: center; width:100%;}
  .menu-link {font-size:0.8em;}
  .scrolled-menu .menu-fixed {height:25vh !important; }
  .row_menu_completo_alt {width:100%; font-size:.8em; }
  .box_degustazione_txt p {width:100%; }
  .inner-container-menu {width:85%; padding-top:330px !important; }
}

@media (max-width:736px) {
  .logo {width:7em; }
  #hero { background-image: url('../img/hero_sacerno_smartphone.webp');}
  .container_hero {align-items:center; justify-content: center; height:100vh; margin-bottom:200px; }
  .hero-txt { margin-right:0; width:100%; }
  .hero-txt h1 {font-size:3.2em;}
  .quote { font-size:1.1em; }
  .autore-cit {font-size:0.8em !important;}
  .logo-fascia {width:8em;}
  main {padding:0;}
  #cantina, #giada, #dario, #menu, #pagina-menu, #special, #ristorante-pesce, .section-gen {padding:0; }
  .subtitle-giada-dario {margin:0;}
  .container-section-giada, .container-section-dario {flex-direction: column; width:100%; align-items: center; padding:0 1.5em;}
  .riquadro-section-giada + .riquadro-section-giada {margin-left:0; margin-top:2em;}
  .riquadro_destra {order:1; }
  .riquadro_sinistra {order:2; margin:1.5em 0 2em 0;}
  .img-giada {width:100%;}
  .contenitore-txt + .contenitore-txt {margin-top:1em;}
  .contenitore-btn-giada {margin-bottom:2em;}
  .container-section {width:100%; padding:0 1.5em; }
  .txt-cantina {width:100%; text-align:left;}
  .image-dontshow {visibility: hidden;}
  .normal-size {background-image: url('../img/cantina/cantina3_small.jpg') !important; background-size:cover; background-position: center center; background-repeat: none;}
  .title h1, .title-h2 {text-align:left;}
  .row-gallery {flex-direction: column; justify-content: center;}
  .row-gallery-item {width:100% !important; flex: 1 0 auto;}
  .parallax, .parallax_menu { height:200px; margin:1.5em 0; background-size:100%; -webkit-background-size:100%;-moz-background-size: 100%; -o-background-size: 100%; background-attachment: scroll;}
  .btn-container, .btn-container-giada {width:100%;}
  .btn-container span {font-size:15px; }
  .riquadro-section-dario + .riquadro-section-dario {margin-top:2em; margin-left:0;}
  .riquadro_sinistra-dario {margin-bottom:1.5em;}
  .container-section-menu {width:100%; margin-top:2em; padding:0 1.5em; align-items: flex-start; justify-content: flex-start;}
  .container-section-menu h2 {text-align:left;}
  .btn-container-menu {margin-bottom:0;}  
  .contenitore-box-testo {display:none;}
  .contenitore-box-testo-mobile {display:block; width:100%; position:relative; height:auto; display:flex; align-items: center; justify-content: center;}
  .box-testo-mobile {
    width:100%;    
    padding:0.5em 1em; 
    background:rgba(191, 208, 209, 1); 
    display:flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    color:white; 
    text-align:center; 
    line-height:1.6;  
    font-size:0.9em;
    }
  .box-testo-mobile h3 {text-transform: uppercase; letter-spacing: 1px; }
  .box-testo-mobile hr {width:100px; background:#0d525a; height:3px; border:none; border-radius:10px; margin:0;}
  .row-gallery-item + .row-gallery-item {margin-left:0;}
  .footer-bottomline {flex-direction: column;} 
.footer-allinea-centro, .footer-allinea-sx, .footer-allinea-dx {text-align:center;}
.btn-cta-footer, .btn-cta-footer2 { justify-content: center;}
.footer-allinea-centro {order:1; margin-bottom:1.5em;}
.footer-allinea-sx {order:2; margin-bottom:1.5em;}
.footer-allinea-dx{order:3;}

.grid-container {display:flex; flex-direction: column;}
    .foto {order:1;}
    .titolo {order:2;}
    .foto2 {order:3;}
    .titolo2 {order:4;}
    .foto3 {order:5;}
    .titolo3 {order:6;}
    .foto4 {order:8;}
    .titolo4 {order:7;}
    .title_servizi {justify-content: center; align-items: flex-start; padding:2em;}
    #pagina-menu, .section-gen {padding:2em 0 1em 0;}

    .btn-container-pagina-menu {width:100%;}
    .riquadro-vini {width:100% !important;}
    .col_cartavini1 p {font-size:0.9em; }
    

    /*pagina menu */
    .row_degustazione {flex-direction: column;}
    
    .box_degustazione_txt p {width:100%; }
    .ordine-mobile-img {order:1;}
    .ordine-mobile-txt {order:2;}
    .title_box_deg {top:30%;}
    .container-pagineinterne {margin:1em 0;}
    .txt-cantina-paginterna {text-align:left;}

    .row_contatti {flex-direction: column;}
    .row_orari {flex-direction:column;}
    .interno_contatti + .interno_contatti {margin-top:1em; margin-left:0;}
    .title_contatti h2 {text-align:left !important;}
    .tabellaorari + .tabellaorari {margin-left:0; margin-top:1.5em;}
    .ordine-mobile-imgDario {order:2;}
    .ordine-mobile-txtDario {order:1;}

    .lista-chiusura-feste {width:50%; }
    .box_degustazione_txt {padding:2em 0;}
    .menu-fixed {height:200px !important;  } 
    .scrolled-menu .menu-fixed {height:180px !important; } 
    .menu-fixed ul {justify-content: center; width:100%; padding:0.4em 0 0.3em 0; }
    .box-menu-fixed {width:auto; margin-bottom:0.5em;}    
    .row_menu_completo {flex-direction:column;}
    .row_menu_completo_alt {width:90%;}
    .inner-container-menu {width:85%; padding-top:220px !important; }
    .riquadro-menu { width:100%;}
    .riquadro-menu + .riquadro-menu {margin-left:0; margin-top:2em;}    
}

/* pagina error404 */
#hero_error {height:100vh; position:relative; display:flex;flex-direction:column; align-items:center; justify-content: center;}
.container-404 {width:100%; text-align:center; }
.error-img {width:50%;}
.error-message {font-size:40px;}
.mt40 {margin-top:40px;}
.width250 {width:270px; margin:0 auto;}
.btn-dark {color:white; background:var(--cl-txt) !important; font-family: var(--main-font);}
@media (max-width:900px) {.error-img {width:90% !important;}.error-message {font-size:30px;}}
@media (max-width:1495px) {.error-img {width:60%;}}

/*TABLET */

@media (min-width: 737px) and (max-width:1024px) {
    #hero { background-image: url('../img/hero_sacerno_smartphone.webp');}
  .container_hero {align-items:center; justify-content: center; height:100vh; margin-bottom:200px; }
  .hero-txt { margin-right:0; width:100%;}
  .logo-fascia {width:9em;}
  #cantina, #giada, #dario, #menu, #pagina-menu, #degustazioni, #ristorante-pesce, .section-gen {padding:0; }
  .container-section-giada, .container-section-dario {flex-direction: column; width:90%; align-items: center; padding:0 1.5em;}
  .riquadro-section-giada + .riquadro-section-giada {margin-left:0; margin-top:2em;}
  .riquadro_destra {order:1; }
  .riquadro_sinistra {order:2; margin:1.5em 0 2em 0;}
  .img-giada {width:100%;}
  .contenitore-txt + .contenitore-txt {margin-top:1em;}
  .contenitore-btn-giada {margin-bottom:2em;}
  .container-section {width:90%; padding:0 1.5em; }
  .txt-cantina {width:100%; text-align:left; }
  .title h1, .title-h2 {text-align:left;}
  .row-gallery {flex-direction: column;}
  .row-gallery-item {width:100% !important; flex: 1 0 auto;}
  .row-gallery-item + .row-gallery-item {margin-left:0;}
  .parallax, .parallax_menu { height:300px; margin:1.5em 0; background-size:100%; -webkit-background-size:100%;-moz-background-size: 100%; -o-background-size: 100%; background-attachment: scroll;}
  .riquadro-section-dario + .riquadro-section-dario {margin-top:2em; margin-left:0;}
  .riquadro_sinistra-dario {margin-bottom:1.5em;}
  .container-section-menu {width:90%; margin-top:2em; padding:0 1.5em; align-items:flex-start; justify-content: flex-start; text-align:left;}
  .container-section-menu h2 {text-align:left;}
  .btn-container-menu {margin-bottom:0; display:flex; justify-content: flex-start;}
 
  .contenitore-box-testo {display:none;}
  .contenitore-box-testo-mobile {display:block; width:100%; position:relative; height:auto; display:flex; align-items: center; justify-content: center;}
  .box-testo-mobile {
    width:100%;    
    padding:1.5em 3em; 
    background:rgba(191, 208, 209, 1); 
    display:flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    color:white; 
    text-align:center; 
    line-height:1.6;  
    font-size:0.9em;
    }
  .box-testo-mobile h3 {text-transform: uppercase; letter-spacing: 1px; }
  .box-testo-mobile hr {width:100px; background:#0d525a; height:3px; border:none; border-radius:10px; margin:0; margin-bottom:0.5em;}
  .footer-bottomline {flex-direction: column;} 
  .btn-cta-footer, .btn-cta-footer2 { justify-content: center;}
  .footer-allinea-centro, .footer-allinea-sx, .footer-allinea-dx {text-align:center;}
  .footer-allinea-centro {order:1; margin-bottom:1.5em;}
  .footer-allinea-sx {order:2; margin-bottom:1.5em;}
  .footer-allinea-dx{order:3;}

  .grid-container {display:flex; flex-direction: column;}
    .foto {order:1;}
    .titolo {order:2;}
    .foto2 {order:3;}
    .titolo2 {order:4;}
    .foto3 {order:5;}
    .titolo3 {order:6;}
    .foto4 {order:8;}
    .titolo4 {order:7;}
    .title_servizi {justify-content: center; align-items: flex-start; padding:1em;}

    /*pagina menu */
    .row_degustazione {flex-direction: column;}
    .box_degustazione_txt p {width:100%;}
    .ordine-mobile-img {order:1;}
    .ordine-mobile-txt {order:2;}
    .title_box_deg {top:40%;}
    .container-pagineinterne {margin:2em 0;}
    .txt-cantina-paginterna {text-align:left;}

    .row_contatti {flex-direction: column;}
    .row_orari {flex-direction:column;}
    .tabellaorari + .tabellaorari {margin-left:0; margin-top:1.5em;}
    .interno_contatti + .interno_contatti {margin-top:1em; margin-left:0;}
    .title_contatti h2 {text-align:left;}
    .ordine-mobile-imgDario {order:2;}
    .ordine-mobile-txtDario {order:1;}
    .lista-chiusura-feste {width:50%; }
    .box_degustazione_txt {padding:2em 0;}
    .menu-fixed {height:25vh; }
    .scrolled-menu .menu-fixed {height:20vh;}    
    .menu-fixed ul {justify-content: center; align-items:center; padding:1em 0 0.5em 0;}
    .box-menu-fixed {width:auto; }
    .box-menu-fixed {margin-bottom:0.5em;}  

    .row_menu_completo {flex-direction:column;}
    .row_menu_completo_alt {width:90%;}
    .inner-container-menu {width:85%; padding-top:350px;}
    .riquadro-menu { width:100%;}
    .riquadro-menu + .riquadro-menu {margin-left:0; margin-top:2em;}

}
@media (max-width: 800px) and (orientation:landscape) {
    #hero { align-items:flex-start; background-image: url('../img/hero_sacerno_PC.webp');}
  .container_hero {align-items:center; justify-content: flex-end; height:100vh; }
  .hero-txt { margin-right:30px; width:auto; }
  .hero-txt h1 {font-size:28px;}
  .quote {font-size:16px;}
}

/*ipad pro 10, tablet galaxy */

@media (min-width:1024px) and (max-width:1280px) {
  #hero { background-image: url('../img/hero_sacerno_smartphone.webp');}
  .container_hero {align-items:center; justify-content: center; height:100vh; margin-bottom:250px; }
  .hero-txt { margin-right:0; width:100%;}
  .hero-txt h1 {font-size:3em;}
  .quote { font-size:1.1em;}
  .autore-cit {font-size:0.8em !important;}
  .logo-fascia {width:9em;}
  .container-section-giada, .container-section-dario {width:80%; padding:0; }
  .contenitore-txt + .contenitore-txt {margin-top:0;}
  #cantina, #giada, #dario, #menu, #pagina-menu, #degustazioni, #ristorante-pesce, .section-gen {width:100%; padding:2em 0;}
  .container-section {width:80%;}
  .row-gallery-item {flex: 1 0 auto; max-width:400px;}
  .row-gallery-item + .row-gallery-item {margin-left:0;}
  .container-section-menu {width:80%;}
  .box-testo { min-height:250px !important; top:-60px !important; padding:1em 2em;}
  
  .inner-container-menu {width:90%; padding-top:300px;}
  .riquadro-menu { width:100%;}
  .menu-fixed { height:25vh;}
  .menu-fixed ul {font-size:0.9em;}
  .box-menu-fixed {width:auto;}
}

@media (min-width:1281px) and (max-width:1600px) {
  #hero {background-position:top center;}  
  .hero-txt {margin-top:5em;}
  .row-gallery-item {flex: 1 0 auto; max-width:300px;}
  .row-gallery-item + .row-gallery-item {margin-left:0;}
  .contenitore-txt + .contenitore-txt {margin-top:1em;}
  #cantina, #giada, #dario, #menu, #pagina-menu, #degustazioni, #ristorante-pesce {width:100%; padding:2em 0;}  
  .img-giada {width:100%;}  
  .solo-txt-dario { padding-bottom:0.5em;}
  .riquadro-menu { width:60%;}
  .menu-fixed { height:35vh !important; }
  .scrolled-menu .menu-fixed {height:20vh !important; }
  .scrolled-menu .inner-container-menu {padding-top:350px !important;}
  .inner-container-menu {width:90% !important;}
}

@media (min-width:2000px) {
  #hero { background-position-y:70%;}
}

.wrap-flex {display:flex;}
.wrap-col {display:flex; flex-direction: column;}
.wrap {flex-wrap: wrap;}
.width100 {width:100%;}
.gap5 {gap:5px;}
.gap10 {gap:10px;}  
.gap20 {gap:20px;}
.gap50 {gap:50px;}
.align-center {align-items: center;}
.mt25 {margin-top:25px;}
.mb1 {margin-bottom: 1em;}
.mb2 {margin-bottom: 2em;}
.mb3 {margin-bottom: 3em;}
.mb0 {margin-bottom:0;}
.mt0 {margin-top:0;}
.mt1 {margin-top: 1em;}
.mt2 {margin-top: 2em;}
.mt3 {margin-top: 3em;}
.mt4 {margin-top: 4em;}
.bkgr-ecru {background:#dce7e5;}
.txt-c {text-align:center;}
.underline {text-decoration:underline;}

/* Pagine interne con hero no foto */
 #hero-pag-interne {  
  background-position: center;
  background-size:cover;
  -webkit-background-size:cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-repeat: no-repeat;
  height:100vh;
  display:flex;
  width:100%;
  align-items:center;
  overflow: hidden;
  z-index:999;  
}
.hero-ristorante-da-sacerno {background-image: url('../img/hero-interno-ristorante-da-sacerno.webp');}
.hero-dicono-di-noi {background-image: url('../img/hero-dicono-di-noi-da-sacerno.webp');}
.hero-degustazioni {background-image: url('../img/hero-degustazioni-da-sacerno.webp');}
.hero-gallery {background-image: url('../img/hero-galleria-fotografica.webp');}
#hero-nofoto {height:40dvh; background: var(--main-color); display:flex; align-items: center; justify-content: flex-start; margin-top:72px; padding: 0 100px;}
.hero-nofoto__container h1 {color:white; font-family: var(--special-font); font-size:40px;}
@media (max-width:800px) {#hero-nofoto {padding:0 30px;} .hero-nofoto__container h1 {font-size:30px !important; }}
.grid-ristorante {
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    width:100%;    
}
.img-rest {
    background-image: url('../img/interno_ristorante-da-Sacerno_2_cantina.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
     -webkit-background-size:cover;
    -moz-background-size: cover;
    -o-background-size: cover;    
    width:100%;
    max-height: 450px;
}
@media (max-width:1465px) {
    .grid-ristorante { grid-template-columns: 1fr; grid-template-rows: 1fr 520px; gap:25px;}}
.faq-container {display: flex;flex-direction: column;gap: 20px;}
.faq-item {
    background: white;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border-radius:5px;
}
.faq-item:hover {box-shadow: 0 4px 12px rgba(0,0,0,0.12);}
.faq-question {
    padding: 20px 30px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap:10px;
    align-items: center;
    background: white;
    transition: background-color 0.3s ease;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
}
.faq-question:hover {background-color: #f8f9fa;border-left-color: #5a6c7d;}
.faq-question h3 {margin:0;}
.faq-item.active .faq-question {background-color: var(--cl-ecru);color: white;border-left-color: var(--cl-ecru);;}
.faq-icon { font-size: 1.5rem;font-weight: 300; min-width: 30px;text-align: center;transition: transform 0.3s ease;}
.faq-item.active .faq-icon {transform: rotate(45deg);}
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease;  background: #fafafa;}
.faq-item.active .faq-answer { max-height: 500px;padding: 20px 30px; border-top: 1px solid #e9ecef;}
.faq-answer p { font-size: 1.1rem; line-height: 1.8; font-weight: 300;}
@media (max-width: 768px) {
    .faq-section { margin: 50px auto;padding: 0 20px; }
    .faq-question { padding: 20px; }
    .faq-question h3 {font-size: 1.1rem; }
    .faq-answer p {font-size: 1rem; }
    .faq-item.active .faq-answer {padding: 20px;}
}

/* Animazione elegante */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.faq-item { animation: fadeIn 0.5s ease forwards;}
.faq-item:nth-child(1) { animation-delay: 0.1s; opacity: 0; }
.faq-item:nth-child(2) { animation-delay: 0.2s; opacity: 0; }
.faq-item:nth-child(3) { animation-delay: 0.3s; opacity: 0; }
.faq-item:nth-child(4) { animation-delay: 0.4s; opacity: 0; }
.faq-item:nth-child(5) { animation-delay: 0.5s; opacity: 0; }

/* prenota */
.bckgr-grey {background:#f5f7f8;}
.intro-prenota {min-height:50dvh; display:flex; flex-direction:column; justify-content: center; align-items:center; text-align:center !important; font-size:1.1rem; }
.intro-prenota h1 {font-family: var(--special-font); font-size:40px; }
.container-txt-prenota {width:60%; line-height:1.6; margin:0 auto;}
.button-thefork {background:var(--cl-ecru); border:2px solid var(--cl-ecru); color:white; padding:16px 20px; border-radius:50px; font-size:1.3em; display:flex; gap:10px; text-align:center;}
.button-tel {background:transparent; border:2px solid var(--cl-ecru); color:var(--cl-ecru); padding:16px 20px; border-radius:50px; font-size:1.3em; display:flex; gap:10px; text-align:center;}
@media (max-width:900px) {.intro-prenota h1 {margin-top:72px;}.container-txt-prenota {width:90%;}}
.container-info-box {max-width: 1200px;margin: 60px auto;padding: 0 20px; }
.info-box {
    background: linear-gradient(135deg, #819492 0%, #6a7d7b 100%);
    border-radius: 15px;
    padding: 40px;
    margin-bottom: 50px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    color: white;   
}
.info-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 100px;
      width:100%;
  }
.info-section {width:100%; }  
.info-section h3 {
    font-size: 1.4rem;
    margin-bottom: 25px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}  
.opening-hours {list-style: none; }
.opening-hours li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    display: flex;
    justify-content: space-between;
}

.opening-hours li:last-child { border-bottom: none;}
.day { font-weight: 600;}
.time { font-weight: 300; text-align:right;}
.address p { font-size: 1.1rem; line-height: 1.8;}
.wrap-dove-prenota {margin-left:40px;}
.faq-section {max-width:1200px; margin:0 auto; margin-bottom:72px;}
.fa-question-border {border:2px solid var(--cl-ecru); box-shadow:none;}
@media (max-width:1350px) {
  .container-info-box, .faq-section {max-width: 900px;}
  .info-grid {grid-template-columns: 1fr 1fr; gap: 50px;} .opening-hours, .wrap-dove-prenota {margin-left:0; padding-left:0;}
}
@media (max-width:900px) {.info-grid {grid-template-columns: 1fr; gap: 50px;} .container-info-box, .faq-section {max-width: 650px; .info-box {width:100%; padding:20px 16px;}}}
@media (max-width:737px) {.container-info-box {padding:0;}}

/* menu degustazione */
.cta-degust {font-family: var(--special-font); font-weight:600; letter-spacing:1.2px; font-size:1.5rem; line-height:1.2;}
.menu-degustazione {background: #f2f1ec; padding: 40px 50px; margin: 80px auto; box-shadow: 0 2px 9px rgba(0, 0, 0, 0.06);  border: 1px solid #e8e6e3; max-width:900px;}
.menu-options { display: grid;grid-template-columns: repeat(2, 1fr); gap: 30px;margin-bottom: 40px;}
.menu-card { background: white;padding: 40px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); transition: all 0.3s ease; }
.menu-card .label { font-size: 0.9rem; color: #999; text-transform: uppercase; letter-spacing: 1.5px;margin-bottom: 12px; font-weight: 500;}
.menu-card .content-row {display: flex; justify-content: space-between; align-items: baseline;}
.menu-card .portions { font-size: 1rem; color: #666;}
.menu-card .price { font-size: 1rem; color: #8b4545; font-weight: 500;}
.intro-text { font-size: 1rem; color: #888; text-align: center; font-style: italic; line-height: 1.6; padding: 0 20px; margin:30px 0;}
.wine-section {padding-top: 30px;border-top: 1px solid #e0ddd8;}
.wine-section h3, .menu-degustazione h3 { font-family: var(--special-font), serif; font-size: 2rem; color: #8b4545; text-align: center; font-weight: 500; margin-top:0;}
.wine-intro { font-size: 1rem; color: #888; font-style: italic; text-align: center; margin-bottom: 35px;}
.wine-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; max-width: 600px; margin: 0 auto;}
.wine-card { background: white; padding: 30px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); transition: all 0.3s ease; }
.wine-card .label { font-size: 0.9rem; color: #999; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 12px; font-weight: 500;}
.wine-card .content-row {display: flex; justify-content: space-between; align-items: baseline;}
.wine-card .glasses { font-size: 1rem; color: #666;}
.wine-card .wine-price { font-size: 1rem;color: #8b4545; font-weight: 500;}
@media (max-width:1100px) {.menu-degustazione {max-width:750px;}}
@media (max-width:900px) {.menu-degustazione {max-width:650px; padding: 35px 25px;}}
@media (max-width: 768px) {
 .menu-degustazione {max-width:550px;} 
.menu-options, .wine-options {grid-template-columns: 1fr;gap: 20px;}
.menu-card, .wine-card {padding: 20px;}
}

/* gallery */
.gallery-page{ column-count: 1; column-gap: 20px;}
@media (min-width: 768px) {.gallery-page { column-count: 2; }}
@media (min-width: 1024px) { .gallery-page { column-count: 3; }}
.gallery-page__item {
    break-inside: avoid;
    margin-bottom: 20px;
    background:transparent !important;    
    overflow: hidden;
    
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.image-container {position: relative;overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.15);}
.image-container:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.2);}
.gallery-page__item img {width: 100%;height: auto; display: block;transition: transform 0.5s ease;}
.gallery-page__item:hover img {transform: scale(1.05);}

/* Dimensioni fisse per le immagini */
.vertical {height: 400px;object-fit: cover;}
.square {height: 300px;object-fit: cover;}
.gallery-page__item .caption {padding: 15px 20px;color: #333; font-size: 0.95em;line-height: 1.5; background:transparent !important;}

/* dicono di noi */
.review-container { column-count: 1;column-gap: 25px; margin-top: 50px;}
@media (min-width: 768px) { .review-container { column-count: 2; } }
@media (min-width: 1100px) {.review-container { column-count: 3;}}
.review-card {
    break-inside: avoid;
    margin-bottom: 25px;
    background: white;
    padding: 25px;    
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
}
.review-header { display: flex; align-items: center; gap:20px;}
.avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #434747 0%, #819492 100%);    
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 1.1em;
}

.reviewer-info {font-size: 1.05em; }
.review-text {font-style: italic;line-height: 1.7;color: #555; margin-bottom: 15px;}
.review-footer {display: flex;justify-content: space-between;align-items: center;padding-top: 12px;border-top: 1px solid #eee;}
.platform-badge {
    background: linear-gradient(135deg, #434747 0%, #819492 100%);
    color: white;
    padding: 5px 15px;
    border-radius: 15px;
    font-size: 0.8em;
    font-weight: bold;
}
.review-meta {color: #838383; font-size: 0.85em;}
.articles-grid { display: grid;grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 35px;margin-top: 40px; width:100%;}
@media (max-width: 981px) {.articles-grid { grid-template-columns: 1fr; justify-items: center; } }
.article-card {
    background: #fafafa;    
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    max-width: 464px; /* Aggiungo max-width per contenere l'immagine */
}

.article-image {width: 464px; height: 280px;position: relative; overflow: hidden;}
@media (max-width:600px) {.article-card {max-width: 100%;width: 100%;} .article-image { width: 100%;height: auto;aspect-ratio: 464 / 280;}}
.article-image img { width: 100%; height: 100%; object-fit: cover; display: block;}
.article-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.4) 100%);
    z-index: 1; /* Assicura che il gradient sia sopra l'immagine */
}
.article-content { padding: 20px; flex: 1; display: flex;flex-direction: column;}
.article-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;}
.publication-logo {
    background: linear-gradient(135deg, #434747 0%, #819492 100%);
    color: white;
    padding: 8px 18px;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: bold;
}
.article-date { color: #999; font-size: 0.9em;}
.article-title { font-size: 1.2em; margin-bottom: 10px;color: #333; line-height: 1.4; margin-top:10px;}
.article-excerpt { color: #666; line-height: 1.6; margin-bottom: 20px; flex: 1; margin-top:0; font-size:14px;}
.article-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 20px; border-top: 2px solid #e5e5e5; }
.read-more {
    background: linear-gradient(135deg, #434747 0%, #819492 100%);
    color: white;
    padding: 10px 25px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9em;
    transition: transform 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.read-more::after { content: '→'; font-size: 1.2em;}

@media (max-width:600px) {.hide-mobile-dot {display:none;}}

/* regala */
.gift-h2 {font-size:1.4rem;}
@media (max-width:1600px) {.container-txt-buono {width:80%;}}
@media (max-width:1100px) {.container-txt-buono {width:90%;}}