/* ===== Header Trasparente ===== */
.transparent-header {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 1000; transition: all 0.3s ease;
}
.transparent-header.scrolled { box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
body.transparent-header-active { padding-top: 0 !important; }

div.logo-scrolling.d-none > a > img { max-width: fit-content !important; }

/* ===== Fix Dropdown Menu ===== */
.navbar .dropdown-menu {
  display: none; position: absolute; background-color: #17224e;
  min-width: 200px; box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  z-index: 1001; border: none; padding: 5px; border-radius: 5px; margin-top: 0;
}
@media (min-width:1200px){
  .navbar-nav .dropdown:hover > .dropdown-menu { display: block; }
}
.navbar .dropdown.show > .dropdown-menu,
.navbar .dropdown-menu.show { display: block !important; }
.navbar .dropdown-menu .nav-link {
  color:#fff !important; padding:10px 20px; text-transform:uppercase; font-size:12px;
}
.navbar .dropdown-menu .nav-link:hover { background-color: rgba(255,255,255,0.1); }

/* ===== Sistema Multi-Logo ===== */
.logo-wrap { margin: 0 30px; position: relative; top: -8px; }
.logo-wrap > div { transition: opacity .3s ease; }
.logo-wrap .logo-normal,
.logo-wrap .logo-scrolling,
.logo-wrap .logo-mobile,
.logo-wrap .logo-scrolling-mobile { position: relative; }

/* Desktop */
@media (min-width:768px){
  .logo-mobile, .logo-scrolling-mobile { display:none !important; }
  .logo-normal { display:block !important; }
  .logo-scrolling { display:none !important; }
  body.scrolled .logo-normal { display:none !important; }
  body.scrolled .logo-scrolling { display:block !important; }
}

/* Mobile (<=767) */
@media (max-width:767px){
  .logo-wrap { max-width:78% !important; }
  .logo-wrap > div { display:none !important; }
  body:not(.scrolled) .logo-mobile { display:block !important; }
  body.scrolled .logo-scrolling-mobile { display:block !important; }
  .navbar-expand-xl .navbar-nav .nav-link { text-transform:uppercase; color:#17224e !important; }
}

/* Mobile dropdown styles (<=1199) */
@media (max-width:1199px){
  .navbar-nav .dropdown-menu {
    position: static; float:none; width:auto; margin-top:0;
    background-color: transparent; border:0; box-shadow:none; padding:0; border-radius:0;
  }
  #offcanvas .dropdown-menu {
    display:none !important; background-color:transparent; padding-left:1rem;
  }
  #offcanvas .dropdown.show > .dropdown-menu { display:block !important; }
}

.navbar { transition: background-color .3s ease, opacity .3s ease; }

/* Fix per loghi SVG */
.logo-wrap img.custom-logo { width:auto; height:60px; }
@media (max-width:767px){
  .logo-wrap img.custom-logo { height:auto; max-width:200px; }
}

/* =================================================================== */
/* ===== HAMBURGER & MOBILE HEADER            ======================== */
/* =================================================================== */

@media (max-width:1199.98px){
  #site-navigation.navbar.transparent-header {
    position: fixed !important; top:0; left:0; right:0; z-index:4000;
  }
  #offcanvas { z-index:3000 !important; }
  .hamburger.navbar-toggler {
    position: fixed !important; top:12px; right:16px; z-index:5000;
  }
  .offcanvas-collapse.open { padding-top:56px; }
}

button.hamburger { position: relative; z-index: 5000; }
button.hamburger .hamburger-box {
  width:30px; height:20px; display:inline-block; position:relative;
}
button.hamburger .hamburger-inner,
button.hamburger .hamburger-inner::before,
button.hamburger .hamburger-inner::after {
  position:absolute; left:0; width:30px; height:2px; border-radius:2px;
  display:block; content:"";
  
  transform:none !important; opacity:1 !important;
}

button.hamburger .hamburger-inner { top:50%; margin-top:-1px; }

button.hamburger .hamburger-inner::before { top:-8px; }
button.hamburger .hamburger-inner::after  { top: 8px; bottom:auto !important; }


button.hamburger .hamburger-inner,
button.hamburger .hamburger-inner::before,
button.hamburger .hamburger-inner::after { background-color:#ffffff; }

.navbar.scrolled button.hamburger:not(.is-active) .hamburger-inner,
.navbar.scrolled button.hamburger:not(.is-active) .hamburger-inner::before,
.navbar.scrolled button.hamburger:not(.is-active) .hamburger-inner::after { background-color:#ffffff; }

button.hamburger.is-active .hamburger-inner::before,
button.hamburger.is-active .hamburger-inner::after { background-color:#17224e !important; }

button.hamburger.is-active .hamburger-inner { background-color:transparent !important; }

button.hamburger.is-active.hamburger--collapse .hamburger-inner::before {
  top:0 !important; transform:rotate(45deg) !important;
  background: #ffffff !important;
}
button.hamburger.is-active.hamburger--collapse .hamburger-inner::after {
  top:0 !important; transform:rotate(-45deg) !important; bottom:auto !important;
  background: #ffffff !important;
}

button.hamburger.is-active .hamburger-inner::before { top:0 !important; transform:rotate(45deg) !important; }
button.hamburger.is-active .hamburger-inner::after  { top:0 !important; transform:rotate(-45deg) !important; }

/* --- ex @media (max-width:1199.98px){---------------------------------------- */
@media (max-width:768px){
  .site-header .navbar .logo-mobile.d-none { display:block !important; }
  .site-header .navbar .logo-scrolling-mobile { display:none !important; }

  .site-header .navbar.scrolled .logo-mobile { display:none !important; }
  .site-header .navbar.scrolled .logo-scrolling-mobile,
  .site-header .navbar.scrolled .logo-scrolling-mobile.d-none { display:block !important; }

  body.scrolled .site-header .navbar .logo-mobile { display:block !important; }
  body.scrolled .site-header .navbar .logo-scrolling-mobile,
  body.scrolled .site-header .navbar .logo-scrolling-mobile.d-none { display:none !important; }

  .logo-mobile img.custom-logo,
  .logo-scrolling-mobile img.custom-logo {
    height:auto !important; width:auto !important; max-height:32px !important;
  }
}
