 .lang-modal {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(0, 0, 0, .5);
            z-index: 9999;
        }

        .lang-box {
            position: relative;
            background: #fff;
            padding: 28px;
            border-radius: 16px;
            max-width: 560px;
            width: 92%;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
        }

        .lang-title {
            font-weight: 800;
            margin: 0 0 16px;
            font-size: 20px;
        }

        .lang-row {
            display: grid;
            grid-template-columns: 1fr;
            gap: 10px;
        }

        .lang-btn {
            display: flex;
            align-items: center;
            gap: 12px;
            width: 100%;
            padding: 12px 14px;
            border: 1.5px solid #e8e8e8;
            border-radius: 12px;
            text-decoration: none;
            color: inherit;
            transition: all .18s ease;
            background: #fff;
        }

        .lang-btn:hover {
            border-color: #b9c3ff;
            box-shadow: 0 6px 16px rgba(112, 135, 255, .15);
            transform: translateY(-1px);
        }

        .lang-btn:focus-visible {
            outline: 3px solid #b9c3ff;
            outline-offset: 2px;
        }

        .lang-flag {
            width: 28px;
            height: 28px;
            font-size: 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .lang-label {
            font-weight: 700;
        }

        .lang-sub {
            font-size: 12px;
            color: #666;
        }

        .lang-close {
            position: absolute;
            inset-inline-end: 10px;
            top: 8px;
            border: 0;
            background: transparent;
            font-size: 28px;
            line-height: 1;
            cursor: pointer;
            color: #999;
            padding: 4px;
            border-radius: 8px;
        }

        .lang-close:hover {
            color: #666;
            background: #f3f3f3;
        }

        @media (min-width: 520px) {
            .lang-row {
                grid-template-columns: 1fr 1fr 1fr;
            }
        }

        @media (prefers-reduced-motion: reduce) {

            .lang-btn,
            .lang-box {
                transition: none;
            }
        }