/* ==========================================================
   SERVIZI & FORMAZIONE — NAVIGATION PREMIUM 2026
   Desktop information architecture + visual refinement
   Palette: Home / Chi siamo / menu
   ========================================================== */

body.sf2-site{
  --sf-nav-primary:#017bb2;
  --sf-nav-primary-2:#0291ca;
  --sf-nav-primary-dark:#00638f;
  --sf-nav-petrol:#052b3f;
  --sf-nav-petrol-2:#07516f;
  --sf-nav-cyan:#72d2e4;
  --sf-nav-soft:#f4f8fa;
  --sf-nav-line:#d8e5eb;
  --sf-nav-ink:#102b3e;
  --sf-nav-muted:#718493;
  --sf-nav-yellow:#ffd75a;
}

/* Header leggermente più editoriale */
body.sf2-site .sf2-header-nav-2026{
  border-bottom-color:#e1ebef;
  box-shadow:0 1px 0 rgba(5,43,63,.025),0 8px 28px rgba(5,43,63,.025);
}

body.sf2-site .sf2-header-nav-2026::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(1,123,178,.18) 24%,rgba(114,210,228,.28) 50%,rgba(1,123,178,.18) 76%,transparent 100%);
}

body.sf2-site .sf2-header-inner{
  gap:20px;
}

body.sf2-site .sf2-logo{
  flex-basis:220px;
}

body.sf2-site .sf2-nav{
  gap:16px;
}

body.sf2-site .sf2-nav>a,
body.sf2-site .sf2-navdrop>button{
  font-size:11.5px;
  letter-spacing:-.012em;
}

body.sf2-site .sf2-navdrop.is-current>button{
  color:var(--sf-nav-primary);
}

body.sf2-site .sf2-navdrop.is-current>button::after{
  width:28px;
  opacity:1;
}

body.sf2-site .sf2-navdrop>button .sf2-chevron{
  display:inline-block;
  margin-left:5px;
  color:#80949f;
  font-size:11px;
  transform:none;
  transition:transform .18s ease,color .18s ease;
}

body.sf2-site .sf2-navdrop:hover>button .sf2-chevron,
body.sf2-site .sf2-navdrop:focus-within>button .sf2-chevron,
body.sf2-site .sf2-navdrop.is-open>button .sf2-chevron{
  color:var(--sf-nav-primary);
  transform:rotate(180deg);
}

/* Corsi: indicatore in flusso, mai sovrapposto al testo */
body.sf2-site .sf2-courses-btn{
  min-height:86px;
  padding-left:0;
  color:#17384c;
  gap:0;
}

body.sf2-site .sf2-courses-status-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  margin-right:8px;
  border:1px solid rgba(122,94,0,.18);
  border-radius:50%;
  background:var(--sf-nav-yellow);
  box-shadow:0 0 0 4px rgba(255,215,90,.16);
}

body.sf2-site .sf2-courses-label{
  display:inline-block;
}

body.sf2-site .sf2-courses-btn::after{
  display:block;
}

/* ==========================================================
   MEGA MENU — BASE
   ========================================================== */
body.sf2-site .sf2-mega{
  top:72px;
  overflow:hidden;
  border:1px solid #d5e3e9;
  border-radius:18px;
  background:#fff;
  box-shadow:0 34px 90px rgba(5,43,63,.18),0 8px 22px rgba(5,43,63,.05);
}

body.sf2-site .sf2-mega::before{
  content:"";
  position:absolute;
  z-index:8;
  top:0;
  left:0;
  right:0;
  height:3px;
  pointer-events:none;
  background:linear-gradient(90deg,var(--sf-nav-primary),var(--sf-nav-cyan),transparent 84%);
}

