/* language-switcher.css */

/* Base styles */
.cls-language-switcher {
    position: relative;
    display: inline-block;
    font-family: var(--bde-font-family-base, inherit);
}

/* Toggle button */
.cls-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    transition: opacity 0.2s ease;
    color: var(--bde-palette-color-1-219fc5f7-3915-46c5-8bef-6ed6d8972ff4, inherit);
    font-size: var(--bde-menu-link-font-size, 14px);
    position: relative;
}

/* Dropdown arrow */
.cls-toggle::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid currentColor;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.cls-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

.cls-toggle:hover {
    opacity: 0.8;
    color: var(--bde-palette-color-1-ba84e4a0-c0ee-47c1-89e9-bfd633a3bf7c, inherit);
}

/* Flag icon styles */
.cls-flag-icon {
    width: 20px;
    height: 15px;
    flex-shrink: 0;
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    object-fit: cover;
}

.cls-language-name {
    font-weight: 500;
}

.cls-globe-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.cls-current-language {
    font-weight: 500;
}

/* Dropdown */
.cls-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--bde-dropdown-background, #ffffff);
    border-radius: 8px;
    box-shadow: var(--bde-dropdown-shadow, 0 4px 6px -1px rgb(0 0 0 / 0.1));
   /* min-width: 180px;*/
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    z-index: 1000;
}

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

/* Language list */
.cls-language-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}

.cls-language-item {
    margin: 0;
    padding: 0;
}

.cls-language-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    color: var(--bde-dropdown-link-color, #374151);
    text-decoration: none;
    transition: background-color 0.2s ease;
    font-size: var(--bde-dropdown-link-font-size, 14px);
}

.cls-language-link:hover {
    background-color: var(--bde-dropdown-link-background-hover, #f3f4f6);
    color: var(--bde-dropdown-link-color-hover, #1a1a1a);
}

.cls-active .cls-language-link {
    background-color: var(--bde-dropdown-link-background-active, #e5e7eb);
    font-weight: 600;
}

/* Mobile styles */
@media (max-width: 767px) {
    /* Mobile menu integration */
    .breakdance-menu .cls-language-switcher {
        
        padding: 16px 20px;
        width: 100%;
    }

    .cls-toggle {
        width: 100%;
        justify-content: flex-start;
        padding: 12px;
    }

    .cls-dropdown {
        position: relative;
        width: 100%;
        margin-top: 8px;
        right: auto;
    }

    .cls-language-list {
        padding: 0;
    }

    .cls-language-link {
        padding: 12px 16px;
        font-size: 14px;
    }
}

/* RTL Support */
[dir="rtl"] .cls-dropdown {
    right: auto;
    left: 0;
}

[dir="rtl"] .cls-toggle {
    flex-direction: row-reverse;
}

[dir="rtl"] .cls-toggle::after {
    margin-left: 0;
    margin-right: 4px;
}

[dir="rtl"] .cls-language-link {
    flex-direction: row-reverse;
}

/* Accessibility */
.cls-toggle:focus-visible,
.cls-language-link:focus-visible {
    outline: 2px solid var(--bde-focus-ring-color, #2563eb);
    outline-offset: 2px;
}

/* Mobile-specific styles */
@media (max-width: 767px) {
    /* Mobile wrapper */
    .cls-mobile-wrapper {
        
        width: 100% !important;
    }

    /* Language switcher container */
    .breakdance-menu-list .cls-language-switcher {
        width: 100%;
        padding: 0;
    }

    /* Toggle button */
    .breakdance-menu-list .cls-toggle {
        width: 100%;
        padding: 12px 16px;
        justify-content: space-between;
        font-size: var(--bde-menu-font-size, 14px);
        color: var(--bde-menu-link-color, inherit);
        text-align: left;
    }

    /* Mobile dropdown arrow */
    .breakdance-menu-list .cls-toggle::after {
        margin-left: auto;
    }

    /* Dropdown */
    .breakdance-menu-list .cls-dropdown {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        margin-top: 0;
        border-radius: 0;
        background: var(--bde-menu-dropdown-background, rgba(0, 0, 0, 0.1));
        box-shadow: none;
    }

    /* Language list */
    .breakdance-menu-list .cls-language-list {
        padding: 0;
    }

    /* Language items */
    .breakdance-menu-list .cls-language-link {
        padding: 12px 16px 12px 44px;
        color: var(--bde-menu-link-color, inherit);
        font-size: var(--bde-menu-font-size, 14px);
    }

    /* Active language */
    .breakdance-menu-list .cls-active .cls-language-link {
        background-color: var(--bde-menu-link-background-active, rgba(255, 255, 255, 0.1));
    }

    /* Globe icon */
    .breakdance-menu-list .cls-globe-icon {
        width: 20px;
        height: 20px;
        margin-right: 8px;
    }
}

/* RTL support for mobile */
[dir="rtl"] .breakdance-menu-list .cls-toggle {
    text-align: right;
}

[dir="rtl"] .breakdance-menu-list .cls-toggle::after {
    margin-left: 0;
    margin-right: auto;
}

[dir="rtl"] .breakdance-menu-list .cls-language-link {
    padding: 12px 44px 12px 16px;
}