/* Language choices share the header's typography, surfaces and spectral feedback. */
.siteLanguageSwitch {
    display:inline-flex; align-items:center; gap:3px; color:inherit; white-space:nowrap;
}
.siteLanguageSwitch > button {
    display:inline-grid; place-items:center; min-width:26px; min-height:44px;
    margin:0; padding:0 3px; border:0; background:none; color:inherit;
    font:400 11px/1 "Bricolage Grotesque",Arial,sans-serif;
    letter-spacing:.035em; cursor:pointer; opacity:.55;
}
.siteLanguageSwitch > button[aria-pressed="true"] {
    opacity:1; text-decoration:underline; text-underline-offset:5px;
}
.siteLanguageSwitch > button:hover { opacity:1; }
.siteLanguageSwitch > button:focus-visible { outline:1px solid currentColor !important; outline-offset:0; }
.siteLanguageSwitch > span { opacity:.35; font-size:10px; }
.footer .siteLanguageSwitch { margin-bottom:10px; }
.siteLanguageMobile { display:none; }
.header .siteLanguageItem {
    position:relative; color:var(--vernissage-white-text,#f3f3f1);
    --language-spectrum:linear-gradient(135deg,#104b7b,#ee2229 34%,#ac8844 67%,#f1b418);
}
.header .siteLanguageCompact {
    display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
    width:44px; min-width:44px; height:44px; min-height:44px;
    margin:0; padding:0; border:0; border-radius:0;
    background:none; color:inherit; cursor:pointer;
}
.header .siteLanguageCompact:focus-visible { outline:1px solid currentColor !important; outline-offset:0; }
.header .siteLanguageFlag {
    display:block; flex:none; width:22px; height:22px; border-radius:50%;
    background-position:center; background-size:cover; background-repeat:no-repeat;
    box-shadow:0 0 0 .5px #ffffff26; pointer-events:none;
    filter:grayscale(1); opacity:.8;
    transition:filter 160ms ease,opacity 160ms ease,transform 160ms ease;
}
.header .siteLanguageFlag[data-site-language-flag="de"] { background-image:url('../img/flag-de.svg'); }
.header .siteLanguageFlag[data-site-language-flag="en"] { background-image:url('../img/flag-en.svg'); }
.header .siteLanguageCompact .siteLanguageFlag { transform:scale(.86); }
.header .siteLanguageCompact:is(:hover,:focus-visible,:active,[aria-expanded="true"]) .siteLanguageFlag {
    filter:none; opacity:1; transform:scale(1.08);
}
.header .siteLanguageItem:has(.siteLanguageCompact[aria-expanded="true"]) { z-index:40; }
.header .siteLanguagePopover {
    position:absolute; z-index:30; top:calc(100% + 11px); right:0;
    box-sizing:border-box; width:174px; padding:12px 18px;
    color:var(--vernissage-white-text,#f3f3f1);
    background:radial-gradient(ellipse at 0 0,#ffffff07,transparent 65%),#141414;
    border:1px solid #ffffff29; border-radius:3px;
    box-shadow:0 3px 8px #0004,0 20px 48px #0006;
    text-align:right;
}
.header .siteLanguagePopover[hidden] { display:none; }
.header .siteLanguagePopover:not([hidden]) { display:block; visibility:visible; pointer-events:auto; }
.header .siteLanguagePopover::before {
    content:""; position:absolute; left:0; right:0; top:-11px; height:11px;
}
.header .siteLanguagePopover__heading {
    margin:0 0 12px; padding:0; color:inherit;
    font:400 24px/1.15 var(--vernissage-font-brand,"Bricolage Grotesque"),sans-serif;
    letter-spacing:0; text-transform:none;
}
.header .siteLanguagePopover > button {
    position:relative; z-index:1; display:flex; align-items:center; gap:14px;
    box-sizing:border-box; width:100%; height:44px; min-height:44px; margin:0; padding:0;
    border:0; background:none; color:#bdbdb8; text-align:right;
    cursor:pointer; pointer-events:auto;
    font:400 14px/1.4 "Bricolage Grotesque",Arial,sans-serif; letter-spacing:0;
}
.header .siteLanguagePopover > button[aria-pressed="true"] { color:var(--vernissage-white-text,#f3f3f1); }
.header .siteLanguagePopover > button > [lang] { position:relative; margin-left:auto; }
.header .siteLanguagePopover > button[aria-pressed="true"] > [lang]::after {
    content:""; position:absolute; left:0; right:0; bottom:-5px; height:1px;
    background:var(--language-spectrum);
}
.header .siteLanguagePopover > button:is(:hover,:focus-visible) > [lang] {
    background:var(--language-spectrum); background-clip:text; -webkit-background-clip:text;
    color:transparent; -webkit-text-fill-color:transparent;
}
.header .siteLanguagePopover > button:is(:hover,:focus-visible,:active,[aria-pressed="true"]) .siteLanguageFlag {
    filter:none; opacity:1;
}
.header .siteLanguagePopover > button:focus-visible { outline:1px solid currentColor !important; outline-offset:2px; }
@media(min-width:801px) {
    html.is-header-nav-compact-active .header .navPages-inner > .navPages-headerTools:has(> .siteLanguageItem) {
        --header-tool-hit:44px;
        grid-template-columns:repeat(4,var(--header-tool-hit)); grid-template-rows:66px;
        grid-auto-flow:column; gap:10px; right:48px;
        width:max-content; align-items:center; overflow:visible;
    }
    html.is-header-nav-compact-active .header .navPages-headerTools > :is(.navPages-headerTools-search,.navUser-item--cart,.navUser-item--account,.siteLanguageItem) {
        grid-row:1; align-self:center; justify-self:center; box-sizing:border-box;
        margin:0; padding:0; width:44px; min-width:44px; max-width:44px; height:44px;
    }
    html.is-header-nav-compact-active .header .navPages-headerTools > .navPages-headerTools-search { grid-column:1; }
    html.is-header-nav-compact-active .header .navPages-headerTools > .navUser-item--cart.is-header-nav-compact { grid-column:2; }
    html.is-header-nav-compact-active .header .navPages-headerTools > .navUser-item--account.is-header-nav-compact { grid-column:3; }
    html.is-header-nav-compact-active .header .navPages-headerTools > .siteLanguageItem { grid-column:4; display:flex; align-items:center; overflow:visible; }
    html.is-header-nav-compact-active .header .navPages-headerTools :is([data-cart-dropdown-toggle],[data-account-dropdown-toggle],[data-nav-bar-search-toggle],.siteLanguageCompact) {
        display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
        width:44px !important; min-width:44px !important; max-width:44px !important;
        height:44px !important; min-height:44px !important; padding:0; margin:0;
    }
    html.is-header-nav-compact-active .header .navPages-headerTools [data-nav-bar-search].is-header-nav-compact {
        grid-template-columns:0fr 44px;
        width:44px !important; min-width:44px !important; max-width:44px !important;
        height:44px !important; max-height:44px !important;
    }
    html.is-header-nav-compact-active .header .navPages-headerTools [data-nav-bar-search].is-open .navPages-barSearch-panel { right:44px; }
}
@media(min-width:801px) and (max-width:1100px) {
    html.is-header-nav-compact-active .header .navPages-inner > .navPages-headerTools:has(> .siteLanguageItem) { gap:4px; right:24px; }
}
@media(max-width:800px) {
    .header .navPages-headerTools > .siteLanguageItem { display:none; }
    .siteLanguageMobile { display:flex; align-items:center; justify-content:space-between; margin:20px 0 0; padding-top:14px; border-top:1px solid currentColor; }
    .siteLanguageMobile__label { font:400 12px/1.4 "Bricolage Grotesque",Arial,sans-serif; opacity:.65; }
    .siteLanguageMobile .siteLanguageSwitch > button { font-size:13px; min-width:36px; }
}
@media(prefers-reduced-motion:reduce) { .header .siteLanguageFlag { transition:none; } }
