/* Language Selector Styles - Great Sanatan Website */

/* Multi-language Font Support */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300;400;500;600;700&family=Noto+Sans+Devanagari:wght@300;400;500;600;700&family=Noto+Sans+Bengali:wght@300;400;500;600;700&family=Noto+Sans+Tamil:wght@300;400;500;600;700&family=Noto+Sans+Telugu:wght@300;400;500;600;700&family=Noto+Sans+Kannada:wght@300;400;500;600;700&family=Noto+Sans+Malayalam:wght@300;400;500;600;700&family=Noto+Sans+Oriya:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;600;700&family=Noto+Sans+Hebrew:wght@300;400;500;600;700&display=swap');

/* Functional Language Selector - Primary Implementation */
.language-selector-functional {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-left: 1rem !important;
    background: rgba(255, 102, 0, 0.9) !important;
    color: white !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: 2px solid rgba(255, 255, 255, 0.8) !important;
    position: relative !important;
    z-index: 9999 !important;
    backdrop-filter: blur(10px) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(255, 102, 0, 0.4) !important;
    min-width: 130px !important;
    text-align: center !important;
    transform: none !important;
    font-family: 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Oriya', 'Noto Sans SC', 'Noto Sans Hebrew', 'Poppins', 'Arial Unicode MS', 'Lucida Sans Unicode', sans-serif !important;
}

.language-selector-functional:hover {
    background: rgba(255, 68, 0, 1) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(255, 102, 0, 0.6) !important;
}

.language-selector-functional .lang-display {
    color: white !important;
    font-weight: 500 !important;
    display: block !important;
    font-family: inherit !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.4 !important;
}

/* Functional Language Dropdown */
.lang-dropdown-functional {
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-width: 240px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    display: none;
    z-index: 10001;
    margin-top: 4px;
    max-height: 350px;
    overflow-y: auto;
    font-family: 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Oriya', 'Noto Sans SC', 'Noto Sans Hebrew', 'Poppins', 'Arial Unicode MS', 'Lucida Sans Unicode', sans-serif;
}

.lang-option-func {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    cursor: pointer;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.2s ease;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    min-height: 44px;
}

.lang-option-func:last-child {
    border-bottom: none;
}

.lang-option-func:hover {
    background: #f8fafc;
    color: #ff6600;
}

.lang-option-func span:first-child {
    font-size: 1.3em;
    flex-shrink: 0;
    width: 24px;
    text-align: center;
}

.lang-option-func span:nth-child(2) {
    font-weight: 500;
    min-width: 100px;
    flex-grow: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.3;
}

.lang-option-func span:last-child {
    color: #64748b;
    margin-left: auto;
    font-size: 11px;
    flex-shrink: 0;
    font-family: 'Poppins', sans-serif;
    min-width: 50px;
    text-align: right;
}

/* RTL Support */
[dir="rtl"] .language-selector-functional {
    margin-left: 0;
    margin-right: 1rem;
}

[dir="rtl"] .lang-dropdown-functional {
    left: auto;
    right: 0;
}

[dir="rtl"] .lang-option-func span:last-child {
    margin-left: 0;
    margin-right: auto;
}

[dir="rtl"] .lang-option-func {
    direction: rtl;
    text-align: right;
}

[dir="rtl"] .lang-option-func span:nth-child(2) {
    text-align: right;
}

/* RTL language body support */
body.rtl-language {
    direction: rtl;
}

body.rtl-language .language-selector-functional {
    margin-left: 0;
    margin-right: 1rem;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .language-selector-functional {
        margin-left: 0.5rem;
        min-width: 120px;
        font-size: 13px;
        padding: 8px 12px;
    }
    
    .lang-dropdown-functional {
        min-width: 220px;
        right: 0;
        left: auto;
        max-height: 280px;
    }
    
    .lang-option-func {
        padding: 10px 14px;
        min-height: 40px;
    }
    
    .lang-option-func span:nth-child(2) {
        min-width: 85px;
        font-size: 13px;
    }
    
    .lang-option-func span:last-child {
        font-size: 10px;
        min-width: 45px;
    }
}

