.language-switch {
  position: fixed;
  top: 14px;
  right: 12px;
  z-index: 60;
  color: #062f49;
}
.language-switch summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-width: 66px;
  min-height: 44px;
  padding: .4rem .5rem;
  border: 1px solid #a8b4b8;
  border-radius: 6px;
  background: #fff;
  color: #062f49;
  box-shadow: 0 3px 12px #062f4914;
  font-size: .8rem;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}
.language-switch summary::-webkit-details-marker { display: none; }
.language-switch .language-flag {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 18px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px #062f4926;
}
.language-switch nav {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  display: grid;
  width: 178px;
  padding: .35rem;
  border: 1px solid #a8b4b8;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 24px #062f4926;
}
.language-switch a {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 44px;
  padding: .65rem .7rem;
  color: #062f49;
  font-size: .92rem;
  text-decoration: none;
}
.language-switch a:hover,
.language-switch a[aria-current="true"] { background: #edf7f8; }
.language-switch a[aria-current="true"] { font-weight: 750; }
.language-switch :focus-visible { outline: 3px solid #0a4567; outline-offset: 2px; }
html:not([lang="it"]) .hero-copy,
html:not([lang="it"]) .hero-request-card { min-width: 0; }
html:not([lang="it"]) h1,
html:not([lang="it"]) h2,
html:not([lang="it"]) h3 { overflow-wrap: anywhere; hyphens: auto; }
.site-nav .nav-actions { margin-left: auto; }
/* The side control fits outside the 1220px content column on wide screens. */
@media (min-width: 1400px) {
  .language-switch { top: 50%; right: 16px; transform: translateY(-50%); }
  .language-switch summary { flex-direction: column; gap: .25rem; min-width: 52px; min-height: 64px; }
  .language-switch summary .language-flag { flex: none; }
  .language-switch nav { right: calc(100% + 10px); top: 50%; transform: translateY(-50%); }
}
/* On smaller screens reserve header space, keeping the control off the forms. */
@media (max-width: 1399px) {
  .site-nav { padding-right: 94px; gap: .75rem; }
}
@media (min-width: 860px) and (max-width: 1150px) {
  .site-nav { flex-wrap: wrap; }
  .site-nav .nav-actions { order: 3; width: 100%; justify-content: center; }
}
@media (max-width: 859px) {
  .site-nav .nav-brand { min-width: 0; max-width: none; }
  .site-nav .nav-pill { position: static; transform: none; margin-left: auto; flex: 0 0 auto; }
}
@media (max-width: 480px) {
  .language-switch { top: 13px; right: 8px; }
  .language-switch summary { min-width: 62px; gap: .3rem; padding: .35rem; }
  .site-nav { gap: .4rem; padding-right: 78px; }
  .site-nav .brand-logo:not(.brand-logo-horizontal) { width: 38px; height: 38px; }
  .site-nav .nav-brand { gap: .4rem; }
  .site-nav .nav-brand strong { font-size: 1.05rem; }
  .site-nav .nav-brand small { max-width: 128px; font-size: .45rem; }
  .site-nav .nav-pill { min-width: 0; padding: .65rem .6rem; font-size: .72rem; }
}
@media (max-width: 359px) {
  .site-nav .nav-brand strong { white-space: normal; overflow: visible; line-height: 1.05; }
  .site-nav .brand-name > em { display: block; }
}
