/* =========================================================
   JEZIKOVNI PREKLOP
   Namizje: preprost SL | BS
   Telefon: kompakten meni SL⌄
   ========================================================= */

.language-switcher {
    position: fixed;
    top: 22px;
    right: 30px;
    z-index: 1200;

    font-family:
        "Montserrat",
        "Segoe UI",
        Arial,
        sans-serif;

    -webkit-tap-highlight-color: transparent;
}

.language-option,
.language-menu-toggle {
    border: 0;
    outline: 0;
    font: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

/* NAMIZNA VERZIJA */

.language-inline {
    display: flex;
    align-items: center;
    gap: 9px;
}

.language-switcher-separator {
    color: rgba(43, 33, 27, 0.36);
    font-size: 11px;
    pointer-events: none;
}

.language-inline-option {
    position: relative;
    padding: 5px 2px 7px;
    background: transparent;
    color: rgba(43, 33, 27, 0.62);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 1.2px;
    transition: color 0.18s ease;
}

.language-inline-option::after {
    content: "";
    position: absolute;
    right: 2px;
    bottom: 1px;
    left: 2px;
    height: 1px;
    background: var(--gold, #b98543);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.18s ease;
}

.language-inline-option:hover {
    color: var(--gold-dark, #8d612c);
}

.language-inline-option.is-active {
    color: var(--gold-dark, #8d612c);
    font-weight: 700;
}

.language-inline-option.is-active::after {
    transform: scaleX(1);
}

.language-menu-toggle,
.language-menu {
    display: none;
}

.language-option:focus-visible,
.language-menu-toggle:focus-visible {
    outline: 2px solid var(--gold, #b98543);
    outline-offset: 3px;
}

body.lightbox-open .language-switcher {
    visibility: hidden;
}

/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 650px) {
    .language-switcher {
        top: 15px;
        right: 16px;
    }

    .language-inline {
        display: none;
    }

    .language-menu-toggle {
        min-width: 48px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 0 9px;

        border: 1px solid rgba(185, 133, 67, 0.46);
        border-radius: 7px;
        background: rgba(255, 250, 242, 0.48);
        color: #44382f;

        box-shadow: 0 4px 12px rgba(42, 27, 17, 0.08);
        -webkit-backdrop-filter: blur(9px);
        backdrop-filter: blur(9px);

        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.8px;

        transition:
            background 0.18s ease,
            border-color 0.18s ease;
    }

    .language-menu-toggle svg {
        width: 12px;
        height: 12px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: transform 0.18s ease;
    }

    .language-switcher.is-open .language-menu-toggle {
        border-color: var(--gold, #b98543);
        background: rgba(255, 250, 242, 0.90);
    }

    .language-switcher.is-open .language-menu-toggle svg {
        transform: rotate(180deg);
    }

    .language-menu {
        position: absolute;
        top: calc(100% + 7px);
        right: 0;
        width: 154px;
        overflow: hidden;

        border: 1px solid rgba(185, 133, 67, 0.42);
        border-radius: 10px;
        background: rgba(255, 250, 242, 0.97);
        box-shadow: 0 14px 32px rgba(45, 29, 17, 0.18);

        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }

    .language-menu:not([hidden]) {
        display: block;
        animation: language-menu-open 0.18s ease;
    }

    .language-menu-option {
        width: 100%;
        min-height: 50px;
        display: grid;
        grid-template-columns: 28px 1fr;
        align-items: center;
        gap: 8px;
        padding: 8px 13px;
        background: transparent;
        color: #40362f;
        text-align: left;
        transition: background 0.18s ease;
    }

    .language-menu-option + .language-menu-option {
        border-top: 1px solid rgba(185, 133, 67, 0.16);
    }

    .language-menu-option > span {
        color: var(--gold-dark, #8d612c);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.7px;
    }

    .language-menu-option small {
        font-size: 12px;
        font-weight: 500;
    }

    .language-menu-option:hover,
    .language-menu-option.is-active {
        background: rgba(185, 133, 67, 0.12);
    }
}

@keyframes language-menu-open {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================
   DRSELNIK V BARVAH STRANI
   ========================================================= */

html {
    scrollbar-width: thin;
    scrollbar-color: var(--gold, #b98543) #f6ead8;
}

::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}

::-webkit-scrollbar-track {
    background: #f6ead8;
    border-left: 1px solid rgba(185, 133, 67, 0.18);
}

::-webkit-scrollbar-thumb {
    min-height: 44px;
    border: 3px solid #f6ead8;
    border-radius: 999px;
    background: linear-gradient(
        180deg,
        var(--gold-light, #d7ae70),
        var(--gold, #b98543)
    );
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
        180deg,
        var(--gold, #b98543),
        var(--gold-dark, #8d612c)
    );
}

::-webkit-scrollbar-corner {
    background: #f6ead8;
}

/* JEZIKOVNI MENI NA SREDINI ZGORAJ */

.language-switcher {
    top: 50px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 650px) {
    .language-switcher {
        top: 35px;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    .language-menu {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    .language-menu:not([hidden]) {
        animation: centered-language-menu-open 0.18s ease;
    }
}

@keyframes centered-language-menu-open {
    from {
        opacity: 0;
        transform: translate(-50%, -5px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

/* =========================================================
   JEZIK NA ZAKLENJENI ZAVESI – SAMO TELEFON
   Glavna stran ostane na sredini; na zavesi je preklop zgoraj desno.
   ========================================================= */

@media (max-width: 650px) {
    .language-switcher--gate {
        top: 22px;
        right: 22px;
        left: auto;
        transform: none;
    }

    .language-switcher--gate .language-menu {
        right: 0;
        left: auto;
        transform: none;
    }

    .language-switcher--gate .language-menu:not([hidden]) {
        animation: gate-language-menu-open 0.18s ease;
    }
}

@keyframes gate-language-menu-open {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

