/* ============================================================
 * 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: 1.15em; height: 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;
    /* The dropdown panel is its own surface: use the panel-specific vars,
       falling back to the block's inherited background/text when unset. */
    background: var(--tr-panel-bg, inherit);
    color: var(--tr-panel-text, inherit);
    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;
}
/* Neutral default only when neither a panel bg nor a block bg is set,
   so the panel is never transparent/unreadable. */
.translatera-layout-dropdown:not([style*="background"]):not([style*="--tr-panel-bg"]) .translatera-menu {
    background: #fff;
    color: #1e1e1e;
}
/* Panel links inherit the panel's text color. */
.translatera-menu li > a { color: var(--tr-panel-text, inherit); }

.translatera-menu li > a {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5em 0.8em;
    border-radius: 0;
    transition: background .15s ease;
}
.translatera-menu li > a:hover,
.translatera-menu li > a:focus-visible {
    background: color-mix(in srgb, currentColor 12%, transparent);
}

/* 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;
}
.translatera-inline li > a:hover,
.translatera-inline li > a:focus-visible {
    background: color-mix(in srgb, currentColor 12%, transparent);
}
.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; }
