.mps-flag {
    display: block;
    width: 1.7rem;
    height: 1.15rem;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(0,0,0,.18);
    flex: none;
    object-fit: cover;
}
.lang-gate-flags .mps-flag { width: 4.6rem; height: 3.05rem; border-radius: 8px; box-shadow: 0 8px 22px rgba(0,0,0,.28); }
.mps-lang { position: relative; }
.mps-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    cursor: pointer;
    padding: .28rem .4rem;
    border-radius: 10px;
    color: inherit;
    min-height: 38px;
}
.mps-lang-btn:hover { background: rgba(255,255,255,.2); }
.mps-lang-caret {
    width: 0; height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: .75;
}
.mps-lang-menu {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + .4rem);
    background: #fff;
    color: #16211c;
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(0,0,0,.28);
    min-width: 11.5rem;
    padding: .35rem;
    z-index: 80;
}
.mps-lang.is-open .mps-lang-menu { display: block; }
.mps-lang-menu a {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .55rem .65rem;
    border-radius: 9px;
    text-decoration: none;
    color: inherit;
    font-weight: 700;
    font-size: .92rem;
}
.mps-lang-menu a:hover, .mps-lang-menu a.is-on { background: #ecfdf5; }

.mps-lang-auth {
    position: absolute;
    top: calc(.65rem + env(safe-area-inset-top, 0));
    right: .85rem;
    z-index: 40;
}
body.register-body { position: relative; }

.mps-lang-settings .mps-lang-btn {
    background: #f4faf7;
    border: 1.5px solid #d1fae5;
    color: #16211c;
}
.lang-settings-row {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.lang-settings-row a {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem .9rem;
    border-radius: 14px;
    border: 1.5px solid #e3e9e5;
    background: #fff;
    color: #16211c;
    font-weight: 700;
    text-decoration: none;
}
.lang-settings-row a.is-on {
    border-color: #10b981;
    background: #ecfdf5;
    box-shadow: 0 0 0 4px rgba(16,185,129,.16);
}

.lang-gate {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: center;
    padding: 1.4rem;
    background:
        radial-gradient(900px 500px at 90% -10%, rgba(52, 211, 153, .5), transparent 60%),
        radial-gradient(700px 450px at -10% 100%, rgba(245, 158, 11, .28), transparent 60%),
        #0b3d2e;
}
.lang-gate-card {
    text-align: center;
    max-width: 32rem;
    color: #ecf3ef;
}
.lang-gate-brand { font-weight: 800; font-size: 1.2rem; margin: 0 0 .8rem; }
.lang-gate-card h1 { margin: 0 0 .5rem; font-size: clamp(1.35rem, 4vw, 1.85rem); letter-spacing: -.02em; }
.lang-gate-hint { margin: 0 0 1.5rem; color: #b7c9c0; }
.lang-gate-flags {
    display: flex;
    justify-content: center;
    gap: 1.15rem;
    flex-wrap: wrap;
}
.lang-gate-flags a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .55rem;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    min-width: 5.4rem;
}
.lang-gate-flags a:hover { transform: translateY(-2px); }

.legal-nav .mps-lang { margin-right: .15rem; }
.lp-nav-links .mps-lang { margin-left: .15rem; }
