.language-switch{
    position:relative;
    display:inline-flex;
    align-items:center;
    z-index:95;
}

/* =========================================================
   LANGUAGE TRIGGER — GLASSMORPHISM
   ========================================================= */

.language-trigger{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:8px 11px;
    border:1px solid rgba(109,40,217,.16);
    border-radius:12px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.72),
            rgba(255,255,255,.48)
        );
    color:#3b0764;
    font:inherit;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
    backdrop-filter:blur(16px) saturate(140%);
    -webkit-backdrop-filter:blur(16px) saturate(140%);
    box-shadow:
        0 8px 22px rgba(76,29,149,.08),
        inset 0 1px 0 rgba(255,255,255,.82);
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease,
        background .16s ease,
        color .16s ease;
}

.language-trigger:hover{
    transform:translateY(-1px);
    border-color:rgba(139,92,246,.34);
    background:rgba(255,255,255,.78);
    color:#5b21b6;
    box-shadow:
        0 12px 26px rgba(76,29,149,.12),
        inset 0 1px 0 rgba(255,255,255,.88);
}

.language-trigger:active{
    transform:translateY(0);
}

.language-trigger:focus-visible{
    outline:0;
    border-color:#8b5cf6;
    box-shadow:
        0 0 0 4px rgba(124,58,237,.12),
        0 10px 24px rgba(76,29,149,.10);
}

.language-globe{
    flex:0 0 auto;
    transition:transform .2s ease;
}

.language-trigger:hover .language-globe{
    transform:rotate(8deg) scale(1.04);
}

.language-current{
    min-width:22px;
    letter-spacing:.035em;
}

.language-chevron{
    transition:transform .18s ease;
}

.language-switch.open .language-chevron{
    transform:rotate(180deg);
}

/* =========================================================
   LANGUAGE MENU — GLASSMORPHISM
   ========================================================= */

.language-menu{
    position:absolute;
    right:0;
    top:calc(100% + 9px);
    width:245px;
    padding:7px;
    border:1px solid rgba(255,255,255,.76);
    border-radius:16px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.82),
            rgba(255,255,255,.62)
        );
    backdrop-filter:blur(24px) saturate(145%);
    -webkit-backdrop-filter:blur(24px) saturate(145%);
    box-shadow:
        0 22px 55px rgba(54,34,79,.16),
        inset 0 1px 0 rgba(255,255,255,.88);
    transform-origin:top right;
    animation:rp-language-pop .16s ease;
}

@keyframes rp-language-pop{
    from{
        opacity:0;
        transform:translateY(-5px) scale(.98);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

.language-menu-head{
    padding:7px 9px 6px;
    color:#7a7083;
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.075em;
}

.language-menu button{
    width:100%;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 18px;
    align-items:center;
    gap:10px;
    padding:10px;
    border:1px solid transparent;
    border-radius:11px;
    background:transparent;
    color:#1b1520;
    text-align:left;
    cursor:pointer;
    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.language-menu button:hover{
    transform:translateX(2px);
    border-color:rgba(139,92,246,.18);
    background:rgba(243,232,255,.46);
}

.language-menu button[aria-checked="true"]{
    border-color:rgba(109,40,217,.22);
    background:rgba(243,232,255,.70);
    color:#5b21b6;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.language-code{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(243,232,255,.74);
    color:#5b21b6;
    font-size:11px;
    font-weight:900;
    transition:
        background .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}

.language-menu button[aria-checked="true"] .language-code{
    background:linear-gradient(135deg,#3b0764,#6d28d9 58%,#8b5cf6);
    color:#fff;
    box-shadow:0 7px 16px rgba(76,29,149,.18);
}

.language-copy strong,
.language-copy small{
    display:block;
}

.language-copy strong{
    color:#241b2a;
    font-size:12px;
}

.language-copy small{
    margin-top:2px;
    color:#7c7385;
    font-size:9px;
}

.lang-check{
    opacity:0;
    color:#6d28d9;
    font-size:15px;
    font-weight:900;
}

.language-menu button[aria-checked="true"] .lang-check{
    opacity:1;
}

/* =========================================================
   SILENT TRANSLATION
   Translation continues working, but the progress/toast UI
   is intentionally never shown.
   ========================================================= */

.translation-toast,
.translation-spinner,
[data-translation-toast],
[data-translation-spinner]{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/* =========================================================
   PUNJABI TYPOGRAPHY
   ========================================================= */

html[lang="pa"] body{
    font-family:
        "Noto Sans Gurmukhi",
        "Raavi",
        "Arial Unicode MS",
        system-ui,
        sans-serif;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:780px){
    .main-nav .language-switch{
        width:100%;
        margin:3px 0;
    }

    .language-trigger{
        width:100%;
        min-height:44px;
        justify-content:flex-start;
        padding:9px 11px;
    }

    .language-trigger .language-chevron{
        margin-left:auto;
    }

    .language-menu{
        position:static;
        width:100%;
        margin-top:6px;
        border-radius:13px;
        box-shadow:
            0 10px 28px rgba(54,34,79,.10),
            inset 0 1px 0 rgba(255,255,255,.86);
        animation:none;
    }
}

@media(max-width:420px){
    .language-menu{
        padding:5px;
    }

    .language-menu button{
        grid-template-columns:34px minmax(0,1fr) 18px;
        padding:9px;
    }

    .language-trigger{
        border-radius:11px;
    }
}

/* =========================================================
   FALLBACK / ACCESSIBILITY
   ========================================================= */

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .language-trigger,
    .language-menu{
        background:rgba(255,255,255,.96);
    }
}

@media(prefers-reduced-motion:reduce){
    .language-trigger,
    .language-globe,
    .language-chevron,
    .language-menu,
    .language-menu button{
        transition:none !important;
        animation:none !important;
    }
}
