/* Localized controls follow the site's typography and palette. */
.site-header { grid-template-columns: auto 1fr auto auto; gap: clamp(.8rem, 2vw, 2rem); }
.header-brand { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.desktop-nav { gap: clamp(1rem, 2vw, 2rem); }
.language-picker { position: relative; font: 500 .8rem/1.3 var(--font-sans); color: inherit; }
.language-picker summary { display: flex; align-items: center; gap: .4rem; min-height: 44px; padding: .4rem .5rem; border: 1px solid transparent; border-radius: 7px; cursor: pointer; list-style: none; transition: background-color 160ms ease, border-color 160ms ease; }
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker[open] summary { background: rgba(127,127,127,.08); border-color: rgba(127,127,127,.2); }
@media (hover: hover) and (pointer: fine) {
.language-picker summary:hover { background: rgba(127,127,127,.08); border-color: rgba(127,127,127,.2); }
}

.language-picker summary svg { width: 12px; height: 12px; fill:none; stroke:currentColor; stroke-width:1.5; transition: transform 180ms ease; }
.language-picker[open] summary svg { transform: rotate(180deg); }
.language-picker nav { position:absolute; top:calc(100% + .35rem); left:0; width:156px; padding:.35rem; border:1px solid #dedbd3; border-radius:10px; background:#FAF9F6; color:#1F2933; box-shadow:0 8px 24px #1f293315; z-index:1000; }
.language-picker[open] nav { animation: language-in 180ms ease-out; }
.language-picker nav a { display:flex; align-items:center; gap:.65rem; min-height:44px; padding:.6rem .75rem; border-radius:6px; text-decoration:none; }
.language-picker nav a[aria-current] { background:#eeece5; }
@media (hover: hover) and (pointer: fine) {
.language-picker nav a:hover { background:#eeece5; }
}

.language-picker :focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@keyframes language-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1100px) {
 .desktop-nav,.nav-contact { display:none; }
 .site-header { grid-template-columns:1fr auto; gap:.6rem; }
 .menu-toggle { display:inline-flex; justify-self:end; }
}
@media(max-width:767px) {
 .header-brand { gap:.3rem; }
 .header-brand .site-name { font-size:.95rem; }
 .language-picker summary { padding-inline:.25rem; gap:.25rem; font-size:.72rem; }
 html[lang="de"] .hero h1, html[lang="cs"] .hero h1 { font-size:clamp(2.5rem,10vw,4rem); }
 .hero .role { max-width:100%; }
 .menu-overlay a { font-size:clamp(2.25rem,5.7vh,4.5rem); }
 .services__contact { max-width:100%; white-space:normal; line-height:1.6; }
}
@media(prefers-reduced-motion:reduce) {
 .language-picker[open] nav { animation:none; }
 .language-picker summary,.language-picker summary svg { transition:none; }
}
/* Adapted from S8VR Shared.tsx compactLanguage and LanguageLabel.css. */
.language-picker summary { justify-content:center; width:76px; min-height:36px; gap:.375rem; border:1px solid rgba(31,41,51,.15); border-radius:999px; padding:.45rem .6rem; }
.language-picker summary .language-globe { width:14px; height:14px; stroke-width:1.7; transition:transform 200ms cubic-bezier(.23,1,.32,1); }
.language-picker[open] summary .language-globe { transform:rotate(180deg); }
.language-label { display:inline-block; }
.language-picker[open] .language-label { animation:language-label-in 240ms cubic-bezier(.22,1,.36,1); }
@keyframes language-label-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:767px) { .language-picker summary { width:64px; min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .language-picker summary .language-globe { transition:none; } .language-picker[open] .language-label { animation:none; } }
.language-picker summary { width:88px; gap:.4rem; align-items:center; }
.language-picker summary .language-globe { flex:0 0 16px; width:16px; height:16px; stroke-width:2; }
.language-picker .language-label { font:600 .75rem/1 var(--font-sans); }
.language-picker summary .language-chevron { flex:0 0 10px; width:10px; height:10px; stroke-width:1.5; }
.language-picker[open] summary .language-chevron { transform:rotate(180deg); }
@media(max-width:767px) { .language-picker summary { width:76px; gap:.3rem; } }
/* Group language choice with navigation utilities, leaving the name clear. */
.site-header > .site-name { grid-column:1; }
.site-header > .desktop-nav { grid-column:2; }
.site-header > .language-picker { grid-column:3; justify-self:end; }
.site-header > .nav-contact { grid-column:4; }
.language-picker nav { left:auto; right:0; }
@media(max-width:1100px) {
 .site-header { grid-template-columns:minmax(0,1fr) auto auto; }
 .site-header > .language-picker { grid-column:2; }
 .site-header > .menu-toggle { grid-column:3; }
}
@media(max-width:767px) { .site-header > .site-name { font-size:.95rem; } }
