/**
 * Language Selector Styles
 */

/* Language selector container */
.language-selector {
    position: relative;
    margin-right: 1rem;
    display: flex;
    align-items: center;
}

/* Button-based language selector */
.language-btn {
    background: none;
    border: 2px solid transparent;
    color: #333;
    cursor: pointer;
    font-size: 14px;
    padding: 5px 10px;
    margin: 0 3px;
    border-radius: 4px;
    transition: all 0.2s ease;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    outline: none;
    position: relative;
}

.language-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
    border-color: rgba(182, 78, 8, 0.2);
}

.language-btn:focus {
    box-shadow: 0 0 0 2px rgba(182, 78, 8, 0.2);
}

.language-btn.active {
    font-weight: bold;
    background-color: rgba(182, 78, 8, 0.1);
    color: #b64e08;
    border-color: #b64e08;
}

/* Add a subtle indicator under the active button */
.language-btn.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 2px;
    background-color: #b64e08;
    border-radius: 1px;
}

/* Dropdown-based language selector */
.language-selector select {
    appearance: none;
    background-color: transparent;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0.5rem 2rem 0.5rem 1rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease;
}

.language-selector.dropdown {
    position: relative;
}

/* Desktop language selector arrow - exclude mobile menu selector */
.language-selector.dropdown:not(.mobile-menu-language-selector)::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #333;
    pointer-events: none;
    transition: transform 0.3s ease;
}

.language-selector.dropdown:not(.mobile-menu-language-selector):hover::after {
    border-top-color: #b64e08;
}

.language-selector select:hover {
    border-color: #b64e08;
    background-color: rgba(182, 78, 8, 0.05);
}

.language-selector select:focus {
    border-color: #b64e08;
    box-shadow: 0 0 0 2px rgba(182, 78, 8, 0.2);
}

/* Style for the options in the dropdown */
.language-selector select option {
    background-color: white;
    color: #333;
    padding: 10px;
    font-weight: normal;
}

/* Dropdown-style language selector */
.language-selector__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px 12px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease;
    min-width: 60px;
}

.language-selector__toggle:hover {
    border-color: var(--color-accent, #d1af94);
    background-color: rgba(209, 175, 148, 0.05);
}

.language-selector__toggle:focus {
    border-color: var(--color-accent, #d1af94);
    box-shadow: 0 0 0 2px rgba(209, 175, 148, 0.2);
}

.language-selector__toggle[aria-expanded="true"] {
    border-color: var(--color-accent, #d1af94);
    background-color: rgba(209, 175, 148, 0.1);
}

.language-selector__toggle svg {
    transition: transform 0.3s ease;
}

.language-selector__toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.language-selector__current {
    font-weight: 600;
    letter-spacing: 0.5px;
}

.language-selector__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    margin-top: 4px;
    min-width: 120px;
}

.language-selector__dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.language-selector__option {
    display: block;
    width: 100%;
    padding: 10px 12px;
    background: none;
    border: none;
    text-align: left;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.875rem;
    color: #333;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid #f0f0f0;
}

.language-selector__option:last-child {
    border-bottom: none;
}

.language-selector__option:hover {
    background-color: rgba(209, 175, 148, 0.1);
}

.language-selector__option.active {
    background-color: rgba(209, 175, 148, 0.15);
    font-weight: 600;
    color: var(--color-accent, #d1af94);
}

/* Language transition animation */
body.lang-transition {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

/* Mobile styles */
@media (max-width: 768px) {
    /* Hide dropdown language selector in header on mobile */
    .header .language-selector {
        display: none;
    }

    /* Adjust dropdown styles for smaller screens */
    .language-selector__toggle {
        padding: 6px 10px;
        font-size: 0.8rem;
        min-width: 50px;
    }

    .language-selector__dropdown {
        min-width: 100px;
    }

    .language-selector__option {
        padding: 8px 10px;
        font-size: 0.8rem;
    }

    /* Mobile menu language selector styles */
    .mobile-menu-language-selector {
        display: block;
        width: 100%;
        margin: 15px 0;
        padding: 0;
        position: relative;
    }

    /* Remove the ::after arrow for mobile menu language selector */
    .mobile-menu-language-selector::after {
        display: none;
    }

    .mobile-menu-language-selector select {
        width: 100%;
        padding: 12px 40px 12px 16px;
        font-size: 16px;
        font-weight: 500;
        border: 1px solid #ddd;
        border-radius: 8px;
        background-color: #f8f8f8;
        color: #333;
        appearance: none;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: right 12px center;
        background-size: 16px;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .mobile-menu-language-selector select:focus {
        outline: none;
        border-color: #b64e08;
        background-color: white;
        box-shadow: 0 0 0 2px rgba(182, 78, 8, 0.2);
    }

    .mobile-menu-language-selector select option {
        background-color: white;
        color: #333;
        padding: 12px;
        font-weight: normal;
    }

    /* Desktop language selector - keep existing styles */
    .language-selector:not(.mobile-menu-language-selector) {
        margin-right: 0.5rem;
    }

    .language-selector:not(.mobile-menu-language-selector) select {
        padding: 0.4rem 1.8rem 0.4rem 0.8rem;
        font-size: 0.8rem;
    }

    .language-btn {
        font-size: 12px;
        padding: 4px 6px;
    }
}