/* ═══════════════════════════════════════════════
   HAMBURGER MENU — Condiviso tra tutte le pagine
   (esclusa index.html che ha il suo)
   ═══════════════════════════════════════════════ */

/* Garantisce che il burger si posizioni correttamente */
header{position:relative}

.nav-burger{
  display:none;
  position:absolute;right:20px;top:50%;transform:translateY(-50%);
  flex-direction:column;gap:5px;
  background:none;border:none;padding:4px;cursor:pointer;z-index:101;
}
.nav-burger span{
  display:block;width:22px;height:2px;
  background:white;border-radius:2px;transition:all .3s;
}
.nav-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.nav-mobile{
  position:fixed;top:74px;left:0;right:0;bottom:0;
  background:var(--bianco,#F7F5F1);z-index:998;
  display:flex;flex-direction:column;padding:32px 28px;gap:4px;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.77,0,.175,1);
  pointer-events:none;overflow-y:auto;
}
.nav-mobile.open{transform:translateX(0);pointer-events:all}
.nav-mobile a{
  font-family:'Cormorant Garamond',serif;
  font-size:1.9rem;font-weight:600;color:var(--testo,#152435);
  padding:12px 0;border-bottom:1px solid rgba(44,74,110,.1);
  transition:color .2s;text-decoration:none;
}
.nav-mobile a:hover{color:var(--blu,#2C4A6E)}
.nav-mobile-cta{
  margin-top:20px!important;
  background:linear-gradient(180deg,#ff9a6e 0%,#ff6b35 42%,#e85f2e 100%)!important;
  color:var(--nero,#0a0f1c)!important;
  padding:16px 28px!important;border-radius:10px;text-align:center;
  font-family:'Montserrat',sans-serif!important;font-size:.88rem!important;
  font-weight:800!important;letter-spacing:.08em;
  border:1px solid rgba(255,255,255,.35);
  border-bottom:none!important;
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 4px 0 #b8431a,0 10px 22px rgba(0,0,0,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
.nav-mobile-cta:active{transform:translateY(2px)}

/* ═══ GESTIONALE LINK (solo se loggato) ═══ */
.gestionale-link{
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.85);
  text-decoration:none;
  padding:8px 16px;display:inline-flex;align-items:center;gap:6px;
  transition:all .2s;border-radius:6px;
  border:1px solid rgba(255,255,255,.25);
}
.gestionale-link:hover{color:white;border-color:rgba(255,255,255,.5)}
.gestionale-link svg{width:14px;height:14px}

/* When navbar is scrolled (index.html) */
.scrolled .gestionale-link{color:var(--testo2,#4A5568);border-color:rgba(44,74,110,.2)}
.scrolled .gestionale-link:hover{color:var(--blu,#2C4A6E);border-color:var(--blu,#2C4A6E)}

/* Header pages (non-index) */
header .gestionale-link{color:white;border-color:rgba(255,255,255,.25)}
header .gestionale-link:hover{color:var(--oro,#FF6B35);border-color:var(--oro,#FF6B35)}

/* ═══ PULSANTE LOGIN (quando non loggato) ═══ */
.nav-login-btn{
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.85)!important;
  padding:8px 16px;border-radius:6px;
  border:1px solid rgba(255,255,255,.25);
  transition:all .2s;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
}
.nav-login-btn:hover{color:white!important;border-color:rgba(255,255,255,.5)}
/* index.html scrolled */
.scrolled .nav-login-btn{color:var(--testo2,#4A5568)!important;border-color:rgba(44,74,110,.2)}
.scrolled .nav-login-btn:hover{color:var(--blu,#2C4A6E)!important;border-color:var(--blu,#2C4A6E)}
/* header pages */
header .nav-login-btn{color:white!important;border-color:rgba(255,255,255,.25)}
header .nav-login-btn:hover{color:var(--oro,#FF6B35)!important;border-color:var(--oro,#FF6B35)}
/* Mobile login link */
.nav-mobile-login{
  margin-top:16px!important;
  display:flex!important;align-items:center;gap:8px;
  font-family:'Montserrat',sans-serif!important;
  font-size:.9rem!important;font-weight:700;
  color:var(--blu,#2C4A6E)!important;
  padding:12px 0!important;
  border-top:2px solid rgba(44,74,110,.1)!important;
  border-bottom:none!important;
}

@media(max-width:768px){
  /* Nasconde navigazione desktop, mostra burger */
  .hi nav,.hi .h-cta{display:none!important}
  .header-inner .hnav,.header-inner .h-cta{display:none!important}
  .nav-burger{display:flex!important}
  .hi,.header-inner{height:64px!important}
  .nav-mobile{top:64px}
  .gestionale-link{display:none!important}
  .nav-login-btn{display:none!important}
}

/* ═══════════════════════════════════════════════════════════
   FASCIA HEADER come index (solo pagine con <header>, non .homepage)
   Sovrascrive i blocchi <style> inline con !important mirato
   ═══════════════════════════════════════════════════════════ */
body:not(.homepage) header:first-of-type {
  background: rgba(10, 15, 28, 0.52) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 8px 28px rgba(0, 0, 0, 0.22) !important;
}

body:not(.homepage) header .logo,
body:not(.homepage) header .hlogo {
  color: #fff !important;
}

body:not(.homepage) header nav > a,
body:not(.homepage) header .hnav > a {
  font-size: 0.83rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.88) !important;
  position: relative;
  padding-bottom: 4px !important;
  text-decoration: none !important;
}

body:not(.homepage) header nav > a::after,
body:not(.homepage) header .hnav > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--oro, #ff6b35);
  transition: width 0.25s ease;
}

body:not(.homepage) header nav > a:hover,
body:not(.homepage) header .hnav > a:hover,
body:not(.homepage) header nav > a.active,
body:not(.homepage) header .hnav > a.active {
  color: #fff !important;
}

body:not(.homepage) header nav > a:hover::after,
body:not(.homepage) header .hnav > a:hover::after,
body:not(.homepage) header nav > a.active::after,
body:not(.homepage) header .hnav > a.active::after {
  width: 100%;
}

body:not(.homepage) header nav > a.active,
body:not(.homepage) header .hnav > a.active {
  color: var(--oro, #ff6b35) !important;
}

body:not(.homepage) header .h-tel {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

body:not(.homepage) header .h-btn {
  background: linear-gradient(180deg, #ff9a6e 0%, #ff6b35 42%, #e85f2e 100%) !important;
  color: var(--nero, #0a0f1c) !important;
  padding: 11px 22px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(255, 255, 255, 0.38) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.45) inset,
    0 -1px 0 rgba(0, 0, 0, 0.12) inset,
    0 4px 0 #b8431a,
    0 10px 22px rgba(0, 0, 0, 0.28) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

body:not(.homepage) header .h-btn:hover {
  background: linear-gradient(180deg, #ffb08a 0%, #ff7d4a 42%, #f06832 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.5) inset,
    0 -1px 0 rgba(0, 0, 0, 0.1) inset,
    0 5px 0 #9a3815,
    0 14px 28px rgba(0, 0, 0, 0.32) !important;
}

body:not(.homepage) header .h-btn:active {
  transform: translateY(1px) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.35) inset,
    0 3px 0 #b8431a,
    0 5px 14px rgba(0, 0, 0, 0.22) !important;
}