body.sf2-site .sf2-mega-intro{
  padding:30px 28px;
  background:
    radial-gradient(circle at 86% 8%,rgba(114,210,228,.20),transparent 31%),
    linear-gradient(145deg,#052b3f 0%,#06435e 56%,#07516f 100%);
}

body.sf2-site .sf2-mega-intro small{
  color:#a8edf2;
  font-size:8px;
  letter-spacing:.15em;
}

body.sf2-site .sf2-mega-intro strong{
  margin-top:13px;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.035em;
}

body.sf2-site .sf2-mega-intro p{
  margin:11px 0 22px;
  color:#c6dae3;
  font-size:10.8px;
  line-height:1.65;
}

body.sf2-site .sf2-mega-intro a{
  min-height:34px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:9px;
  background:rgba(255,255,255,.055);
  color:#fff;
  font-size:9.7px;
  font-weight:850;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

/* ==========================================================
   SERVIZI — 6 card informative
   ========================================================== */
body.sf2-site .sf2-mega-services{
  width:790px;
  grid-template-columns:260px minmax(0,1fr);
}

body.sf2-site .sf2-mega-grid.sf2-mega-links{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  padding:14px;
  background:#fff;
}

body.sf2-site .sf2-mega-card{
  min-height:78px;
  padding:12px 13px!important;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:11px;
  align-items:center;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:#fff!important;
}

body.sf2-site .sf2-mega-card-icon,
body.sf2-site .sf2-info-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #dbe9ee;
  border-radius:10px;
  color:var(--sf-nav-primary);
  background:linear-gradient(145deg,#e9f8fa,#fff);
}

body.sf2-site .sf2-mega-card-icon svg,
body.sf2-site .sf2-info-icon svg{
  width:18px;
  height:18px;
}

body.sf2-site .sf2-mega-card-copy{
  min-width:0;
}

body.sf2-site .sf2-mega-card-copy b{
  color:#143449;
  font-size:11.4px;
}

body.sf2-site .sf2-mega-card-copy>span{
  color:#758996;
  font-size:9.2px;
}

body.sf2-site .sf2-mega-links .sf2-mega-card-icon{
  display:grid!important;
  margin:0!important;
  color:var(--sf-nav-primary)!important;
}

body.sf2-site .sf2-mega-links .sf2-mega-card-copy{
  display:block!important;
  margin:0!important;
}

body.sf2-site .sf2-mega-links .sf2-mega-card-copy>span{
  display:block!important;
  margin-top:4px!important;
}

body.sf2-site .sf2-mega-card.is-current,
body.sf2-site .sf2-info-link.is-current,
body.sf2-site .sf2-course-link.is-current{
  border-color:#c9e0e9!important;
  background:linear-gradient(135deg,#f8fcfd,#edf8fa)!important;
}

/* ==========================================================
   CORSI — intro + percorsi, senza numerazione decorativa
   ========================================================== */
body.sf2-site .sf2-mega-courses{
  width:650px;
  padding:0;
  display:grid;
  grid-template-columns:225px minmax(0,1fr);
}

body.sf2-site .sf2-mega-intro-courses small{
  color:#ffe798;
}

body.sf2-site .sf2-course-list{
  padding:13px;
  display:grid;
  gap:3px;
  background:#fff;
}

body.sf2-site .sf2-course-link{
  min-height:78px;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  padding:11px 12px;
  border:1px solid transparent;
  border-radius:11px;
}

body.sf2-site .sf2-course-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #edd679;
  border-radius:10px;
  color:#6e5600;
  background:linear-gradient(145deg,#fff8dc,#fff1af);
}

body.sf2-site .sf2-course-link .sf2-course-icon{
  display:grid!important;
  margin:0!important;
  color:#6e5600!important;
}

body.sf2-site .sf2-course-icon svg{
  width:19px;
  height:19px;
}

body.sf2-site .sf2-course-link small{
  color:#957000;
}

/* ==========================================================
   INFO — nuova area desktop
   ========================================================== */
body.sf2-site .sf2-mega-info{
  width:665px;
  display:grid;
  grid-template-columns:235px minmax(0,1fr);
}

body.sf2-site .sf2-navdrop-info>.sf2-mega{
  left:auto;
  right:-80px;
  transform:translateY(10px);
}

body.sf2-site .sf2-navdrop-info:hover>.sf2-mega,
body.sf2-site .sf2-navdrop-info:focus-within>.sf2-mega,
body.sf2-site .sf2-navdrop-info.is-open>.sf2-mega{
  transform:translateY(0);
}

body.sf2-site .sf2-info-links{
  padding:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  background:#fff;
}

body.sf2-site .sf2-info-link{
  min-height:88px;
  padding:13px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:11px;
  align-items:center;
  border:1px solid transparent;
  border-radius:11px;
  color:var(--sf-nav-ink);
  background:#fff;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

body.sf2-site .sf2-info-link b{
  display:block;
  color:#143449;
  font:800 11.5px/1.22 var(--sf-font-display,Inter,Arial,sans-serif);
}

body.sf2-site .sf2-info-link small{
  display:block;
  margin-top:4px;
  color:#758996;
  font-size:9.3px;
  line-height:1.4;
}

/* ==========================================================
   DESKTOP FIT — mantiene il desktop pulito fino a 1180px
   ========================================================== */
@media(max-width:1380px) and (min-width:1181px){
  body.sf2-site .sf2-header-inner{gap:14px}
  body.sf2-site .sf2-logo{flex-basis:205px}
  body.sf2-site .sf2-logo img{max-width:205px}
  body.sf2-site .sf2-nav{gap:12px}
  body.sf2-site .sf2-nav>a,
  body.sf2-site .sf2-navdrop>button{font-size:10.8px}
  body.sf2-site .sf2-whatsapp{width:42px;padding:0}
  body.sf2-site .sf2-whatsapp span{display:none}
  body.sf2-site .sf2-contact{padding:0 11px}
}

@media(max-width:1240px) and (min-width:1181px){
  body.sf2-site .sf2-header-inner{gap:10px}
  body.sf2-site .sf2-nav{gap:9px}
  body.sf2-site .sf2-nav>a,
  body.sf2-site .sf2-navdrop>button{font-size:10.2px}
  body.sf2-site .sf2-contact{font-size:10px}
}

/* Drawer: Info e Corsi coerenti */
@media(max-width:1180px){
  body.sf2-site .sf2-mobile-group-info{
    margin-top:8px;
  }

  body.sf2-site .sf2-mobile-group-info>strong>span{
    background:var(--sf-nav-primary)!important;
    box-shadow:0 0 0 4px rgba(1,123,178,.10)!important;
  }
}

@media(hover:hover) and (pointer:fine){
  body.sf2-site .sf2-mega-card:hover,
  body.sf2-site .sf2-info-link:hover,
  body.sf2-site .sf2-course-link:hover{
    transform:translateY(-1px);
    border-color:#d6e7ed!important;
    background:linear-gradient(135deg,#fff,#f1f9fb)!important;
  }

  body.sf2-site .sf2-mega-intro a:hover{
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.30);
    background:rgba(255,255,255,.10);
  }
}

@media(prefers-reduced-motion:reduce){
  body.sf2-site .sf2-mega-card,
  body.sf2-site .sf2-info-link,
  body.sf2-site .sf2-course-link,
  body.sf2-site .sf2-mega-intro a,
  body.sf2-site .sf2-chevron{
    transition:none!important;
  }
}
