/* CNSBII 1.6.16.130D
   Dimensione europea · shell compatta su una sola riga.
   Emblema separato dal marchio CNSBII e link alla pagina di trasparenza. */

/* Desktop: BRAND | EUROPA | MENU | ACCESSI, una sola riga. */
@media (min-width:1041px){
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-head-main{
    min-height:112px !important;
    display:grid !important;
    grid-template-columns:minmax(245px,320px) auto minmax(0,1fr) auto !important;
    grid-template-rows:auto !important;
    grid-template-areas:"brand eu nav access" !important;
    align-items:center !important;
    column-gap:12px !important;
    row-gap:0 !important;
    padding-block:15px !important;
  }

  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-brand{grid-area:brand !important}
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns86j4-nav{grid-area:nav !important}
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-idra-access{
    grid-area:access !important;
    align-self:center !important;
  }

  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary{
    grid-area:eu !important;
    width:auto !important;
    min-width:0 !important;
    max-width:176px !important;
    min-height:42px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    padding:5px 8px !important;
    border:1px solid #cbd4de !important;
    border-left:3px solid #003399 !important;
    background:#fff !important;
    color:#111b29 !important;
    box-shadow:4px 4px 0 rgba(7,21,43,.07) !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary img{
    width:34px !important;
    height:23px !important;
    display:block !important;
    object-fit:contain !important;
    flex:0 0 34px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary span{
    min-width:0 !important;
    display:grid !important;
    gap:2px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary strong{
    color:#111b29 !important;
    font:900 10px/1.05 Inter,system-ui,sans-serif !important;
    letter-spacing:.01em !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary small{
    color:#607087 !important;
    font:750 7px/1.1 Inter,system-ui,sans-serif !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary:hover{
    border-color:#9eadd0 !important;
    background:#f6f8fd !important;
    transform:translateY(-1px) !important;
  }
}

/* Desktop compatto: riduce soltanto gli spazi, mai una seconda riga. */
@media (min-width:1041px) and (max-width:1320px){
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-head-main{
    grid-template-columns:minmax(225px,270px) auto minmax(0,1fr) auto !important;
    column-gap:8px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-brand-mark{
    width:66px !important;height:66px !important;flex-basis:66px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-brand-logo{
    width:58px !important;height:58px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-brand-text strong{
    font-size:26px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-brand-text em{
    max-width:185px !important;font-size:7.5px !important;letter-spacing:.07em !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary{
    max-width:126px !important;padding-inline:6px !important;gap:6px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary small{
    display:none !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns86j4-home,
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns86j4-trigger{
    padding-inline:7px !important;
    font-size:11px !important;
    letter-spacing:.035em !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-idra-access{
    min-width:128px !important;
    max-width:148px !important;
    padding-inline:8px !important;
  }
}

/* Tablet: l'emblema resta visibile nella riga principale, in versione icona. */
@media (max-width:1040px){
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-head-main{
    grid-template-columns:minmax(0,1fr) 38px auto auto !important;
    grid-template-areas:"brand eu menu access" !important;
    gap:8px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-brand{grid-area:brand !important}
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-menu-toggle{grid-area:menu !important}
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-idra-access{grid-area:access !important}

  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary{
    grid-area:eu !important;
    width:38px !important;
    height:32px !important;
    min-width:38px !important;
    min-height:32px !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    padding:3px !important;
    border:1px solid #b8c4d8 !important;
    border-left:3px solid #003399 !important;
    background:#fff !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary img{
    width:28px !important;
    height:19px !important;
    display:block !important;
    object-fit:contain !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary span{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
  }

  /* Dentro il menu mobile resta anche la voce testuale completa. */
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns86j4-tools .cns130b-eu-mobile{
    grid-column:1 / -1 !important;
    min-height:58px !important;
    border-top-color:#003399 !important;
    background:#f5f8ff !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns86j4-tools .cns130b-eu-mobile span{
    color:#07152b !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns86j4-tools .cns130b-eu-mobile small{
    color:#53647e !important;
  }
}

/* Smartphone: prima riga BRAND | UE | MENU. Accessi rimane sotto, come già previsto dalla shell. */
@media (max-width:700px){
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-head-main{
    grid-template-columns:minmax(0,1fr) 36px auto !important;
    grid-template-areas:
      "brand eu menu"
      "access access access" !important;
    gap:8px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary{
    width:36px !important;
    min-width:36px !important;
  }
}

@media (max-width:430px){
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns-head-main{
    column-gap:6px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary{
    width:34px !important;
    min-width:34px !important;
    height:30px !important;
    min-height:30px !important;
    padding:2px !important;
  }
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary img{
    width:26px !important;
    height:18px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary{
    transition:none !important;
    transform:none !important;
  }
}


/* Footer: public on every Portale page, separated from the CNSBII identity block. */
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer{
  margin:0 !important;
  padding:0 !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.035) !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-inner{
  padding-block:22px !important;
  display:grid !important;
  grid-template-columns:58px minmax(0,760px) minmax(220px,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-emblem{
  display:block !important;
  width:58px !important;
  text-decoration:none !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-emblem img{
  width:58px !important;
  height:auto !important;
  display:block !important;
  background:#fff !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-copy{
  min-width:0 !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-copy strong{
  display:block !important;
  margin:0 0 5px !important;
  color:#fff !important;
  font:850 12px/1.15 Inter,system-ui,sans-serif !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-copy p{
  margin:0 !important;
  color:#d4dce7 !important;
  font:600 10px/1.55 Inter,system-ui,sans-serif !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:8px !important;
}
html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-actions a{
  min-height:36px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:8px 11px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
  font:800 10px/1.15 Inter,system-ui,sans-serif !important;
}

@media (max-width:900px){
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-inner{
    grid-template-columns:50px minmax(0,1fr) !important;
    gap:14px !important;
  }
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-emblem,
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-emblem img{
    width:50px !important;
  }
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-actions{
    grid-column:1 / -1 !important;
    justify-content:flex-start !important;
  }
}

@media (max-width:480px){
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-inner{
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:11px !important;
    padding-block:18px !important;
  }
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-emblem,
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-emblem img{
    width:42px !important;
  }
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer-actions a{
    width:100% !important;
    justify-content:center !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary{
    transition:none !important;
    transform:none !important;
  }
}

@media print{
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130d-eu-primary,
  html body.cnsbii-lumen-ui .cns-shell--86j4 .cns130b-eu-mobile,
  html body.cnsbii-lumen-ui .site-footer--86j .cns130b-eu-footer{
    display:none !important;
  }
}
