/* Correzioni del tema ARES118: caricare dopo gli stili esistenti. */
.ares-visually-hidden {
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important;
}
.ares-skip-link { position:fixed; left:1rem; top:1rem; z-index:20000; padding:.75rem 1rem; background:#fff; color:#111; transform:translateY(-200%); }
.ares-skip-link:focus { transform:none; }
html { scroll-padding-top:15rem; }
#contenuto-principale { scroll-margin-top:15rem; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible, .wsmenu a:focus-visible {
  outline:3px solid #111 !important; outline-offset:3px;
  box-shadow:0 0 0 6px #fff !important;
}
.tabella_codici .codice-badge.verde, .tabella_codici .codice-badge.rosso { color:#1a1a1a; }
.tabella_codici .codice-badge { font-size:1rem; font-weight:600; line-height:1.5; width:auto; height:auto; min-width:2.25rem; min-height:2.25rem; padding:.25rem; box-sizing:border-box; }
.ares-pdf-frame { display:block; width:100%; height:65vh; border:0; }
#exampleModal .modal-body { max-height:70vh; }
#wsnavtoggle { border:0; background:transparent; cursor:pointer; }
.ares-submenu-toggle, .ares-menu-close { font:inherit; cursor:pointer; border:1px solid currentColor; background:#fff; color:#111; padding:.35rem .5rem; min-width:2.25rem; min-height:2.25rem; border-radius:.2rem; }
.ares-submenu-toggle { margin:.2rem; vertical-align:middle; }
.ares-menu-close { display:none; }
/* The legacy hover animations must not override the disclosure's actual state. */
.wsmenu .ares-submenu[hidden] { display:none !important; }
.wsmenu .ares-submenu:not([hidden]) { display:block !important; visibility:visible !important; opacity:1 !important; transform:none !important; pointer-events:auto !important; }
@media(min-width:1491px) {
  .wsmenu>.wsmenu-list>li>a { display:inline-block; }
  .wsmenu>.wsmenu-list>li>a .wsarrow { display:none; }
}
@media(max-width:1490px) {
  .ares-menu-close { display:block; position:relative; z-index:1100; margin:.5rem; }
  .wsmenu>.wsmenu-list>li>a { padding-right:3.5rem; }
  .wsmenu li { position:relative; }
  .ares-submenu-toggle { position:absolute; right:.25rem; top:.25rem; z-index:2; }
  .wsmenu .ares-submenu:not([hidden]) { position:static; }
}
@media(max-width:1490px) {
  .wsmenu>.wsmenu-list { width:min(350px, 100vw); max-width:100%; }
  body.wsactive .wsmenu { overflow-y:auto; }
}

@media(max-width:1490px) { .wsmenu { display:block; } }
@media(max-width:1490px) {
  body.wsactive .wsmenucontainer { margin-left:0; }
  #menu-principale.wsmenu { left:0; top:0; width:100%; max-width:none; z-index:2000; }
  #menu-principale>.wsmenu-list { margin-left:0; position:relative; z-index:1; min-height:calc(100vh - 4rem); }
  #menu-principale .ares-menu-close { margin:0; padding:.75rem; width:min(350px, 100vw); border-radius:0; }
  #menu-principale .overlapblackbg { width:max(0px, calc(100% - 350px)); }
}

/* Fix V3: Bootstrap .navbar > .container usa flex anche sul pannello menu.
   La navigazione mobile richiede invece pulsante ed elenco impilati. */
@media (max-width:1490px) {
  .navbar > #menu-principale.wsmenu {
    display:block;
    width:100vw !important;
    max-width:none !important;
    min-width:0;
    padding:0;
    margin:0;
    right:auto;
    box-sizing:border-box;
  }
  #menu-principale.wsmenu > .wsmenu-list {
    float:none;
    margin:0;
    width:min(350px, 100vw);
    max-width:100%;
    box-sizing:border-box;
  }
  #menu-principale.wsmenu > .ares-menu-close {
    display:block;
    float:none;
    position:relative;
    margin:0;
    width:min(350px, 100vw);
    max-width:100%;
    box-sizing:border-box;
  }
}

/* V4: frecce integrate e barra desktop su una riga. */
#menu-principale .ares-submenu-toggle {
  background:transparent;
  color:inherit;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#menu-principale .ares-submenu-toggle span {
  font-size:0;
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  margin-top:-4px;
}
#menu-principale .ares-submenu-toggle[aria-expanded="true"] span { transform:rotate(225deg); margin-top:4px; }
@media(min-width:1491px) {
  .navbar > #menu-principale.wsmenu {
    position:relative;
    display:block;
    float:none;
    width:calc(100% - 32px) !important;
    max-width:1320px !important;
    margin:0 auto;
    padding:0;
  }
  #menu-principale.wsmenu > .wsmenu-list {
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:center;
    gap:0;
    width:100%;
    margin:0;
    padding:0;
  }
  #menu-principale.wsmenu > .wsmenu-list > li {
    display:flex;
    align-items:center;
    position:static;
    float:none;
    flex:0 0 auto;
    white-space:nowrap;
    margin:0;
  }
  #menu-principale.wsmenu > .wsmenu-list > li > a {
    display:block;
    font-size:clamp(13.5px, .8vw, 16px);
    /* Spaziatura orizzontale ripresa dal menu originale. */
    padding:10px 28px 10px 19px;
    line-height:50px;
    white-space:nowrap;
  }
  #menu-principale.wsmenu > .wsmenu-list > li > a.menuhomeicon { padding-left:25px; padding-right:25px; }
  #menu-principale.wsmenu > .wsmenu-list > li:has(> .ares-submenu-toggle) > a { padding-right:28px; }
  #menu-principale.wsmenu > .wsmenu-list > li > .ares-submenu-toggle {
    position:relative;
    right:auto;
    top:auto;
    flex:0 0 28px;
    width:28px;
    min-width:28px;
    height:44px;
    min-height:44px;
    margin-left:-28px;
    color:#fff;
  }
  #menu-principale.wsmenu > .wsmenu-list > li.rightmenu {
    flex:0 1 210px;
    min-width:140px;
    margin-left:12px;
  }
  #menu-principale .topmenusearch { width:100%; margin:0; float:none; }
  #menu-principale .topmenusearch input { width:100%; box-sizing:border-box; }
  #menu-principale.wsmenu > .wsmenu-list > li > .wsmegamenu {
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    margin-top:0;
  }
}
@media(max-width:1490px) {
  #menu-principale .ares-submenu-toggle {
    position:absolute;
    right:8px;
    top:2px;
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    color:inherit;
  }
}
