/* Language Toggle Styles */
#langToggle {
    font-size: 0.9rem;
    padding: 0.25rem 0.5rem;
}

#langToggle .fas {
    font-size: 0.85rem;
}

.lang-option {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    transition: background-color 0.2s ease;
}

.lang-option:hover {
    background-color: #f8f9fa;
}

.lang-option img {
    width: 20px;
    height: auto;
    margin-right: 0.5rem;
    border-radius: 2px;
}

/* Language transition effects */
[data-translate] {
    transition: opacity 0.2s ease;
}

.lang-switching [data-translate] {
    opacity: 0.7;
}

/* Mobile language toggle adjustments */
@media (max-width: 991px) {
    #langToggle {
        font-size: 0.95rem;
        padding: 0.5rem 1rem;
    }
    
    .navbar-nav .dropdown-menu {
        border: none;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
}

/* Language flag icons */
.lang-flag {
    width: 20px;
    height: 15px;
    display: inline-block;
    margin-right: 0.5rem;
    border-radius: 2px;
    background-size: cover;
    background-position: center;
}

.lang-flag.vi {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyMCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE1IiBmaWxsPSIjREEwMjBFIi8+Cjxwb2x5Z29uIHBvaW50cz0iMTAsNS41IDExLjE4LDguODIgMTQuNzAsOC44MiAxMS45MSwxMS4xOCAxMy4wOSwxNC41IDEwLDEyLjE4IDYuOTEsMTQuNSA4LjA5LDExLjE4IDUuMyw4LjgyIDguODIsOC44MiIgZmlsbD0iI0ZGRkYwMCIvPgo8L3N2Zz4K');
}

.lang-flag.en {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyMCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE1IiBmaWxsPSIjMDEyMTY5Ii8+CjxwYXRoIGQ9Ik0wIDBoMjB2MUgweiIgZmlsbD0iI0ZGRiIvPgo8cGF0aCBkPSJNMCAyaDIwdjFIMHoiIGZpbGw9IiNGRkYiLz4KPHA+PC9wPgo8L3N2Zz4K');
}

/* Smooth language switching animation */
.page-transition {
    transition: opacity 0.3s ease;
}

.page-transition.switching {
    opacity: 0.8;
}

/* Language indicator in top bar */
.top-bar .lang-indicator {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
    margin-left: 1rem;
}

.top-bar .lang-indicator:hover {
    color: #fff;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .lang-option {
        padding: 0.75rem 1rem;
        font-size: 0.95rem;
    }
    
    .lang-option img {
        width: 18px;
    }
}

/* Loading state for language switching */
.lang-loading {
    position: relative;
}

.lang-loading::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

/* Accessibility improvements */
.lang-option:focus {
    outline: 2px solid #007bff;
    outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
    [data-translate],
    .page-transition,
    .lang-option {
        transition: none !important;
    }
}