/* Language navigation: local static pages, no tracking or automatic redirects. */
.language-switch { position:relative; color:#e5e5e5; font-size:12px; letter-spacing:.025em; }
.language-switch summary { display:flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:6px 11px; border:1px solid #4a4a4a; border-radius:24px; cursor:pointer; list-style:none; user-select:none; }
.language-switch summary::-webkit-details-marker { display:none; }
.language-switch summary::marker { content:''; }
.language-switch summary svg { width:17px; height:17px; }
.language-switch summary:hover,.language-switch[open] summary { background:#1c1c1c; border-color:#aaa; }
.language-switch summary:focus-visible { outline:2px solid white; outline-offset:3px; }
.language-chevron { font-size:17px; line-height:1; transform:translateY(-2px); }
.language-options { position:absolute; top:calc(100% + 8px); right:0; width:225px; max-width:calc(100vw - 32px); padding:8px; background:#111; border:1px solid #505050; border-radius:13px; box-shadow:0 12px 32px #0006; }
.language-options a { display:flex; align-items:center; justify-content:space-between; min-height:46px; padding:10px 12px; border-radius:7px; gap:20px; font-size:14px; letter-spacing:0; white-space:nowrap; }
.language-options a:hover { background:#242424; color:white; }
.language-options a[aria-current=true] { background:#eee; color:#111; }
.language-code { font-size:11px; opacity:.6; }
.footer-languages { display:flex; align-items:center; flex-wrap:wrap; gap:4px 24px; padding-top:15px; margin-top:10px; border-top:1px solid #303030; font-size:12px; color:#aaa; }
.footer-languages a { min-height:40px; display:inline-flex; align-items:center; }
.footer-languages a:hover,.footer-languages [aria-current=true] { color:white; text-decoration:underline; text-underline-offset:5px; }
.contact-languages { border-bottom:1px solid #d4d4d0; padding-block:64px; }
.contact-languages h2 { font-size:clamp(28px,3.1vw,42px); }
.language-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; margin-top:30px; }
.language-contact-grid article { border-top:1px solid #ccc; padding-top:22px; min-width:0; }
.language-contact-grid h3 { font-size:22px; line-height:1.3; margin-bottom:12px; }
.language-contact-grid p { color:#626262; font-size:17px; line-height:1.75; text-align:left; }
html:not([lang=pl]) .main-nav { gap:5px 18px; }
html:not([lang=pl]) .main-nav>a { white-space:normal; line-height:1.4; }
html:not([lang=pl]) .main-nav .panel-link { flex-shrink:0; }
html:not([lang=pl]) .hero-copy h1 { font-size:clamp(46px,5.8vw,84px); letter-spacing:-.045em; }
html:not([lang=pl]) h1,html:not([lang=pl]) h2,html:not([lang=pl]) h3 { overflow-wrap:break-word; }
html:not([lang=pl]) .hero-identity { flex-basis:320px; }
html:not([lang=pl]) .service-row h3 { white-space:normal; }
html:not([lang=pl]) .demo-account { overflow-wrap:break-word; }
html:not([lang=pl]) .demo-tabs button { white-space:normal; line-height:1.4; }
html:not([lang=pl]) .demo-caption { flex-wrap:wrap; }
@media (max-width:1100px) and (min-width:761px) {
 html:not([lang=pl]) .main-nav { gap:3px 15px; font-size:11px; }
}
@media (max-width:760px) {
  .footer-languages { gap:0 22px; font-size:12px; }
 .contact-languages { padding-block:44px; }
 .language-contact-grid { grid-template-columns:1fr; gap:26px; }
 .language-contact-grid h3 { font-size:21px; }
 .language-contact-grid p { font-size:16px; }
 html:not([lang=pl]) .hero-copy h1 { font-size:clamp(33px,7.9vw,58px); line-height:1.12; }
 html:not([lang=pl]) .page-intro h1 { font-size:clamp(33px,8.4vw,58px); line-height:1.13; }
 html:not([lang=pl]) .main-nav { gap:3px 15px; font-size:12px; }
 html:not([lang=pl]) .main-nav .panel-link { font-size:12px; }
 html:not([lang=pl]) .copy-justified { text-align:left; text-align-last:left; }
 html:not([lang=pl]) .profile-tags { flex-wrap:wrap; }
 html:not([lang=pl]) .quick-note { max-width:calc(100% - 36px); }
 html:not([lang=pl]) .demo-stats span { overflow-wrap:break-word; }
}
@media print { .language-switch,.footer-languages { display:none!important; } }

/* ML2: language choice follows the client-portal button, before the logo.
   Both controls stay together on desktop; on mobile the same chooser is placed
   in the masthead so it remains available even when navigation is collapsed. */
.site-header .masthead { position:relative; padding-top:30px; }
.main-nav .nav-actions {
 display:inline-flex; align-items:center; gap:12px; flex:0 0 auto;
}
.main-nav .nav-actions > .panel-link {
 display:inline-flex; align-items:center; justify-content:center; gap:10px;
 min-height:44px; margin-top:0; white-space:nowrap; line-height:1.4;
}
.main-nav .nav-actions > .panel-link:hover,
.main-nav .nav-actions > .panel-link[aria-current=page] { color:#fff; }
.language-switch { flex:0 0 auto; z-index:90; }
.language-switch summary { min-height:44px; }
.main-nav .language-options a { min-height:46px; }
@media (min-width:761px) {
 .main-nav { min-width:0; }
 .language-options { right:0; }
}
@media (max-width:760px) {
 .site-header .masthead {
  padding-top:16px; grid-template-columns:auto max-content minmax(0,1fr);
  column-gap:12px;
 }
 .masthead > .language-switch { grid-column:2; grid-row:1; justify-self:start; }
 .masthead > .brand { grid-column:3; grid-row:1; max-width:100%; }
 .masthead > .main-nav { grid-column:1/-1; grid-row:2; }
 .main-nav .nav-actions { grid-column:1/-1; flex-wrap:wrap; }
 .main-nav .nav-actions > .panel-link { margin-top:0; }
 .language-options { right:auto; left:0; }
 .language-switch summary { gap:6px; padding-inline:10px; }
}
@media (max-width:420px) {
 .site-header .masthead { grid-template-columns:44px max-content minmax(0,1fr); gap:12px 10px; }
 .js .masthead .menu-toggle { width:44px; padding:10px; min-height:44px; }
 .js .masthead .menu-toggle > span {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
 }
 .masthead > .language-switch .language-options {
  width:218px; left:-54px; right:auto; max-width:calc(100vw - 42px);
 }
}

/* International phone labels: keep the full number together on narrow screens. */
html:not([lang="pl"]) .button.phone-label-button {
 max-width:100%; white-space:normal;
}
html:not([lang="pl"]) .phone-label-button .phone-button-copy {
 min-width:0;
}
html:not([lang="pl"]) .phone-label-button .phone-button-number {
 white-space:nowrap;
}
