/* Dedicati: customer portal entry, isolated from the existing site styles. */
nav .nav-in, nav.nav > .sw {
  grid-template-columns: auto minmax(0, 1fr) auto auto auto !important;
  gap: clamp(10px, 1.15vw, 20px) !important;
}
nav .client-access-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  justify-self: end;
  min-height: 42px;
  padding: 10px 13px;
  border: 1px solid #9b7040;
  border-radius: 3px;
  background: #fffaf2;
  color: #76512d;
  font-family: 'Jost', Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .06em;
  text-decoration: none;
  white-space: nowrap;
}
nav .client-access-link svg { width: 17px; height: 17px; flex: 0 0 17px; }
nav .client-access-link:hover { background: #f1e6d7; color: #50351f; }
nav .client-access-link:focus-visible { outline: 2px solid #76512d; outline-offset: 4px; }
@media (max-width: 1100px) {
  nav .nav-in, nav.nav > .sw {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 8px 12px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  nav .nav-logo, nav .brand { grid-area: 1 / 1; }
  nav .lang { grid-area: 1 / 2; justify-self: end; margin: 0 !important; }
  nav .client-access-link { grid-area: 1 / 3; }
  nav .nav-links, nav .menu {
    grid-area: 2 / 1 / 3 / -1;
    display: flex !important;
    min-width: 0;
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    margin: 0;
  }
  nav .nav-cta, nav .nav-action {
    grid-area: 3 / 1 / 4 / -1;
    justify-self: stretch;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
  }
}
@media (max-width: 380px) {
  nav .client-access-link { padding: 9px; gap: 5px; font-size: 10px; }
  nav .nav-in, nav.nav > .sw { column-gap: 8px !important; }
}