/* Language Selector */
.lang-selector {
    position: relative;
    margin-inline-end: 15px;
}
.lang-badge {
    display: inline-flex;
    width: 20px;
    height: 16px;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    background: linear-gradient(135deg, #6d2cf9, #f63);
    color: #fff;
    font: 700 12px/1 sans-serif;
}
.flag-id {
    display: inline-flex;
    width: 20px;
    height: 14px;
    flex-direction: column;
    overflow: hidden;
    border-radius: 2px;
}
.flag-id-red,
.flag-id-white {
    display: block;
    width: 100%;
    height: 50%;
}
.flag-id-red { background: #ce1126; }
.flag-id-white { background: #fff; }
.flag-tr {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 14px;
    overflow: hidden;
    border-radius: 2px;
    background: #e30a17;
}
.flag-tr-crescent {
    position: absolute;
    top: 3px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
}
.flag-tr-crescent::after {
    position: absolute;
    top: 0.75px;
    left: 2px;
    width: 6.5px;
    height: 6.5px;
    border-radius: 50%;
    background: #e30a17;
    content: "";
}
.flag-tr-star {
    position: absolute;
    top: 3.5px;
    left: 11.5px;
    color: #fff;
    font: 5px/1 sans-serif;
}
.flag-vi {
    position: relative;
    display: inline-flex;
    width: 20px;
    height: 14px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 2px;
    background: #da251d;
}
.flag-vi-star {
    color: #ffcd00;
    font: 8px/1 sans-serif;
}
.flag-ja {
    position: relative;
    display: inline-flex;
    width: 20px;
    height: 14px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 2px;
    background: #fff;
}
.flag-ja-disc {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #bc002d;
}
.lang-selector-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 8px;
    padding: 8px 12px;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
}
.lang-selector-btn:hover {
    background: rgba(255,255,255,0.2);
}
.lang-selector-btn i {
    font-size: 16px;
    opacity: 0.8;
}
.lang-dropdown {
    position: absolute;
    top: 100%;
    inset-inline-end: 0;
    margin-top: 8px;
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    min-width: 150px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}
.lang-selector.active .lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    color: rgba(255,255,255,0.8);
    cursor: pointer;
    transition: all 0.2s ease;
}
.lang-option:first-child { border-radius: 8px 8px 0 0; }
.lang-option:last-child { border-radius: 0 0 8px 8px; }
.lang-option:hover, .lang-option.active {
    background: rgba(255,255,255,0.1);
    color: #fff;
}
.lang-option .flag {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}
.current-lang {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
