/* ============================================================
 * Translatera Language Switcher — structure only.
 *
 * Colors, typography, spacing and border come from core block
 * "supports" (applied to the wrapper by get_block_wrapper_attributes).
 * This file only handles layout mechanics: the dropdown behaviour,
 * the current-language dot, hover feedback and accessibility.
 *
 * Hover feedback uses a translucent overlay (currentColor at low alpha)
 * so it adapts to any text/background the theme or user sets — no
 * hardcoded colors, nothing to configure.
 * ============================================================ */

.translatera-language-switcher {
    display: inline-block;
    position: relative;
    line-height: 1.4;
}

.translatera-language-switcher ul { margin: 0; padding: 0; list-style: none; }
.translatera-language-switcher a,
.translatera-language-switcher .translatera-toggle { color: inherit; text-decoration: none; }

/* Shared row of icon + flag + name */
.translatera-toggle,
.translatera-language-switcher li > a {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    white-space: nowrap;
}

.translatera-globe { display: inline-flex; }
.translatera-globe svg { width: var(--tr-icon-size, 1.15em); height: var(--tr-icon-size, 1.15em); display: block; }
.translatera-flag { line-height: 1; }
.translatera-chevron { display: inline-flex; margin-left: 0.15em; transition: transform .2s ease; }
.translatera-chevron svg { width: 1em; height: 1em; display: block; }

/* Current-language dot (the one custom design element) */
.translatera-dot {
    width: var(--tr-dot-size, 0.375em);
    height: var(--tr-dot-size, 0.375em);
    margin-left: auto;
    border-radius: 50%;
    background: var(--tr-dot-color, currentColor);
    flex-shrink: 0;
}
.translatera-no-dot .translatera-dot { display: none; }

/* ---------- DROPDOWN ---------- */
.translatera-layout-dropdown .translatera-toggle {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.translatera-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.4em;
    min-width: 100%;
    width: max-content;
    padding: 0;
    overflow: hidden;
    /* Panel is its own surface. Default to a readable light panel with dark
       text; custom vars (set from block settings) override both. Never rely on
       inherited color/background here — in a header/burger context that
       inherited value is often white, which made the panel unreadable. */
    background: var(--tr-panel-bg, #fff);
    color: var(--tr-panel-text, #1e1e1e);
    font-size: var(--tr-panel-fs, inherit);
    border-radius: inherit;
    box-shadow: 0 6px 20px -6px rgba(0,0,0,0.25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 9999;
}
/* Panel links take the panel's own text colour (custom var or the dark
   default), never the inherited toggle colour. */
.translatera-menu li > a { color: var(--tr-panel-text, #1e1e1e); }

.translatera-menu li > a {
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 0.6em 1em;
    border-radius: 0;
    line-height: 1.3;
    transition: background .15s ease;
}

/* Separator between dropdown items (optional) */
.translatera-has-sep.translatera-layout-dropdown .translatera-menu li + li {
    border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

/* ----- Hover effect variants (dropdown) ----- */
.translatera-hover-background .translatera-menu li > a:hover,
.translatera-hover-background .translatera-menu li > a:focus-visible {
    background: color-mix(in srgb, currentColor 12%, transparent);
}
.translatera-hover-underline .translatera-menu li > a:hover,
.translatera-hover-underline .translatera-menu li > a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* hover-none: no background, no underline — nothing added */

/* Open states */
.translatera-trigger-hover:hover .translatera-menu,
.translatera-trigger-hover:focus-within .translatera-menu,
.translatera-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.translatera-trigger-hover:hover .translatera-chevron,
.translatera-menu.is-open + .translatera-toggle .translatera-chevron,
.translatera-toggle[aria-expanded="true"] .translatera-chevron {
    transform: rotate(180deg);
}

/* Right-align near the viewport edge */
.translatera-menu.translatera-align-right { left: auto; right: 0; }

/* ---------- INLINE ---------- */
.translatera-inline {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.5em;
    align-items: center;
}
.translatera-inline li > a {
    padding: 0.3em 0.55em;
    border-radius: 0.35em;
    transition: background .15s ease;
}
/* Separator between inline items (optional) */
.translatera-has-sep .translatera-inline li + li {
    border-left: 1px solid color-mix(in srgb, currentColor 25%, transparent);
    padding-left: 0.8em;
}
/* ----- Hover effect variants (inline) ----- */
.translatera-hover-background .translatera-inline li > a:hover,
.translatera-hover-background .translatera-inline li > a:focus-visible {
    background: color-mix(in srgb, currentColor 12%, transparent);
}
.translatera-hover-underline .translatera-inline li > a:hover,
.translatera-hover-underline .translatera-inline li > a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.translatera-inline .translatera-current > a {
    font-weight: 600;
}

/* ---------- ACCESSIBILITY ---------- */
.translatera-language-switcher a:focus-visible,
.translatera-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* ---------- RTL ---------- */
[dir="rtl"] .translatera-menu { left: auto; right: 0; }
[dir="rtl"] .translatera-dot { margin-left: 0; margin-right: auto; }

/* ---------- MOBILE ---------- */
@media (max-width: 782px) {
    .translatera-menu {
        margin-top: 0.5em;
        box-shadow: 0 8px 24px -6px rgba(0,0,0,0.3);
    }
    /* Comfortable tap targets and breathing room on small screens */
    .translatera-menu li > a {
        padding: 0.85em 1.1em;
        min-height: 44px;
        align-items: center;
    }
    .translatera-inline {
        gap: 0.35em;
    }
    .translatera-inline li > a {
        padding: 0.5em 0.7em;
        min-height: 40px;
        display: inline-flex;
        align-items: center;
    }
}
