/* Drilldown Left Menu - caret + pannello overlay, tipografia e layout allineati al menu principale */

body.dlm-active #header-outer[data-format="left-header"] nav { position: relative; }

/* Nascondi i dropdown in-place sulla root */
#header-outer[data-format="left-header"] nav > ul.sf-menu > li > ul.sub-menu { 
  display: none !important; 
}

/* Quando il pannello è aperto, nascondi la root */
#header-outer[data-format="left-header"] nav.dlm-open > ul.sf-menu { 
  visibility: hidden; 
}

/* Stage overlay */
.dlm-stage {
  display: none;
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 9999;
  flex-direction: column;
  gap: 8px;

  /* Tipografia dal menu principale (impostata via JS) */
  --dlm-font-family: inherit;
  --dlm-font-size: inherit;
  --dlm-font-weight: inherit;
  --dlm-letter-spacing: normal;
  --dlm-text-transform: none;
  --dlm-line-height: 1.35;
}
.dlm-stage.is-open {
  display: flex;
  pointer-events: auto;
}

/* Barra Indietro */
.dlm-back {
  display: none;
  align-items: center;
  gap: 8px;
  background: #1f4e87; 
  border: 1px solid rgba(255,255,255,0.12);
  color: #fff;
  padding: 10px 12px;
  border-radius: 4px;
  cursor: pointer;
  font: inherit;
}
.dlm-back.is-visible { display: inline-flex; }
.dlm-back:focus { outline: 2px solid #fff; outline-offset: 2px; }
.dlm-back-icon { display: inline-block; transform: translateY(-1px); }

/* Pannello scrollabile */
.dlm-panel { 
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* Box livello corrente */
.dlm-panel > ul {
  background: #01325C;
  border-radius: 2px;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

/* Visibilità del livello corrente (clone) */
.dlm-panel > ul,
.dlm-panel > ul.sub-menu {
  display: block !important;
  visibility: visible !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Ogni voce su una riga, allineata a sinistra */
.dlm-panel > ul > li,
.dlm-panel ul.sub-menu > li {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Link nel pannello */
.dlm-panel > ul > li > a {
  position: relative;
  display: block !important;
  color: #fff !important;
  text-decoration: none !important;
  text-align: left !important;
  white-space: normal !important;

  font-family: var(--dlm-font-family, inherit);
  font-size: var(--dlm-font-size, inherit);
  font-weight: var(--dlm-font-weight, inherit);
  letter-spacing: var(--dlm-letter-spacing, normal);
  text-transform: var(--dlm-text-transform, none);
  line-height: var(--dlm-line-height, 1.35);

  padding: 12px 12px;
  box-sizing: border-box;
}

/* Hover/focus */
.dlm-panel > ul > li:hover,
.dlm-panel > ul > li:focus-within { 
  background: #6588B8; 
}

/* Nascondi i livelli più profondi finché non ci entri */
.dlm-panel ul ul { 
  display: none !important; 
}

/* Caret – root e pannello */
li.dlm-has-caret { position: relative; }

/* Root: caret assoluto + gutter nel link */
#header-outer[data-format="left-header"] nav > ul.sf-menu > li > a {
  position: relative;
  padding-right: 44px !important;
  text-align: left;
}
#header-outer[data-format="left-header"] nav > ul.sf-menu > li > button.dlm-caret {
  position: absolute;
  top: 50%; right: 8px;
  transform: translateY(-50%);
  width: 28px; height: 28px;
  display: inline-flex;
  align-items: center; justify-content: center;
  background: transparent; color: #fff; border: 0; cursor: pointer; padding: 0;
  z-index: 3;
}

/* Panel: caret assoluto + gutter a destra nel link */
.dlm-panel li.dlm-has-caret > a { padding-right: 44px !important; }
.dlm-panel li.dlm-has-caret > button.dlm-caret {
  position: absolute !important;
  top: 50%; right: 8px;
  transform: translateY(-50%);
  width: 28px; height: 28px;
  display: inline-flex;
  align-items: center; justify-content: center;
  background: transparent; color: #fff; border: 0; cursor: pointer; padding: 0;
  z-index: 3;
}

/* Stato caret */
button.dlm-caret:hover { color: #dbe7ff; }
button.dlm-caret:focus { outline: 2px solid #fff; outline-offset: 2px; }
button.dlm-caret > span { pointer-events: none; font-size: 18px; line-height: 1; }


/* Rinforzo: assicura che il livello montato non abbia vincoli di altezza */
.dlm-panel > ul {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}