/* ============================================================
   KW Hospitality — Header unificato del sito (site-header)
   Fonte di verità unica per l'header di TUTTE le pagine.
   Caricato dopo gli <style> di pagina per avere la precedenza.
   Desktop (>=1280px): nav completa.  Tablet/Mobile (<=1279px): hamburger.
   ============================================================ */

.site-header{
  position:fixed; top:0; left:0; right:0; width:100%;
  z-index:1000;
  background:rgba(255,255,255,.98);
  box-shadow:0 1px 0 rgba(0,0,0,.06);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  padding:14px 0;
  font-family:'DM Sans',sans-serif;
}
.site-header *{box-sizing:border-box;}
.site-header__inner{
  width:94%; max-width:1320px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.site-header .logo{flex:0 0 auto; line-height:0;}
.site-header .logo img{height:44px; width:auto; display:block; transition:transform .3s ease;}
.site-header .logo:hover img{transform:scale(1.04);}

.site-header nav.site-nav{display:flex;}
.site-header .nav-links{
  display:flex; align-items:center; gap:26px;
  list-style:none; margin:0; padding:0;
}
.site-header .nav-links a.nav-item{
  font-family:'DM Sans',sans-serif;
  font-size:.72rem; font-weight:400;
  text-transform:uppercase; letter-spacing:2.5px;
  color:#1a1a1a; text-decoration:none; white-space:nowrap;
  position:relative; transition:color .2s ease;
}
.site-header .nav-links a.nav-item::after{
  content:''; position:absolute; left:50%; bottom:-5px;
  width:0; height:2px; background:#B40101;
  transform:translateX(-50%); transition:width .3s ease;
}
.site-header .nav-links a.nav-item:hover{color:#B40101;}
.site-header .nav-links a.nav-item:hover::after{width:100%;}

.site-header .nav-links a.nav-cta{
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  border:1px solid #1a1a1a; padding:8px 14px;
  letter-spacing:1.5px; line-height:1;
  transition:background-color .2s ease,color .2s ease;
}
.site-header .nav-links a.nav-cta::after{display:none;}
.site-header .nav-links a.nav-cta:hover{background:#1a1a1a; color:#fff;}
.site-header .nav-links a.nav-cta svg{width:11px; height:11px; flex:0 0 auto;}

.site-header .header-right{display:flex; align-items:center; gap:16px; flex:0 0 auto;}
.site-header .lang-switch{display:flex; gap:6px; align-items:center;}
.site-header .lang-switch button{
  font-family:'DM Sans',sans-serif;
  font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:5px 9px; border:1px solid #e5e5e5; background:transparent; color:#1a1a1a;
  cursor:pointer; line-height:1; transition:border-color .2s ease,color .2s ease;
}
.site-header .lang-switch button:hover,
.site-header .lang-switch button.is-active{border-color:#B40101; color:#B40101;}

.site-header .mobile-toggle{
  display:none; background:transparent; border:none; cursor:pointer;
  padding:4px; color:#1a1a1a; line-height:0;
}
.site-header .mobile-toggle svg{width:26px; height:26px;}

/* ---- DESKTOP (computer) : >= 1280px — nav completa, niente hamburger ---- */
@media (min-width:1280px){
  .site-header .nav-links{display:flex !important;}
  .site-header .mobile-toggle{display:none !important;}
}

/* ---- TABLET + MOBILE : <= 1279px — menu hamburger a tendina ---- */
@media (max-width:1279px){
  .site-header nav.site-nav{position:static;}
  .site-header .nav-links{
    display:none;
    position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-top:1px solid #EAEAEA;
    box-shadow:0 18px 32px rgba(0,0,0,.10);
    padding:8px 0; max-height:calc(100vh - 72px); overflow-y:auto;
  }
  .site-header .nav-links.is-open{display:flex !important;}
  .site-header .nav-links li{width:100%;}
  .site-header .nav-links a.nav-item{
    display:block; padding:13px 6%;
    font-size:.8rem; letter-spacing:1.8px;
  }
  .site-header .nav-links a.nav-item::after{display:none;}
  .site-header .nav-links a.nav-cta{
    border:none; justify-content:flex-start;
    padding:14px 6%; margin:6px 6% 4px;
    background:#B40101; color:#fff; width:auto;
  }
  .site-header .nav-links a.nav-cta:hover{background:#1a1a1a; color:#fff;}
  .site-header .mobile-toggle{display:inline-flex !important;}
}
