    :root{
      --border:#e5e5e5;
      --text:#111;
      --muted:#555;
      --hover:#f2f2f2;
      --bg:#fff;
      --link:#005FCC;
    }

    *{ box-sizing:border-box; }

    body{
      margin:0;
      padding:0;
      font-family:'Inter', Arial, sans-serif;
      line-height:1.45;
      color:var(--text);
      background:var(--bg);
    }

    /* ===== HEADER STICKY + SHRINK ===== */
    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      background:var(--bg);
      overflow:visible; /* evita clipping dropdown */
    }

    .header-inner{
      padding:14px 20px 0 60px;
    }

    /* Riga superiore (grande): logo + titoli */
    .brand-row{
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      gap:18px;
      padding:10px 0 12px 0;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:18px;
      text-align:left;
    }

    .brand img{
      width:180px;
      height:180px;
      display:block;
      transition:none;
    }

    .titles{
      max-height:200px;
      overflow:hidden;
    }

    .title-main{
      font-weight:600;
      margin:0 0 4px 0;
      line-height:1.2;
    }

    .title-sub{
      font-style:italic;
      margin:0;
      line-height:1.2;
    }

    /* Riga menu: sinistra nav/menu, destra lingua */
    .menu-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:10px 0 10px 0;
    }

    .menu-left{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
    }

    /* Logo piccolo (solo quando shrink) */
    .logo-mini{
      display:none;
      align-items:center;
      text-decoration:none;
      color:inherit;
      flex:0 0 auto;
    }
    .logo-mini img{
      width:34px;
      height:34px;
      display:block;
      transition:none;
    }

    /* Separatore 1px sotto menu */
    .menu-sep{
      border-bottom:1px solid var(--border);
      margin:0;
    }

    /* ===== NAV DESKTOP ===== */
    nav.nav{
      display:flex;
      align-items:center;
      min-width:0;
    }

    .nav ul{
      list-style:none;
      padding:0;
      margin:0;
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
    }

    .nav > ul > li{
      position:relative;
    }

    .nav a,
    .nav button{
      font:inherit;
      color:var(--text);
      background:none;
      border:0;
      padding:8px 10px;
      cursor:pointer;
      text-decoration:none;
      border-radius:0;
      line-height:1.1;
      white-space:nowrap;
    }

    .nav a:hover,
    .nav button:hover{
      background:var(--hover);
    }

    .nav .dropdown-toggle{
      display:inline-flex;
      align-items:center;
      gap:6px;
      user-select:none;
    }

    .caret{
      display:inline-block;
      width:0;
      height:0;
      border-left:5px solid transparent;
      border-right:5px solid transparent;
      border-top:6px solid currentColor;
      transform:translateY(1px);
    }

    /* ===== DROPDOWN DESKTOP (ROBUSTO: position fixed + JS per restare in viewport) ===== */
    .dropdown{
      position:fixed;             /* era absolute */
      top:0; left:0;              /* placeholder: impostati via JS */
      min-width:210px;
      width:max-content;
      max-width:calc(100vw - 32px);
      box-sizing:border-box;

      background:var(--bg);
      border:1px solid #ddd;
      box-shadow:0 10px 24px rgba(0,0,0,.08);
      padding:6px;
      display:none;
      z-index:1100;

      max-height:70vh;
      overflow-y:auto;
      overflow-x:hidden;
    }

    .dropdown a{
      display:block;
      padding:10px 10px;
      white-space:nowrap;
    }

    /* Apertura via hover (solo device con hover) */
    @media (hover:hover){
      .nav li.has-dropdown:hover .dropdown{
        display:block;
      }
    }
    /* Apertura via classe (click/JS) */
    .nav li.has-dropdown.open .dropdown{
      display:block;
    }

    /* ===== LINGUA ===== */
    .lang{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:14px;
      color:var(--text);
      white-space:nowrap;
      flex:0 0 auto;
    }
    .lang a{
      text-decoration:none;
      color:var(--text);
      padding:8px 8px;
    }
    .lang a:hover{ background:var(--hover); }
    .lang .sep{ color:#777; }
    .lang .active{ font-weight:600; }

    /* ===== MENU MOBILE (collassato) ===== */
    .mobile-menu{
      display:none; /* visibile solo su mobile */
      position:relative;
      overflow:visible;
      flex:0 0 auto;
    }

    .mobile-menu button{
      font:inherit;
      color:var(--text);
      background:none;
      border:0;
      padding:8px 10px;
      cursor:pointer;
      text-decoration:none;
      line-height:1.1;
      display:inline-flex;
      align-items:center;
      gap:6px;
      white-space:nowrap;
    }
    .mobile-menu button:hover{
      background:var(--hover);
    }

    /* Dropdown mobile (ROBUSTO: position fixed + JS per restare in viewport) */
    .mobile-dropdown{
      position:fixed;             /* era absolute */
      top:0; left:0;              /* placeholder: impostati via JS */
      right:auto;

      width:max-content;
      min-width:260px;
      max-width:calc(100vw - 32px);
      box-sizing:border-box;

      background:var(--bg);
      border:1px solid #ddd;
      box-shadow:0 10px 24px rgba(0,0,0,.08);
      padding:8px;
      display:none;
      z-index:1200;

      max-height:70vh;
      overflow-y:auto;
      overflow-x:hidden;
    }

    .mobile-menu.open .mobile-dropdown{
      display:block;
    }

    .mobile-dropdown a{
      display:block;
      padding:10px 10px;
      text-decoration:none;
      color:var(--text);

      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .mobile-dropdown a:hover{
      background:var(--hover);
    }

    .dd-title{
      font-size:12px;
      color:var(--muted);
      font-weight:600;
      letter-spacing:.2px;
      padding:10px 10px 4px 10px;
      text-transform:uppercase;

      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    /* ===== CONTENUTO ===== */
    .page{
      padding:26px 20px 0 60px;
    }

    .pdf-wrap{
      display:flex;
      justify-content:center;
      margin:0 0 24px 0;
    }

    .pdf-button{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:14px 22px;
      background:#ffffff;
      color:var(--link);
      text-decoration:none;
      border:1px solid #555;
      border-radius:0;
      font-weight:600;
      font-size:16px;
      transition:background .2s,color .2s,border-color .2s;
    }

    .pdf-button:hover{
      background:#0080FF;
      color:#ffffff;
      border-color:var(--link);
    }

    .pdf-icon{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:38px;
      height:28px;
      border:1px solid currentColor;
      font-size:12px;
      font-weight:600;
      letter-spacing:0.5px;
      line-height:1;
    }

    .pdf-button .en{
      display:block;
      font-style:italic;
      font-weight:400;
      margin-top:2px;
    }

    .two-cols{
      display:flex;
      gap:30px;
      align-items:flex-start;
    }

    .col{
      flex:1 1 520px;
      min-width:0;
    }

    .section-title{
      font-weight:600;
      margin:18px 0 14px 0;
    }

    .line-row{
      display:grid;
      grid-template-columns:40px 1fr;
      column-gap:14px;
      margin-bottom:18px;
      align-items:start;
    }

    .code{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:600;
      font-size:19px;
      color:#ffffff;
      line-height:1;
    }

    .contacts{
      font-weight:600;
      margin:0;
      overflow-wrap:anywhere;
    }

    .it,.en{
      margin:3px 0 0 0;
      display:grid;
      grid-template-columns:170px 1fr;
      column-gap:10px;
      align-items:start;
    }

    .op{ white-space:nowrap; }
    .fr{ word-break:break-word; }
    .en{ font-style:italic; }

    .footer{
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      font-size:12px;
      color:var(--muted);
      margin:40px 0 20px 0;
    }

    .footer p{
      width:100%;
      margin:0;
      text-align:center !important;
    }

    .footer p + p{
      margin-top:4px;
      font-style:italic;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width:1100px){
      .two-cols{ flex-direction:column; }
    }

    @media (max-width:700px){
      .header-inner{ padding:10px 16px 0 16px; }
      .page{ padding:18px 16px 0 16px; }
      .brand img{ width:120px; height:120px; }
      .it,.en{ grid-template-columns:150px 1fr; }

      nav.nav{ display:none; }
      .mobile-menu{ display:block; }

      /* in alto pagina (non scroll): niente logo mini */
      .logo-mini{ display:none; }
    }

    /* ===== SHRINK STATE (scorrendo) ===== */
    .site-header.shrink .brand-row{ display:none; }
    .site-header.shrink .logo-mini{ display:flex; }

    /* desktop shrink: nav visibile */
    .site-header.shrink nav.nav{ display:flex; }
    .site-header.shrink .mobile-menu{ display:none; }

    /* mobile shrink: menu mobile visibile + logo mini */
    @media (max-width:700px){
      .site-header.shrink nav.nav{ display:none; }
      .site-header.shrink .mobile-menu{ display:block; }
      .site-header.shrink .logo-mini{ display:flex; }
    }

    /* ===== COLORI LINEE ===== */
    .m1{ background:#E4002B; }
    .m2{ background:#5C8F2E; }
    .m3{ background:#FFD100; }
    .m4{ background:#273E73; }
    .m5{ background:#9E95C8; }

    .s1{ background:#F03A2E; }
    .s2{ background:#00A878; }
    .s3{ background:#A50034; }
    .s4{ background:#8DC63F; }
    .s5{ background:#F7943D; }
    .s6{ background:#F4D21F; }
    .s7{ background:#E6007E; }
    .s8{ background:#F7B7B2; }
    .s9{ background:#93328E; }
    .s11{ background:#9BB0D9; }
    .s12{ background:#233F3E; }
    .s13{ background:#8C5A13; }
    .s19{ background:#5B1F2E; }

/* ===== PRIVACY & COOKIES ===== */
.page-title{
  text-align:center;
  font-weight:600;
  font-size:30px;
  margin:8px 0 22px 0;
  line-height:1.15;
}

.privacy-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:start;
  max-width:1100px;
  margin:0 auto;
}

.privacy-col{
  border:1px solid var(--border);
  padding:16px 18px;
  background:#fff;
}

.privacy-col p{
  margin:0 0 12px 0;
}
.privacy-col p:last-child{
  margin-bottom:0;
}

.privacy-en{
  font-style:italic;
}

@media (max-width:900px){
  .privacy-cols{
    grid-template-columns:1fr;
  }
}

/* ===== COMING SOON ===== */
.coming{
  text-align:center;
  margin:120px 0 220px 0;
}

.coming-title{
  font-size:32px;
  font-weight:600;
  line-height:1.15;
}

.coming-sub{
  display:block;
  margin-top:12px;
  font-size:22px;
  font-style:italic;
  font-weight:400;
  text-align:center;
}


/* ===== STANDARD PAGE (monolingua) ===== */
.std-title{
  text-align:center;
  font-size:32px;
  font-weight:600;
  line-height:1.15;
  margin:12px 0 22px 0;
}

.std-lead{
  max-width:1100px;
  margin:0 auto 18px auto;
  color:var(--muted);
  text-align:center;
}

.std-jump{
  max-width:1100px;
  margin:0 auto 26px auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}

.std-btn{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  text-decoration:none;
  cursor:pointer;
}

.std-btn:hover{
  background:var(--hover);
}

.std-wrap{
  max-width:1100px;
  margin:0 auto;
}

.std-section{
  padding-top:14px;
  margin-top:22px;
  border-top:1px solid var(--border);
}

.std-subtitle{
  font-weight:600;
  font-size:inherit;
  margin:0 0 10px 0;
}

.std-text p{
  margin:0 0 10px 0;
}

.std-list{
  margin:0 0 12px 0;
  padding-left:18px;
}

.std-kv{
  margin:0 0 14px 0;
  display:grid;
  grid-template-columns:200px 1fr;
  column-gap:14px;
  row-gap:8px;
}

.std-kv .k{
  font-weight:600;
}

@media (max-width:700px){
  .std-kv{
    grid-template-columns:1fr;
  }
}

.std-jump.left{
  justify-content:flex-start;
}
