.ktpf-outer {
    width: 100%;
}

.ktpf-switcher {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ktpf-gap, 10px);
    padding: var(--ktpf-padding, 8px 11px);
    border: var(--ktpf-border-width, 1px) solid var(--ktpf-border-color, #D8D0C1);
    border-radius: var(--ktpf-border-radius, 14px);
    line-height: 1;
    vertical-align: middle;
    transition: background 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ktpf-switcher--light {
    background: transparent;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.055);
}

.ktpf-switcher--dark {
    background: transparent;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

.ktpf-language-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none !important;
    opacity: 0.92;
    position: relative;
    border-radius: 8px;
    transition: opacity 180ms ease, transform 180ms ease, filter 180ms ease;
}

.ktpf-flag-frame {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
    border-radius: 8px;
    transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.ktpf-language-link img {
    display: block;
    height: var(--ktpf-flag-height, 28px);
    width: auto;
    max-width: none !important;
    min-width: calc(var(--ktpf-flag-height, 28px) * 1.5);
    object-fit: cover;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.16);
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.13);
    background: transparent;
}

.ktpf-switcher--dark .ktpf-language-link img {
    border-color: rgba(255, 255, 255, 0.22);
    box-shadow: 0 2px 9px rgba(0, 0, 0, 0.28);
}

.ktpf-switcher--hover .ktpf-language-link:hover,
.ktpf-switcher--hover .ktpf-language-link:focus-visible {
    opacity: 1;
    transform: translateY(-2px) scale(1.045);
    filter: saturate(1.08) contrast(1.03);
    outline: none;
}

.ktpf-switcher--hover .ktpf-language-link:hover .ktpf-flag-frame,
.ktpf-switcher--hover .ktpf-language-link:focus-visible .ktpf-flag-frame {
    box-shadow: 0 7px 16px rgba(0, 0, 0, 0.14);
}

.ktpf-switcher--active-highlight .ktpf-language-link--active {
    opacity: 1;
}

.ktpf-switcher--active-highlight .ktpf-language-link--active .ktpf-flag-frame {
    background: transparent;
    box-shadow: 0 0 0 1px var(--ktpf-border-color, #D8D0C1), 0 6px 14px rgba(0, 0, 0, 0.12);
}

.ktpf-switcher--dark.ktpf-switcher--active-highlight .ktpf-language-link--active .ktpf-flag-frame {
    background: transparent;
    box-shadow: 0 0 0 1px var(--ktpf-border-color, #D8D0C1), 0 7px 17px rgba(0, 0, 0, 0.32);
}

.ktpf-switcher--active-highlight .ktpf-language-link--active img {
    transform: scale(1.03);
}

.ktpf-language-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(var(--ktpf-flag-height, 28px) * 1.5);
    height: var(--ktpf-flag-height, 28px);
    padding: 0 7px;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.14);
    background: transparent;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.13);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.ktpf-switcher--dark .ktpf-language-fallback {
    background: transparent;
    color: #161616;
}

.ktpf-admin-warning {
    padding: 10px 12px;
    border: 1px solid #cc1818;
    border-radius: 6px;
    background: transparent;
    color: #7a0000;
}
