/* Header locale: Bootstrap classico, compatto sotto lg (992px). */
#header-menu2.header-menu-open { display:block !important; height:auto !important; overflow:visible; }
#header-sectors { background:#0066c8; color:#fff; }
.header.header-v5 .header-logo-slot, .header.header-v5 .header-logo-row, .header.header-v5 .header-tools { display:contents; }
.header.header-v5 .header-mobile-menu-label { display:none; }
.header.header-v5 .sector-nav-trigger, #header-sectors .sector-panel-heading, #header-sectors .sector-mobile-label { display:none; }
.header.header-v5 .topbar { background:#000; }
.header.header-v5 .header-topbar-content { display:flex; align-items:center; gap:12px; min-height:50px; padding-top:6px; padding-bottom:0; }
.header.header-v5 .header-topbar-content .sped-gratis { flex:1; min-width:0; }
.header.header-v5 .topbar .userbar-cont { display:flex; align-items:flex-end; align-self:flex-end; flex:none; float:none; margin:0; margin-top:0 !important; z-index:170; }
.header.header-v5 .topbar .userbar { display:flex; align-items:flex-end; margin:0; padding:0; }
.header.header-v5 .topbar .userbar > li { position:relative; padding:0; margin:0 0 0 6px; }
.header.header-v5 .topbar .userbar > .hidden-xs { display:none !important; }
.header.header-v5 .topbar .userbar > .visible-xs { display:inline-block !important; }
.header.header-v5 .topbar .userbar > li > a.icon { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; top:0; border-radius:0; background:#0066c8; color:#fff; font-size:19px; line-height:1; }
.header.header-v5 .topbar .userbar > li > a.icon:hover { background:#0878e1; color:#fff; }
.header.header-v5 .topbar .userbar > li > a.icon:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.header.header-v5 .topbar .badge-open, .header.header-v5 .topbar #login-menu { top:100%; right:0; left:auto; margin:0; padding:0; width:320px; min-width:0; max-width:calc(100vw - 30px); box-sizing:border-box; border:1px solid #e0e7ef; border-radius:0; background:#fff; color:#273444; font-size:15px; box-shadow:0 4px 12px rgba(0,0,0,.12); }
.header.header-v5 .topbar #login-menu > li { margin:0; padding:0; }
.header.header-v5 .topbar #login-menu > li > a { padding:12px 15px; white-space:normal; color:#273444; }
.header.header-v5 .topbar #login-menu > li > a:hover, .header.header-v5 .topbar #login-menu > li > a:focus { background:#edf5fc; color:#0066c8; }
#header-sectors .sector-nav-panel { position:static; display:block; width:100%; max-width:none; margin:0; padding:0; border:0; overflow:visible; color:inherit; background:inherit; }
#header-sectors .sector-nav-list { display:flex; flex-wrap:nowrap; justify-content:safe center; overflow-x:auto; margin:0; padding:0; list-style:none; }
#header-sectors .sector-nav-list > li { display:flex; flex:1 0 110px; position:relative; align-items:stretch; justify-content:center; max-width:180px; min-width:0; text-align:center; }
#header-sectors .sector-nav-list > li > a { display:flex; align-items:center; justify-content:center; flex:1; min-width:0; white-space:normal; font-size:15px; font-weight:500; line-height:1.3; }
#header-sectors a { display:block; padding:.8rem .65rem; color:#fff; overflow-wrap:anywhere; text-decoration:none; }
#header-sectors .sector-nav-list > li:hover, #header-sectors .sector-nav-list > li:focus-within,
#header-sectors .sector-dropdown > ul a:hover { background:rgba(0,0,0,.18); }
#header-sectors a:focus-visible, #header-sectors summary:focus-visible, #header-sectors button:focus-visible { outline:2px solid #fff; outline-offset:-3px; }
#header-sectors summary { cursor:pointer; padding:.8rem .4rem; list-style:none; }
#header-sectors .sector-dropdown > summary { display:flex; align-items:center; justify-content:center; height:100%; min-width:32px; box-sizing:border-box; }
#header-sectors summary::-webkit-details-marker { display:none; }
#header-sectors .sector-dropdown > ul { position:fixed; z-index:1100; min-width:220px; max-width:min(320px, calc(100vw - 30px)); max-height:60vh; overflow-y:auto; margin:0; padding:4px 0; list-style:none; background:#fff; color:#273444; border:1px solid #e0e7ef; box-sizing:border-box; box-shadow:0 4px 12px rgba(0,0,0,.12); }
#header-sectors .sector-dropdown > ul a { color:#273444; font-size:15px; line-height:1.45; }
#header-sectors .sector-dropdown > ul a:hover, #header-sectors .sector-dropdown > ul a:focus { background:#edf5fc; color:#0066c8; }
#header-sectors .sector-dropdown > ul a:focus-visible { outline-color:#0066c8; }
#header-sectors button { border:0; border-radius:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
html.sector-panel-open, html.sector-panel-open body { overflow:hidden; }
.header.header-v5 #boxcerca { position:relative; }
.header.header-v5 #boxcerca input { height:42px; font-size:15px; box-sizing:border-box; background:#fff; border:1px solid #a6bdd5; border-radius:8px 0 0 8px; transition:border-color .2s ease, box-shadow .2s ease; }
  .header.header-v5 #boxcerca input::placeholder { color:#6b7785; opacity:1; }
  .header.header-v5 #boxcerca input:focus { border-color:#0066c8; outline:2px solid rgba(0,102,200,.25); outline-offset:1px; box-shadow:0 0 0 2px rgba(0,102,200,.1); }
.header.header-v5 #boxcerca-btn { height:42px; border-radius:0 8px 8px 0; }
.header.header-v5 #boxcerca #suggerimenti { top:100%; left:0; margin-top:5px; width:320px; min-width:0; max-width:calc(100vw - 30px); max-height:60vh; overflow-y:auto; box-sizing:border-box; border-radius:8px; white-space:normal; overflow-wrap:anywhere; }
.header.header-v5 #suggerimenti #searchresults { width:100%; max-width:100%; box-sizing:border-box; border:1px solid #c7d5e3; }
.header.header-v5 #suggerimenti #searchresults a { width:100%; max-width:100%; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
.header.header-v5 #suggerimenti #searchresults .searchheading { display:block; overflow:hidden; white-space:normal; overflow-wrap:anywhere; }
.header.header-v5 #suggerimenti #searchresults a img { max-width:64px; height:auto; box-sizing:border-box; }
@media (min-width:992px) {
  .header.header-v5 > div > .navbar { padding-top:8px; padding-bottom:8px; }
  .header.header-v5 .header-navbar { display:flex; align-items:center; gap:20px; }
  .header.header-v5 .header-navbar::before, .header.header-v5 .header-navbar::after { display:none; }
  .header.header-v5 .header-navbar .logo { order:1; flex:none; float:none; }
  #header-menu2.header-menu-open { order:2; flex:1; min-width:0; margin:0; padding:0; border:0; }
  #header-menu2.header-menu-open > ul { display:flex; flex-wrap:wrap; justify-content:center; margin:0; }
  #header-menu2.header-menu-open > ul > li { float:none; margin:0; }
  #header-menu2.header-menu-open > ul > li > a { padding:10px 8px; letter-spacing:0; }
  .header.header-v5 .header-tools #boxcerca { order:3; flex:none; width:clamp(220px, 20vw, 280px); margin:0; float:none; }
  .header.header-v5 .header-tools #boxcerca .form-group { width:100%; }
  #header-sectors .sector-nav-list > li > a, #header-sectors .sector-dropdown > summary { align-items:flex-start; }
  body.header-nav-measured.header-fixed-space-default, body.header-nav-measured.noslider-fixed-space-default { padding-top:var(--header-nav-height) !important; }
}
@media (max-width:991px) {
  .header.header-v5 { display:flex; flex-direction:column; background:#fff; }
  .header.header-v5.header-sticky, .header.header-v5.header-fixed-shrink { position:relative; top:auto; }
  body.header-fixed-space-default, body.noslider-fixed-space-default { padding-top:0 !important; }
  .header.header-v5 .topbar { order:0; }
  .header.header-v5 > .header-main, .header.header-v5 .header-navbar { display:contents; }
  .header.header-v5 .header-logo-slot { order:1; display:block; height:var(--mobile-logo-height, 110px); }
  .header.header-v5 .header-logo-row { position:fixed; top:var(--mobile-logo-top, 28px); left:0; right:0; z-index:200; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.1); display:grid; grid-template-columns:minmax(0, 1fr) 54px; align-items:center; gap:4px; padding:12px 15px; }
  .header.header-v5 .header-logo-row .logo { grid-column:1; float:none; width:100%; max-width:240px; justify-self:start; padding:8px 0; }
  .header.header-v5 #header-logo { width:100%; height:auto; margin:auto; }
  .header.header-v5 .header-mobile-menu-label { display:block; margin-top:3px; font-size:10px; line-height:1.2; letter-spacing:1px; text-align:center; color:#596675; }
  .header.header-v5 .sector-nav-trigger { display:flex; flex-direction:column; align-items:center; justify-content:center; grid-column:2; width:54px; min-height:54px; padding:0; border:0; background:transparent; color:#0066c8; cursor:pointer; }
  .header.header-v5 .header-hamburger-icon { display:block; font-size:34px; line-height:1; }
  .header.header-v5 .sector-nav-trigger:focus-visible { outline:2px solid #0066c8; outline-offset:2px; }
  #header-menu2.header-menu-open { order:2; }
  #header-sectors { order:3; }
  #header-sectors .sector-mobile-label { display:none; padding:10px 15px; text-align:center; font-size:14px; font-weight:700; }
  /* Ripristino fascia blu mobile: aggiungere mobile-sector-band all'header. */
  .header.header-v5.mobile-sector-band #header-sectors .sector-mobile-label { display:block; }
  .header.header-v5 .header-tools { order:4; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#f3f4f6; padding-top:12px; padding-bottom:12px; }
  .header.header-v5 .header-tools #boxcerca { flex:1; min-width:0; float:none; margin:0; position:relative; }
  .header.header-v5 .header-tools #boxcerca .form-group { width:100%; min-width:0; max-width:none; margin:0; }
  .header.header-v5 .header-tools #suggerimenti { top:100%; left:0; }
  #header-menu2.header-menu-open { float:none !important; clear:both; width:100%; margin:0; padding:8px 0; background:#fff; }
  #header-menu2.header-menu-open > ul { display:flex; flex-wrap:wrap; justify-content:center; float:none; margin:0; }
  #header-menu2.header-menu-open > ul > li { float:none; display:block; margin:0; background:transparent; }
  #header-menu2.header-menu-open > ul > li > a { padding:10px 8px; font-size:13px; letter-spacing:0; }
  #header-sectors .sector-nav-panel { display:none; position:fixed; inset:0 0 0 auto; width:min(380px, 100vw); height:100vh; height:100dvh; max-height:none; margin:0; border-radius:0; overflow:hidden; background:#0066c8; }
  #header-sectors .sector-nav-panel.is-open { display:flex; flex-direction:column; animation:sector-panel-in .42s cubic-bezier(.22,1,.36,1) both; }
  #header-sectors .sector-nav-panel.is-closing { animation:sector-panel-out .42s cubic-bezier(.4,0,.2,1) both; }
  #header-sectors .sector-nav-panel::backdrop { background:rgba(0,0,0,.5); animation:sector-backdrop-in .42s ease both; }
  #header-sectors .sector-nav-panel.is-closing::backdrop { animation:sector-backdrop-out .42s ease both; }
  #header-sectors .sector-panel-heading { display:flex; flex:none; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid rgba(255,255,255,.25); }
  #header-sectors .sector-panel-heading h2 { margin:0; color:#fff; font-size:18px; }
  #header-sectors .sector-panel-close { width:44px; height:44px; font-size:28px; }
  #header-sectors .sector-nav-list { flex:1; min-height:0; display:block; overflow-y:auto; overscroll-behavior:contain; padding-bottom:env(safe-area-inset-bottom); }
  #header-sectors .sector-nav-list > li { flex-wrap:wrap; width:100%; max-width:none; text-align:left; border-bottom:1px solid rgba(255,255,255,.15); }
  #header-sectors .sector-nav-list > li > a { justify-content:flex-start; flex-basis:100%; box-sizing:border-box; min-height:48px; padding:12px 64px 12px 16px; font-size:14px; }
  #header-sectors .sector-dropdown { position:static; flex:0 0 100%; }
  #header-sectors .sector-dropdown > summary { position:absolute; top:0; right:0; width:48px; height:48px; min-width:48px; min-height:48px; }
  #header-sectors .sector-dropdown[open] { width:100%; }
  #header-sectors .sector-dropdown > ul { position:static; min-width:0; max-width:none; max-height:none; width:100%; overflow:visible; box-shadow:none; padding-left:16px; }
  #header-sectors .sector-dropdown > ul a { padding:12px 16px; font-size:16px; }
}
@keyframes sector-panel-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes sector-panel-out { from { transform:translateX(0); } to { transform:translateX(100%); } }
@keyframes sector-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes sector-backdrop-out { from { opacity:1; } to { opacity:0; } }
@media (prefers-reduced-motion:reduce) {
  #header-sectors .sector-nav-panel.is-open, #header-sectors .sector-nav-panel.is-closing,
  #header-sectors .sector-nav-panel::backdrop, #header-sectors .sector-nav-panel.is-closing::backdrop { animation:none; }
}
@media (min-width:768px) and (max-width:991px) {
  #header-menu2.header-menu-open > ul > li { max-width:200px; white-space:normal; }
}
@media (min-width:992px) and (max-width:1199px) {
  #header-menu2.header-menu-open { float:none !important; }
}
/* Tablet e desktop: impedisce la compressione della ricerca e supera
   il vecchio limite 140-180px; smartphone invariati. */
@media (min-width:768px) {
  .header.header-v5 .header-tools #boxcerca { min-width:200px; }
  .header.header-v5 .header-tools #boxcerca .form-group { min-width:200px; max-width:none; }
}
