/* Language selection stays visible at every viewport size. */
 .language-switch{position:relative;flex:0 0 auto;border:1px solid #3d536a;border-radius:7px;background:#102131;color:#c0cfdd}
.language-switch summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:88px;padding:10px;list-style:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.03em;line-height:1}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary svg{width:17px;height:17px}
.language-chevron{font-size:16px;transition:transform .15s}
.language-switch[open] .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;top:calc(100% + 9px);right:0;z-index:60;width:210px;max-width:calc(100vw - 32px);padding:6px;border:1px solid #3d536a;border-radius:8px;background:#102131;box-shadow:0 12px 30px #0005}
.language-menu{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto}
.language-menu a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:10px 12px;border-radius:4px;color:#c0cfdd;font-size:14px;font-weight:500;line-height:1.4}
.language-menu a>span:last-child{font-size:11px;opacity:.75}
.language-menu a:hover{color:#fff;background:#1b354e}
.language-menu a[aria-current="page"]{color:#fff;background:#2368a5}
.language-switch summary:focus-visible,.language-menu a:focus-visible{outline:2px solid #9bcaff;outline-offset:3px}
.header-actions { flex: 0 0 auto; }
.header-actions > .button { white-space: nowrap; }
.legal-language-note { color: #acc1d4; font-size: 12px; line-height: 1.6; }
.control-compact { display: none; }
@media (max-width: 1440px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
}
@media (max-width: 720px) {
  .header-actions > .button.small { display: none; }
  .header-actions { gap: 10px; }
  .plan-toolbar .control-full { display: none; }
  .plan-toolbar .control-compact { display: inline; }
  .floor-tabs { gap: 12px; }
  .floor-tabs > button { flex: 1; min-width: 0; white-space: normal; }
  .view-switch {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
  }
  .view-switch > button {
    min-width: 0;
    white-space: normal;
    padding-inline: 6px;
    line-height: 1.4;
  }
}
@media (max-width: 480px) {
  .site-header { padding-inline: 16px; gap: 10px; }
  .site-header .brand { width: clamp(122px, 39vw, 185px); }
}

@media(max-width:720px){main .button{max-width:100%;white-space:normal} .language-switch summary{min-width:84px}}

@media(max-width:360px){html[lang="it"] .hero h1{font-size:46px}}
