/* ============ HEADER CASCIANA - replica Navbar.tsx ============ */
.csc-hdr { position:fixed; top:0; left:0; right:0; z-index:50; }
.csc-hdr__container {
  padding-left:clamp(16px,4vw,80px); padding-right:clamp(16px,4vw,80px);
  display:flex; align-items:center; justify-content:space-between; max-width:1600px; margin:0 auto;
}

/* Top bar */
.csc-hdr__top { background:#f5f5f5; transition:all 0.3s; }
.csc-hdr--transparent .csc-hdr__top { background:rgba(245,245,245,0.9); }
.csc-hdr__top .csc-hdr__container { height:44px; }
.csc-hdr__assist { display:flex; align-items:center; gap:8px; color:#3183ba; }
.csc-hdr__phone { width:16px; height:16px; flex-shrink:0; }
.csc-hdr__assist-full { font-size:12px; }
.csc-hdr__assist-short { font-size:12px; display:none; }
@media (max-width:640px){ .csc-hdr__assist-full{ display:none; } .csc-hdr__assist-short{ display:inline; } }
.csc-hdr__assist-btn {
  border:1px solid #3183ba; color:#3183ba; padding:4px 12px; border-radius:4px;
  font-size:12px; font-weight:500; text-decoration:none; transition:all 0.2s; white-space:nowrap;
}
.csc-hdr__assist-btn:hover { background:#3183ba; color:#fff; }

/* Main nav */
.csc-hdr__main { transition:all 0.3s; background:transparent; }
.csc-hdr--solid .csc-hdr__main, .csc-hdr.is-scrolled .csc-hdr__main {
  background:rgba(255,255,255,0.95); backdrop-filter:blur(4px); box-shadow:0 1px 3px rgba(0,0,0,0.1);
}
.csc-hdr__main .csc-hdr__container { height:64px; }

/* Logo */
.csc-hdr__logo img { height:40px; width:auto; display:block; transition:filter 0.3s; }
@media (min-width:768px){ .csc-hdr__logo img{ height:48px; } }
/* logo blu su solid, bianco su transparent (replica i filtri del React) */
.csc-hdr--transparent:not(.is-scrolled) .csc-hdr__logo img { filter:brightness(0) invert(1); }
.csc-hdr--solid .csc-hdr__logo img, .csc-hdr.is-scrolled .csc-hdr__logo img {
  filter:invert(42%) sepia(58%) saturate(567%) hue-rotate(166deg) brightness(92%) contrast(89%);
}

/* Desktop menu - visibile da 1536px (2xl) */
.csc-hdr__menu { display:none; align-items:center; gap:24px; }
@media (min-width:1536px){ .csc-hdr__menu{ display:flex; } }
.csc-hdr__item { position:relative; }
.csc-hdr__link {
  font-size:17px; display:flex; align-items:center; gap:4px; padding:8px 0;
  text-decoration:none; transition:color 0.2s; cursor:pointer; white-space:nowrap;
}
.csc-hdr--transparent:not(.is-scrolled) .csc-hdr__link { color:rgba(255,255,255,0.75); }
.csc-hdr--transparent:not(.is-scrolled) .csc-hdr__link:hover { color:#fff; }
.csc-hdr--solid .csc-hdr__link, .csc-hdr.is-scrolled .csc-hdr__link { color:rgba(40,40,40,0.8); }
.csc-hdr--solid .csc-hdr__link:hover, .csc-hdr.is-scrolled .csc-hdr__link:hover { color:#3183ba; }
.csc-hdr__chev { width:16px; height:16px; transition:transform 0.2s; }
.csc-hdr__item.has-children:hover .csc-hdr__chev { transform:rotate(180deg); }

/* Dropdown */
.csc-hdr__dropdown {
  position:absolute; top:100%; left:0; padding-top:8px; min-width:200px;
  opacity:0; visibility:hidden; transform:translateY(10px); transition:all 0.2s;
}
.csc-hdr__item.has-children:hover .csc-hdr__dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.csc-hdr__dropdown-inner { background:#fff; border-radius:8px; box-shadow:0 10px 25px rgba(0,0,0,0.12); padding:8px 0; border:1px solid #e5e5e5; }
.csc-hdr__dropdown-inner a {
  display:block; padding:8px 16px; font-size:14px; color:rgba(40,40,40,0.8); text-decoration:none; transition:all 0.2s;
}
.csc-hdr__dropdown-inner a:hover { background:#f0f7fc; color:#3183ba; }

/* Burger - visibile sotto 1536px */
.csc-hdr__burger { display:flex; padding:8px; border:none; background:none; cursor:pointer; border-radius:8px; transition:background 0.2s; }
@media (min-width:1536px){ .csc-hdr__burger{ display:none; } }
.csc-hdr__burger svg { width:24px; height:24px; }
.csc-hdr--transparent:not(.is-scrolled) .csc-hdr__burger { color:#fff; }
.csc-hdr--solid .csc-hdr__burger, .csc-hdr.is-scrolled .csc-hdr__burger { color:#282828; }

/* Mobile panel */
.csc-hdr__backdrop { position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:100; opacity:0; visibility:hidden; transition:opacity 0.3s; }
.csc-hdr__backdrop.is-open { opacity:1; visibility:visible; }
.csc-hdr__panel {
  position:fixed; top:0; right:0; bottom:0; width:300px; background:#fff; box-shadow:-4px 0 20px rgba(0,0,0,0.15);
  z-index:101; overflow-y:auto; transform:translateX(100%); transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.csc-hdr__panel.is-open { transform:translateX(0); }
@media (min-width:1536px){ .csc-hdr__panel, .csc-hdr__backdrop{ display:none; } }
.csc-hdr__panel-inner { padding:24px; }
.csc-hdr__panel-close { display:flex; margin-left:auto; padding:8px; border:none; background:none; cursor:pointer; color:#282828; margin-bottom:32px; }
.csc-hdr__panel-close svg { width:24px; height:24px; }
.csc-hdr__panel-nav { display:flex; flex-direction:column; gap:16px; }
.csc-hdr__panel-link, .csc-hdr__panel-toggle {
  display:flex; align-items:center; justify-content:space-between; width:100%; padding:8px 0;
  font-size:14px; font-weight:500; color:#282828; text-decoration:none; border:none; background:none; cursor:pointer; text-align:left;
}
.csc-hdr__panel-link:hover, .csc-hdr__panel-toggle:hover { color:#3183ba; }
.csc-hdr__panel-toggle svg { width:16px; height:16px; transition:transform 0.2s; }
.csc-hdr__panel-group.is-open .csc-hdr__panel-toggle svg { transform:rotate(180deg); }
.csc-hdr__panel-sub { overflow:hidden; max-height:0; transition:max-height 0.3s; padding-left:16px; }
.csc-hdr__panel-group.is-open .csc-hdr__panel-sub { max-height:200px; }
.csc-hdr__panel-sub a { display:block; padding:8px 0; font-size:14px; color:rgba(40,40,40,0.6); text-decoration:none; }
.csc-hdr__panel-sub a:hover { color:#3183ba; }
.csc-hdr__panel-cta { margin-top:32px; padding-top:32px; border-top:1px solid #e5e5e5; }
.csc-hdr__panel-cta a { display:block; text-align:center; background:#3183ba; color:#fff; padding:12px; border-radius:20px; font-weight:500; text-decoration:none; transition:background 0.2s; }
.csc-hdr__panel-cta a:hover { background:#2870a1; }

/* Spacer per pagine solid (la navbar fixed non copra il contenuto) */
.csc-hdr--solid + * { padding-top:108px; }
