/* Force Flag Icon Size - 25px height OVERRIDE */
.language-switcher img.flag-icon,
.language-switcher .flag-icon,
img.flag-icon {
    height: 25px !important;
    width: auto !important;
    max-width: 40px !important;
    min-height: 25px !important;
    object-fit: contain !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Hide text next to flags */
.language-switcher .lang-text {
    display: none !important;
}

/* Ensure container doesn't interfere */
.language-switcher .lang-link {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    padding: 5px !important;
}

/* Position language switcher more to the right */
.navbar-nav.ml-auto {
    margin-left: auto !important;
    padding-left: 40px !important;
}

.navbar-nav.ml-auto .language-switcher-nav {
    margin-left: 20px !important;
}

.language-switcher {
    margin-left: 30px !important;
}

/* Force right positioning */
.navbar-collapse .ml-auto {
    margin-left: auto !important;
    justify-content: flex-end !important;
}

/* Mobile override */
@media (max-width: 768px) {
    .language-switcher img.flag-icon,
    .language-switcher .flag-icon,
    img.flag-icon {
        height: 25px !important;
        max-width: 38px !important;
    }
    
    .language-switcher .lang-link {
        padding: 4px !important;
    }
}