/* Solaroli UI (Header / Footer / MEPA) - globale */
:root{
  --sl-text:#0f172a;
  --sl-muted:rgba(15,23,42,.68);
  --sl-border:rgba(15,23,42,.08);
  --sl-soft:rgba(15,23,42,.06);
  --sl-white: #fff;
  --sl-red:#ff3b30;
  --sl-red-soft: rgba(255,59,48,.12);
  --sl-shadow: 0 16px 36px rgba(15,23,42,.12);
  --sl-radius: 999px;
  --sl-max: 1200px;
  --sl-pad: 24px;
}

/* Header */
html body .site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--sl-border);
}

html body .site-header .header-inner{
  max-width: var(--sl-max);
  margin: 0 auto;
  padding: 12px var(--sl-pad);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
}

html body .site-header .header-nav{
  justify-self: center;
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 6px;
  border-radius: var(--sl-radius);
  background: rgba(255,255,255,.70);
  border: 1px solid var(--sl-border);
  box-shadow: 0 8px 24px rgba(15,23,42,.08);
}

html body .site-header .header-nav-item{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: var(--sl-radius);
  text-decoration:none;
  color: var(--sl-text);
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  transition: transform .15s ease, background .15s ease;
}

html body .site-header .header-nav-item:hover{
  transform: translateY(-1px);
  background: var(--sl-soft);
}

html body .site-header .header-nav-item.is-active{
  background: var(--sl-soft);
}

html body .site-header .header-nav-ic{
  font-size: 20px;
  line-height: 1;
}

html body .site-header .header-nav-cta{
  background: var(--sl-red);
  color: #fff;
}

html body .site-header .header-nav-cta:hover{
  background: #ff241a;
}

html body .site-header .header-burger{
  display:none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid var(--sl-border);
  background: rgba(255,255,255,.72);
  cursor: pointer;
  align-items:center;
  justify-content:center;
}

html body .site-header .header-burger .material-symbols-rounded{
  font-size: 26px;
  color: var(--sl-text);
}

/* Mobile menu */
html body .site-header .header-mobile{
  max-width: var(--sl-max);
  margin: 0 auto;
  padding: 0 var(--sl-pad) 14px;
}

html body .site-header .header-mobile-nav{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--sl-border);
  border-radius: 18px;
  box-shadow: var(--sl-shadow);
  padding: 10px;
  display:flex;
  flex-direction: column;
  gap: 6px;
}

html body .site-header .header-mobile-item{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  text-decoration:none;
  color: var(--sl-text);
  font-weight: 750;
}

html body .site-header .header-mobile-item:hover{
  background: var(--sl-soft);
}

html body .site-header .header-mobile-cta{
  background: var(--sl-red-soft);
}

@media (max-width: 980px){
  html body .site-header .header-inner{
    grid-template-columns: auto 1fr auto;
  }
  html body .site-header .header-nav{
    display:none;
  }
  html body .site-header .header-burger{
    display:flex;
  }
  html body .site-header .brand-logo{height:36px}
}

/* MEPA box (prima del footer) */
.mepa-wrap{
  max-width: var(--sl-max);
  margin: 34px auto 18px;
  padding: 0 var(--sl-pad);
}

.mepa-box{
  background: #fff;
  border: 1px solid var(--sl-border);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15,23,42,.10);
  padding: 18px 18px;
  text-align: center;
}

.mepa-title{
  margin: 0;
  font-weight: 800;
  color: var(--sl-text);
}

.mepa-sub{
  margin: 6px 0 0;
  color: var(--sl-muted);
  font-size: 14px;
}

/* Footer */
.site-footer{
  background: #111827;
  color: rgba(255,255,255,.75);
}

.site-footer a{ color: rgba(255,255,255,.85); }

.site-footer .footer-inner{
  max-width: var(--sl-max);
  margin: 0 auto;
  padding: 22px var(--sl-pad);
  text-align: center;
  font-size: 14px;
}

.site-footer .credit{ margin-top: 10px; color: rgba(255,255,255,.62); }

@media (max-width: 720px){
  :root{ --sl-pad: 16px; }
  .mepa-wrap{ margin-top: 24px; }
}


/* Deep cleanup: single canonical brand system */
html,body{margin:0;padding:0;}
body{margin:0;}
html body .site-header{top:0 !important;margin-top:0 !important;}
html body .site-header .brand{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  text-decoration:none !important;
  color:var(--sl-text) !important;
  min-width:0 !important;
}
html body .site-header .brand-logo{
  height:44px !important;
  width:auto !important;
  display:block !important;
  flex-shrink:0 !important;
}
html body .site-header .brand-text{
  font-family:'Poppins',sans-serif !important;
  font-weight:900 !important;
  font-size:28px !important;
  letter-spacing:-0.4px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:baseline !important;
  gap:6px !important;
  white-space:nowrap !important;
  color:#0b0f19 !important;
  text-transform:none !important;
}
html body .site-header .brand-sub{
  font-family:'Poppins',sans-serif !important;
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:0.6px !important;
  line-height:1 !important;
  color:rgba(11,15,25,.6) !important;
  text-transform:none !important;
}
@media (max-width: 980px){
  html body .site-header .brand-text{font-size:24px !important;}
  html body .site-header .brand-logo{height:40px !important;}
}



/* Grafica nav item */
html body .site-header .header-nav-grafica-icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;flex:0 0 auto;
}
html body .site-header .header-nav-grafica-icon{
  width:15px;height:15px;display:block;object-fit:contain;opacity:.86;
  filter: brightness(0) saturate(100%) invert(9%) sepia(15%) saturate(1144%) hue-rotate(182deg) brightness(95%) contrast(92%);
  transition: filter .2s ease, opacity .2s ease;
}
html body .site-header .header-mobile-grafica .header-nav-grafica-icon{width:16px;height:16px;}
html body .site-header .header-nav-grafica:hover .header-nav-grafica-icon,
html body .site-header .header-mobile-grafica:hover .header-nav-grafica-icon,
html body .site-header .header-nav-grafica.is-active .header-nav-grafica-icon{
  opacity:1;
  filter: brightness(0) saturate(100%) invert(24%) sepia(99%) saturate(4764%) hue-rotate(353deg) brightness(98%) contrast(108%);
}

/* Grafica icon as inline SVG */
html body .site-header .header-nav-grafica-icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;flex:0 0 auto;
  color: currentColor;
}
html body .site-header .header-nav-grafica-svg{
  width:16px;height:16px;display:block;
}
html body .site-header .header-mobile-grafica .header-nav-grafica-svg{width:16px;height:16px;}