@media (max-width: 480px) {
    .language-selector-functional {
        position: fixed;
        top: 1rem;
        right: 1rem;
        z-index: 9999;
        margin-left: 0;
        min-width: 110px;
        font-size: 12px;
        padding: 6px 10px;
    }
    
    .lang-dropdown-functional {
        position: fixed;
        top: 3.2rem;
        right: 1rem;
        left: auto;
        width: 260px;
        max-height: 220px;
        font-size: 13px;
    }
    
    .lang-option-func {
        padding: 8px 12px;
        min-height: 36px;
    }
    
    .lang-option-func span:nth-child(2) {
        font-size: 12px;
        min-width: 80px;
    }
    
    .lang-option-func span:last-child {
        font-size: 9px;
        min-width: 40px;
    }
}

/* Focus styles for accessibility */
.language-selector-functional:focus,
.lang-option-func:focus {
    outline: 2px solid #ff6600;
    outline-offset: 2px;
}

/* Loading state */
.language-selector-functional.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .lang-dropdown-functional {
        background: #1e293b;
        border-color: #334155;
    }
    
    .lang-option-func {
        color: #e2e8f0;
        border-color: #334155;
    }
    
    .lang-option-func:hover {
        background: #334155;
        color: #ff6600;
    }
    
    .lang-option-func span:last-child {
        color: #94a3b8;
    }
}

/* Language-specific font optimizations */
.lang-option-func[data-lang="hi"] span:nth-child(2),
.lang-option-func[data-lang="or"] span:nth-child(2),
.lang-option-func[data-lang="bn"] span:nth-child(2),
.lang-option-func[data-lang="te"] span:nth-child(2),
.lang-option-func[data-lang="ta"] span:nth-child(2),
.lang-option-func[data-lang="kn"] span:nth-child(2),
.lang-option-func[data-lang="ml"] span:nth-child(2) {
    font-family: 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Oriya', 'Mangal', 'Raavi', 'Shruti', 'Tunga', 'Kalinga', 'Arial Unicode MS', sans-serif;
    font-size: 14px;
    line-height: 1.3;
}

.lang-option-func[data-lang="zh"] span:nth-child(2) {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'SimSun', sans-serif;
    font-size: 14px;
    line-height: 1.3;
}

.lang-option-func[data-lang="ru"] span:nth-child(2) {
    font-family: 'Noto Sans', 'Times New Roman', 'Arial', sans-serif;
    font-size: 14px;
    line-height: 1.3;
}

.lang-option-func[data-lang="he"] span:nth-child(2) {
    font-family: 'Noto Sans Hebrew', 'David', 'Times New Roman', 'Arial Unicode MS', sans-serif;
    font-size: 14px;
    line-height: 1.3;
    direction: rtl;
    text-align: right;
}

.lang-option-func[data-lang="es"] span:nth-child(2),
.lang-option-func[data-lang="fr"] span:nth-child(2),
.lang-option-func[data-lang="en"] span:nth-child(2) {
    font-family: 'Noto Sans', 'Poppins', 'Arial', sans-serif;
    font-size: 14px;
    line-height: 1.3;
}

/* Current language display font optimization */
.language-selector-functional .lang-display {
    font-family: 'Noto Sans', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Oriya', 'Noto Sans SC', 'Noto Sans Hebrew', 'Poppins', 'Arial Unicode MS', sans-serif !important;
}

/* Specific optimizations for Indian languages in current display */
.language-selector-functional[data-current="hi"] .lang-display,
.language-selector-functional[data-current="or"] .lang-display,
.language-selector-functional[data-current="bn"] .lang-display,
.language-selector-functional[data-current="te"] .lang-display,
.language-selector-functional[data-current="ta"] .lang-display,
.language-selector-functional[data-current="kn"] .lang-display,
.language-selector-functional[data-current="ml"] .lang-display {
    font-family: 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Oriya', 'Mangal', 'Raavi', 'Shruti', 'Tunga', 'Kalinga', 'Arial Unicode MS', sans-serif !important;
    font-size: 14px !important;
}

.language-selector-functional[data-current="zh"] .lang-display {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'SimSun', sans-serif !important;
    font-size: 14px !important;
}

.language-selector-functional[data-current="he"] .lang-display {
    font-family: 'Noto Sans Hebrew', 'David', 'Times New Roman', 'Arial Unicode MS', sans-serif !important;
    font-size: 14px !important;
}