
    /* Popup overlay */
    .region-popup-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 99998;
        justify-content: center;
        align-items: center;
    }

    .region-popup-overlay.active {
        display: flex;
    }

    /* Popup container */
    .region-popup {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
        z-index: 99999;
        max-width: 500px;
        width: 90%;
        max-height: 80vh;
        overflow-y: auto;
    }

    .region-popup.active {
        display: block;
        animation: popupFadeIn 0.3s ease;
    }

    @keyframes popupFadeIn {
        from {
            opacity: 0;
            transform: translate(-50%, -60%);
        }
        to {
            opacity: 1;
            transform: translate(-50%, -50%);
        }
    }

    /* Popup header */
    .region-popup-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px 24px;
        border-bottom: 1px solid #eee;
    }

    .region-popup-header h3 {
        margin: 0;
        font-size: 24px;
        font-weight: 700;
        color: #333;
    }

    .region-popup-close {
        width: 32px;
        height: 32px;
        border: none;
        background: #f5f5f5;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background 0.2s ease;
    }

    .region-popup-close:hover {
        background: #e0e0e0;
    }

    .region-popup-close svg {
        width: 16px;
        height: 16px;
        fill: #666;
    }

    /* Popup body with image */
    .region-popup-body {
        display: flex;
        flex-direction: row;
    }

    .region-popup-image {
        flex-shrink: 0;
        width: 140px;
        min-height: 100%;
        background-image: url('/images/history.jpg');
        background-size: cover;
        background-position: center;
        border-radius: 12px 0 0 0;
    }

    .region-popup-content {
        flex: 1;
        padding: 20px 24px;
    }

    /* Regions list */
    .region-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .region-list li {
        margin: 0;
        padding: 0;
    }

    .region-list-item {
        display: block;
        padding: 10px 12px;
        font-size: 14px;
        color: #333;
        text-decoration: none;
        border-radius: 6px;
        transition: background 0.2s ease, color 0.2s ease;
        cursor: pointer;
    }

    .region-list-item:hover {
        background: #f0f7ff;
        color: #007bff;
    }

    .region-list-item.current {
        font-weight: 700;
        color: #007bff;
        background: #e8f2ff;
    }

    /* Language step */
    .lang-list {
        display: flex;
        gap: 12px;
        margin-top: 8px;
    }

    .lang-list-item {
        flex: 1;
        display: block;
        padding: 14px 12px;
        text-align: center;
        font-size: 16px;
        font-weight: 600;
        color: #333;
        text-decoration: none;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        cursor: pointer;
    }

    .lang-list-item:hover {
        background: #f0f7ff;
        color: #007bff;
        border-color: #007bff;
    }

    .region-popup-back {
        display: none;
        margin-bottom: 12px;
        padding: 0;
        border: none;
        background: none;
        font-size: 14px;
        color: #007bff;
        cursor: pointer;
    }

    .region-popup-back.visible {
        display: inline-block;
    }

    .region-popup-back:hover {
        text-decoration: underline;
    }

    /* Responsive */
    @media (max-width: 600px) {
        .region-popup-body {
            flex-direction: column;
        }

        .region-popup-image {
            width: 100%;
            height: 120px;
            border-radius: 12px 12px 0 0;
        }

        .region-popup {
            width: 95%;
            max-height: 90vh;
        }
    }
