.px-language-switcher {
    position: relative;
    flex: 0 0 auto;
    z-index: 80;
}

.px-language-switcher > summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 70px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(91, 45, 224, 0.18);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    color: #26213a;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.px-language-switcher > summary::-webkit-details-marker {
    display: none;
}

.px-language-switcher > summary:hover,
.px-language-switcher[open] > summary {
    border-color: rgba(111, 45, 236, 0.45);
    background: #fff;
    box-shadow: 0 8px 24px rgba(70, 38, 129, 0.08);
}

.px-language-switcher > summary > svg:first-child {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.px-language-switcher__chevron {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .2s ease;
}

.px-language-switcher[open] .px-language-switcher__chevron {
    transform: rotate(180deg);
}

.px-language-switcher__menu {
    position: absolute;
    top: calc(100% + 8px);
    inset-inline-end: 0;
    width: 178px;
    padding: 7px;
    border: 1px solid rgba(91, 45, 224, 0.14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(41, 25, 79, 0.14);
}

.px-language-switcher__menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 9px;
    color: #3b3550;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 650;
}

.px-language-switcher__menu a:hover,
.px-language-switcher__menu a.is-active {
    color: #672de5;
    background: rgba(111, 45, 236, 0.07);
}


.px-language-switcher__menu a,
.px-language-switcher__menu a:hover,
.px-language-switcher__menu a:focus,
.px-language-switcher__menu a:focus-visible,
.px-language-switcher__menu a:active,
.px-language-switcher__menu a:visited,
.px-language-switcher__menu a span,
.px-language-switcher__menu a small {
    text-decoration: none !important;
}

.px-language-switcher__menu small {
    color: #8f87a5;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
}

.rafyzo-auth-header__container > .px-language-switcher {
    margin-inline-start: auto;
    margin-inline-end: 14px;
}

.rafyzo-verify-card > .px-language-switcher {
    position: absolute;
    top: 20px;
    inset-inline-end: 20px;
}

.rafyzo-verify-card {
    position: relative;
}

body.rafyzo-rtl .rafyzo-landing-page,
body.rafyzo-rtl .rafyzo-auth-page,
body.rafyzo-rtl .px-subscription-checkout-page {
    direction: rtl;
    text-align: right;
}

body.rafyzo-rtl input[type="email"],
body.rafyzo-rtl input[type="tel"],
body.rafyzo-rtl input[type="url"],
body.rafyzo-rtl .rafyzo-register-store-url,
body.rafyzo-rtl .px-subscription-bank-details .is-iban strong {
    direction: ltr;
    text-align: left;
}

body.rafyzo-rtl .rafyzo-hero__button--primary svg,
body.rafyzo-rtl .rafyzo-login-form__submit svg,
body.rafyzo-rtl .rafyzo-register-form__submit svg {
    transform: scaleX(-1);
}

body.rafyzo-rtl .rafyzo-pricing-card__features li,
body.rafyzo-rtl .px-subscription-order-summary li {
    text-align: right;
}

@media (max-width: 900px) {
    .rafyzo-header__actions > .px-language-switcher {
        display: none;
    }

    .rafyzo-mobile-menu__actions .px-language-switcher {
        width: 100%;
    }

    .rafyzo-mobile-menu__actions .px-language-switcher > summary {
        width: 100%;
        justify-content: flex-start;
    }

    .rafyzo-mobile-menu__actions .px-language-switcher__menu {
        position: static;
        width: 100%;
        margin-top: 8px;
        box-shadow: none;
    }
}

@media (max-width: 640px) {
    .rafyzo-auth-header__container > .px-language-switcher {
        margin-inline-end: 8px;
    }

    .px-language-switcher > summary {
        min-width: 62px;
        height: 38px;
        padding: 0 10px;
    }

    .rafyzo-auth-header__register {
        display: none;
    }

    .rafyzo-verify-card > .px-language-switcher {
        top: 14px;
        inset-inline-end: 14px;
    }
}

.px-system-header > .px-language-switcher {
    margin-inline-start: auto;
}

body.rafyzo-rtl .px-system-code {
    right: auto;
    left: 28px;
}

@media (max-width: 600px) {
    body.rafyzo-rtl .px-system-code {
        right: auto;
        left: 20px;
    }
}

/* RAFYZO dashboard language controls */
.px-vd-header-actions > .px-language-switcher--dashboard {
    flex: 0 0 auto;
}

.px-language-switcher--dashboard > summary {
    min-width: 58px;
    height: 44px;
    padding: 0 10px;
    border-radius: 13px;
    background: #fff;
}

body.rafyzo-rtl .px-onboarding {
    direction: rtl;
    text-align: right;
}

body.rafyzo-rtl .px-onboarding input[type="tel"],
body.rafyzo-rtl .px-onboarding input[type="url"] {
    direction: ltr;
    text-align: left;
}

/* Dashboard/editor layout stays LTR for every interface language. */
body.rafyzo-rtl .px-vd-app,
body.rafyzo-rtl .px-product-app,
body.rafyzo-rtl .px-sb {
    direction: ltr;
    text-align: left;
}

@media (max-width: 620px) {
    .px-language-switcher--dashboard > summary {
        min-width: 42px;
        width: 42px;
        padding: 0 7px;
        gap: 0;
    }

    .px-language-switcher--dashboard > summary > svg:first-child,
    .px-language-switcher--dashboard > summary .px-language-switcher__chevron {
        display: none;
    }

    .px-language-switcher--dashboard .px-language-switcher__menu {
        width: 164px;
    }
}
