:root {
    --bem-blue: #d5e7f7;
    --bem-blue-dark: #6f8fac;
    --bem-pink: #fdcddb;
    --bem-ink: #40516c;
    --bem-muted: #78879a;
    --bem-bg: #fffdfd;
    --bem-border: #dfe8f0;
    --bem-green: #a9cbe6;
    --bem-shadow: 0 18px 55px rgba(86, 112, 139, 0.10);
    --bem-shadow-soft: 0 10px 35px rgba(86, 112, 139, 0.07);
}

.bem-auth-shell,
.bem-account-shell,
.bem-plans-wrap,
.bem-account-guest,
.bem-notice {
    color: var(--bem-ink);
    font-family: Vazirmatn, Tahoma, sans-serif;
}

.bem-icon {
    width: 1.25em;
    height: 1.25em;
    display: inline-block;
    flex: 0 0 auto;
    vertical-align: -0.18em;
    fill: currentColor;
}

.bem-primary-button,
.bem-secondary-button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 14px;
    padding: 12px 20px;
    font-weight: 900;
    line-height: 1.5;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.bem-primary-button:hover,
.bem-secondary-button:hover {
    transform: translateY(-2px);
}

.bem-primary-button {
    background: linear-gradient(135deg, var(--bem-blue), var(--bem-blue-dark));
    box-shadow: 0 9px 20px rgba(97, 126, 203, 0.22);
    color: #fff !important;
}

.bem-secondary-button {
    background: #eef2ff;
    color: var(--bem-blue-dark) !important;
}

.bem-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: max-content;
    max-width: 100%;
    background: #eef2ff;
    color: var(--bem-blue-dark);
    padding: 7px 12px;
    border-radius: 999px;
    font-size:12px;
    font-weight: 900;
}

/* Authentication */
.bem-auth-shell {
    width: min(1100px, calc(100% - 32px));
    margin: 120px auto 70px;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    background: #fff;
    border: 1px solid var(--bem-border);
    border-radius: 32px;
    overflow: hidden;
    box-shadow: var(--bem-shadow);
}

.bem-auth-intro {
    padding: 55px;
    background: linear-gradient(145deg, #eef2ff, #fff0f7);
}

.bem-auth-intro h1 {
    font-size: clamp(30px, 5vw, 50px);
    line-height: 1.35;
    margin: 14px 0;
}

.bem-auth-intro p {
    color: var(--bem-muted);
    line-height: 2;
}

.bem-feature-list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: grid;
    gap: 12px;
}

.bem-feature-list li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 700;
}

.bem-feature-list .bem-icon {
    color: var(--bem-green);
    font-size: 20px;
}

.bem-auth-panels {
    padding: 45px;
}

.bem-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f5f5f7;
    border-radius: 15px;
    padding: 5px;
    margin-bottom: 25px;
}

.bem-tabs button {
    border: 0;
    background: transparent;
    padding: 12px;
    border-radius: 11px;
    font: inherit;
    font-weight: 800;
    color: var(--bem-muted);
    cursor: pointer;
}

.bem-tabs button.is-active {
    background: #fff;
    color: var(--bem-blue-dark);
    box-shadow: 0 5px 15px rgba(52, 64, 95, 0.08);
}

.bem-tab-panel {
    display: none;
}

.bem-tab-panel.is-active {
    display: block;
}

.bem-auth-card--single {
    padding: 55px;
    text-align: center;
    grid-column: 1 / -1;
}

.bem-auth-logo {
    width: 84px;
    height: 84px;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
    border-radius: 28px;
    background: linear-gradient(145deg, #eef2ff, #fff0f7);
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(82, 98, 145, 0.08);
}

.bem-auth-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bem-form {
    display: grid;
    gap: 16px;
}

.bem-form label,
#loginform p {
    min-width: 0;
    display: grid;
    gap: 7px;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
}

.bem-form input,
#loginform input[type="text"],
#loginform input[type="password"] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid var(--bem-border);
    background: #fffaf7;
    border-radius: 13px;
    padding: 12px 14px;
    color: var(--bem-ink);
    font: inherit;
    line-height: 1.6;
    outline: 0;
    unicode-bidi: plaintext;
}

.bem-form input:focus,
#loginform input:focus {
    border-color: var(--bem-blue);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(145, 169, 232, 0.15);
}

#loginform .login-submit input {
    width: 100%;
    border: 0;
    border-radius: 13px;
    padding: 13px;
    background: linear-gradient(135deg, var(--bem-blue), var(--bem-blue-dark));
    color: #fff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.bem-text-link {
    display: block;
    margin-top: 16px;
    color: var(--bem-blue-dark);
    font-size: 12px;
}

.bem-notice {
    width: min(1180px, calc(100% - 32px));
    margin: 105px auto -95px;
    padding: 13px 17px;
    border-radius: 14px;
    font-size: 13px;
}

.bem-notice--success {
    background: #ecfdf3;
    color: #166534;
}

.bem-notice--error {
    background: #fff1f2;
    color: #9f1239;
}

/* Account dashboard */
.bem-account-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 118px auto 80px;
    display: flex;
    align-items: flex-start;
    gap: 24px;
    direction: rtl;
}

.bem-account-sidebar {
    width: 270px;
    flex: 0 0 270px;
    position: sticky;
    top: 102px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--bem-border);
    border-radius: 26px;
    padding: 22px;
    box-shadow: var(--bem-shadow-soft);
}

.bem-sidebar-profile {
    padding: 4px 4px 20px;
    display: flex;
    align-items: center;
    gap: 13px;
    border-bottom: 1px solid var(--bem-border);
}

.bem-avatar {
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    display: grid;
    place-items: center;
    border-radius: 21px;
    background: linear-gradient(135deg, var(--bem-blue), var(--bem-pink));
    color: #fff;
    box-shadow: 0 10px 24px rgba(97, 126, 203, 0.22);
    font-family: Nunito, Vazirmatn, sans-serif;
    font-size: 27px;
    font-weight: 900;
}

.bem-sidebar-profile-copy {
    min-width: 0;
}

.bem-sidebar-profile h3 {
    margin: 0 0 4px;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-sidebar-email {
    max-width: 150px;
    margin: 0;
    overflow: hidden;
    color: var(--bem-muted);
    direction: ltr;
    font-size:12px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-account-nav {
    display: grid;
    gap: 6px;
    margin-top: 17px;
}

.bem-account-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 13px;
    color: var(--bem-ink);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.bem-account-nav a:hover {
    background: #f5f7ff;
    color: var(--bem-blue-dark);
    transform: translateX(-2px);
}

.bem-account-nav a.is-current {
    background: linear-gradient(135deg, #eef2ff, #f7f4ff);
    color: var(--bem-blue-dark);
}

.bem-account-nav .bem-icon {
    font-size: 20px;
}

.bem-account-nav-logout {
    margin-top: 8px;
    border-top: 1px solid var(--bem-border);
    border-radius: 0 0 13px 13px !important;
    color: #9f4663 !important;
}

.bem-account-main {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    gap: 20px;
}

.bem-account-heading,
.bem-status-card,
.bem-panel-card {
    background: #fff;
    border: 1px solid var(--bem-border);
    border-radius: 26px;
    box-shadow: var(--bem-shadow-soft);
}

.bem-account-heading {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 28px;
}

.bem-account-title {
    min-width: 0;
}

.bem-account-heading h1 {
    margin: 10px 0 5px;
    overflow-wrap: anywhere;
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.45;
}

.bem-account-heading p {
    margin: 0;
    color: var(--bem-muted);
    font-size: 12px;
}

.bem-account-heading .bem-secondary-button {
    flex: 0 0 auto;
}

.bem-status-card {
    min-width: 0;
    padding: 22px 24px;
    display: grid;
    grid-template-columns: auto minmax(150px, 1fr) minmax(170px, 0.85fr) auto;
    align-items: center;
    gap: 18px;
    background: linear-gradient(135deg, #fff, #f8faff);
}

.bem-status-card.is-active {
    border-color: #b8ebcf;
    background: linear-gradient(135deg, #fff, #effcf5);
}

.bem-status-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: #eef2ff;
    color: var(--bem-blue-dark);
    font-size: 29px;
}

.bem-status-card.is-active .bem-status-icon {
    background: #ddf8e9;
    color: #2e9c68;
}

.bem-status-item {
    min-width: 0;
}

.bem-status-item > span {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--bem-muted);
    font-size:12px;
}

.bem-status-item h2 {
    margin: 5px 0 0;
    overflow-wrap: anywhere;
    font-size: clamp(20px, 2.4vw, 27px);
    line-height: 1.5;
}

.bem-status-item strong {
    display: block;
    margin-top: 8px;
    overflow-wrap: anywhere;
    font-size: 14px;
}

.bem-account-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
    gap: 20px;
}

.bem-panel-card {
    min-width: 0;
    padding: 25px;
}

.bem-panel-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;
}

.bem-panel-heading-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: #fff1f7;
    color: #ce6f9a;
    font-size: 29px;
}

.bem-panel-heading h2,
.bem-panel-card--soft h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.5;
}

.bem-panel-heading p {
    margin: 3px 0 0;
    color: var(--bem-muted);
    font-size:12px;
}

.bem-form--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bem-form-submit {
    width: max-content;
    min-width: 180px;
    grid-column: 1 / -1;
    justify-self: start;
}

.bem-panel-card--soft {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: linear-gradient(145deg, #eef2ff, #fff3f8);
}

.bem-next-step-icon {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 25px;
    background: rgba(255, 255, 255, 0.75);
    color: var(--bem-blue-dark);
    font-size: 46px;
    box-shadow: 0 10px 26px rgba(97, 126, 203, 0.12);
}

.bem-panel-card--soft h2 {
    margin-top: 13px;
}

.bem-panel-card--soft p {
    margin: 9px 0 24px;
    color: var(--bem-muted);
    font-size: 13px;
    line-height: 2;
}

.bem-panel-card--soft .bem-secondary-button {
    width: 100%;
    margin-top: auto;
}

.bem-account-guest {
    width: min(700px, calc(100% - 32px));
    margin: 150px auto;
    padding: 50px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--bem-border);
    border-radius: 25px;
    box-shadow: var(--bem-shadow-soft);
}

.bem-empty-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: #eef2ff;
    color: var(--bem-blue-dark);
    font-size: 45px;
}

/* Locked content */
.bem-lock-card {
    min-height: 420px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 38px;
    text-align: center;
    background: radial-gradient(circle at top, #fff, #f1f4ff);
    border: 1px dashed #c8d3f2;
    border-radius: 22px;
}

.bem-lock-icon {
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
    margin-bottom: 15px;
    border-radius: 25px;
    background: #eef2ff;
    color: var(--bem-blue-dark);
    font-size: 48px;
}

.bem-lock-card h2 {
    margin: 12px 0 8px;
}

.bem-lock-card p {
    max-width: 460px;
    color: var(--bem-muted);
}

.bem-lock-card small {
    margin-top: 13px;
    color: var(--bem-muted);
}

/* Plans */
.bem-plans-wrap {
    width: min(1180px, calc(100% - 32px));
    margin: auto;
}

.bem-plans-heading {
    margin-bottom: 32px;
    text-align: center;
}

.bem-plans-heading .bem-pill {
    margin-inline: auto;
}

.bem-plans-heading h2 {
    margin: 12px 0;
    font-size: clamp(28px, 4vw, 45px);
}

.bem-plans-heading p {
    color: var(--bem-muted);
}

.bem-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.bem-price-card {
    position: relative;
    min-width: 0;
    padding: 28px;
    background: #fff;
    border: 1px solid var(--bem-border);
    border-radius: 25px;
    box-shadow: var(--bem-shadow-soft);
}

.bem-price-card.is-featured {
    border: 2px solid var(--bem-blue);
    transform: translateY(-10px);
}

.bem-price-days {
    color: var(--bem-blue-dark);
    font-size:12px;
    font-weight: 900;
}

.bem-price-card h3 {
    font-size: 24px;
}

.bem-price {
    margin: 18px 0;
    font-size: 21px;
    font-weight: 900;
}

.bem-price-card p,
.bem-price-card li {
    color: var(--bem-muted);
    font-size: 12px;
    line-height: 1.9;
}

.bem-plan-features {
    list-style: none;
    padding: 0;
    display: grid;
    gap: 7px;
}

.bem-plan-features li {
    display: flex;
    align-items: center;
    gap: 7px;
}

.bem-plan-features .bem-icon {
    color: var(--bem-green);
    font-size: 18px;
}

.bem-price-card .bem-primary-button,
.bem-price-card .bem-secondary-button {
    width: 100%;
    box-sizing: border-box;
}

.bem-popular {
    position: absolute;
    top: -13px;
    left: 25px;
    padding: 7px 12px;
    background: var(--bem-pink);
    color: #fff;
    border-radius: 999px;
    font-size:12px;
    font-weight: 900;
}

.vip-badge {
    position: absolute;
    top: 13px;
    right: 13px;
    z-index: 3;
    padding: 6px 10px;
    background: #34405f;
    color: #fff;
    border-radius: 999px;
    font-size:12px;
    font-weight: 900;
}

@media (max-width: 1050px) {
    .bem-account-grid {
        grid-template-columns: 1fr;
    }

    .bem-panel-card--soft {
        min-height: 280px;
    }
}

@media (max-width: 880px) {
    .bem-auth-shell {
        grid-template-columns: 1fr;
    }

    .bem-auth-intro {
        padding: 35px;
    }

    .bem-auth-panels {
        padding: 30px;
    }

    .bem-account-shell {
        flex-direction: column;
    }

    .bem-account-sidebar {
        width: 100%;
        flex-basis: auto;
        position: static;
    }

    .bem-sidebar-profile {
        border-bottom: 0;
        padding-bottom: 14px;
    }

    .bem-sidebar-email {
        max-width: min(55vw, 360px);
    }

    .bem-account-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-top: 5px;
    }

    .bem-account-nav a {
        justify-content: center;
        text-align: center;
    }

    .bem-account-nav-logout {
        margin-top: 0;
        border-top: 0;
        border-radius: 13px !important;
    }

    .bem-status-card {
        grid-template-columns: auto 1fr 1fr;
    }

    .bem-status-card .bem-primary-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .bem-pricing-grid {
        grid-template-columns: 1fr;
    }

    .bem-price-card.is-featured {
        transform: none;
    }
}

@media (max-width: 640px) {
    .bem-account-shell {
        width: min(100% - 22px, 1180px);
        margin-top: 100px;
        gap: 14px;
    }

    .bem-account-sidebar,
    .bem-account-heading,
    .bem-status-card,
    .bem-panel-card {
        border-radius: 21px;
    }

    .bem-account-sidebar {
        padding: 16px;
    }

    .bem-account-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bem-account-nav a {
        justify-content: flex-start;
    }

    .bem-account-heading {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px;
    }

    .bem-account-heading .bem-secondary-button {
        width: 100%;
    }

    .bem-status-card {
        grid-template-columns: auto 1fr;
        padding: 20px;
    }

    .bem-status-card .bem-status-item:nth-child(3) {
        grid-column: 1 / -1;
        padding-top: 14px;
        border-top: 1px solid rgba(52, 64, 95, 0.08);
    }

    .bem-form--grid {
        grid-template-columns: 1fr;
    }

    .bem-form-submit {
        width: 100%;
        min-width: 0;
        grid-column: auto;
    }

    .bem-panel-card {
        padding: 21px;
    }

    .bem-auth-shell {
        width: min(100% - 22px, 1100px);
        margin-top: 100px;
    }

    .bem-auth-intro,
    .bem-auth-panels,
    .bem-auth-card--single {
        padding: 25px;
    }
}

/* Mobile account width hotfix — v1.1.1 */
@media (max-width: 880px) {
    .bem-account-shell {
        align-items: stretch;
    }

    .bem-account-sidebar,
    .bem-account-main {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .bem-account-main {
        flex: 0 0 auto;
        align-self: stretch;
    }

    .bem-account-heading,
    .bem-status-card,
    .bem-account-grid,
    .bem-panel-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 640px) {
    .bem-account-shell {
        margin-bottom: 50px;
    }

    .bem-account-heading h1 {
        font-size: 25px;
    }

    .bem-account-heading p {
        line-height: 1.9;
    }

    .bem-sidebar-profile-copy {
        flex: 1 1 auto;
    }

    .bem-sidebar-email {
        max-width: 100%;
    }
}

/* Learning Journey dashboard — v1.2.0 */
.bem-journey-shell {
    --journey-pink: #f45f97;
    --journey-pink-soft: #fff0f5;
    --journey-green: #50b96c;
    --journey-green-soft: #edf9ef;
    --journey-purple: #9b67cc;
    --journey-purple-soft: #f4effb;
    --journey-blue: #4e8edc;
    --journey-blue-soft: #edf5ff;
    --journey-cream: #fff9f4;
    width: min(1240px, calc(100% - 32px));
    margin: 108px auto 72px;
    display: grid;
    gap: 22px;
    color: var(--bem-ink);
    direction: rtl;
    font-family: Vazirmatn, Tahoma, sans-serif;
    box-sizing: border-box;
}

.bem-journey-shell *,
.bem-journey-shell *::before,
.bem-journey-shell *::after {
    box-sizing: border-box;
}

.bem-journey-topbar,
.bem-journey-hero,
.bem-learning-path,
.bem-journey-card,
.bem-week-summary {
    border: 1px solid rgba(93, 77, 73, 0.12);
    box-shadow: 0 18px 50px rgba(96, 74, 72, 0.08);
}

.bem-journey-topbar {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(230px, auto) minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 13px 16px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 24px;
}

.bem-journey-profile {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.bem-journey-avatar {
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 19px;
    background: var(--journey-pink-soft);
    box-shadow: 0 8px 22px rgba(244, 95, 151, 0.18);
}

.bem-journey-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bem-journey-profile-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.bem-journey-profile-copy strong {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-journey-profile-copy small {
    overflow: hidden;
    color: var(--bem-muted);
    font-size:12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-journey-nav {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.bem-journey-nav a {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 12px;
    border-radius: 13px;
    color: var(--bem-ink);
    font-size:12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.bem-journey-nav a:hover,
.bem-journey-nav a.is-current {
    background: #f3f0ff;
    color: var(--bem-blue-dark);
    transform: translateY(-1px);
}

.bem-journey-nav .bem-icon {
    font-size: 18px;
}

.bem-journey-nav a.bem-journey-logout {
    color: #a43e62;
}

.bem-journey-membership {
    max-width: 220px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 13px;
    border-radius: 15px;
    background: #fff6f8;
    color: #a43e62;
}

.bem-journey-membership.is-active {
    background: #effbf4;
    color: #278b57;
}

.bem-journey-membership > .bem-icon {
    font-size: 25px;
}

.bem-journey-membership span {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.bem-journey-membership small {
    font-size:12px;
    opacity: .75;
}

.bem-journey-membership strong {
    overflow: hidden;
    font-size:12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-journey-hero {
    position: relative;
    min-height: 320px;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: center;
    gap: 30px;
    padding: 36px 52px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 10%, rgba(246, 168, 200, .25), transparent 24%),
        radial-gradient(circle at 88% 90%, rgba(145, 169, 232, .24), transparent 28%),
        linear-gradient(135deg, #fffaf7, #fff5f7 54%, #f8f6ff);
}

.bem-journey-hero::before,
.bem-journey-hero::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    border: 2px dashed rgba(244, 95, 151, .13);
    border-radius: 50%;
}

.bem-journey-hero::before {
    top: -42px;
    right: 37%;
}

.bem-journey-hero::after {
    bottom: -70px;
    left: 8%;
}

.bem-journey-hero-copy {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.bem-journey-eyebrow {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    color: #d04e80;
    font-size:12px;
    font-weight: 900;
    letter-spacing: .02em;
}

.bem-journey-eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: 7px;
    border-radius: 50%;
    background: var(--journey-pink);
    box-shadow: 0 0 0 4px rgba(244,95,151,.12);
}

.bem-journey-hero h1 {
    max-width: 690px;
    margin: 10px 0 8px;
    overflow-wrap: anywhere;
    color: #392d2a;
    font-size: clamp(30px, 4.4vw, 54px);
    line-height: 1.35;
}

.bem-journey-hero p {
    max-width: 680px;
    margin: 0;
    color: #756966;
    font-size: 13px;
    line-height: 2.05;
}

.bem-journey-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.bem-journey-hero-character {
    position: relative;
    z-index: 1;
    height: 270px;
    display: grid;
    place-items: center;
}

.bem-journey-hero-character::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .72);
    box-shadow: inset 0 0 0 1px rgba(244, 95, 151, .08), 0 24px 50px rgba(112, 82, 92, .1);
}

.bem-journey-hero-character img {
    position: relative;
    z-index: 2;
    width: min(330px, 100%);
    height: 260px;
    object-fit: contain;
    filter: drop-shadow(0 18px 20px rgba(96, 74, 72, .12));
}

.bem-journey-spark {
    position: absolute;
    z-index: 3;
    color: var(--journey-pink);
    font-size: 28px;
}

.bem-journey-spark--one {
    top: 17px;
    right: 12%;
}

.bem-journey-spark--two {
    bottom: 38px;
    left: 9%;
    color: var(--journey-purple);
    font-size: 20px;
}

.bem-learning-path {
    min-width: 0;
    padding: 28px;
    border-radius: 32px;
    background: #fff;
}

.bem-section-heading,
.bem-card-heading {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.bem-section-heading {
    margin-bottom: 20px;
}

.bem-section-heading h2,
.bem-card-heading h2 {
    margin: 5px 0 0;
    color: #392d2a;
    font-size: 23px;
    line-height: 1.55;
}

.bem-section-heading > p,
.bem-card-heading p {
    max-width: 390px;
    margin: 5px 0 0;
    color: var(--bem-muted);
    font-size:12px;
    line-height: 1.8;
}

.bem-stage-track {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.bem-stage-card {
    --stage-color: var(--journey-pink);
    --stage-soft: var(--journey-pink-soft);
    position: relative;
    min-width: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: 155px auto;
    background: #fff;
    border: 1px solid rgba(93, 77, 73, .11);
    border-radius: 24px;
    box-shadow: 0 10px 28px rgba(96, 74, 72, .06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.bem-stage-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(96, 74, 72, .11);
}

.bem-stage-card--green { --stage-color: var(--journey-green); --stage-soft: var(--journey-green-soft); }
.bem-stage-card--purple { --stage-color: var(--journey-purple); --stage-soft: var(--journey-purple-soft); }
.bem-stage-card--blue { --stage-color: var(--journey-blue); --stage-soft: var(--journey-blue-soft); }

.bem-stage-card.is-current {
    border: 2px solid var(--stage-color);
    transform: translateY(-6px);
}

.bem-stage-card.is-current:hover {
    transform: translateY(-8px);
}

.bem-stage-number {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 3;
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--stage-color);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 7px 16px rgba(96, 74, 72, .13);
}

.bem-stage-character {
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, var(--stage-soft), #fff);
}

.bem-stage-character img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    mix-blend-mode: multiply;
}

.bem-stage-card-copy {
    min-width: 0;
    padding: 16px 17px 18px;
}

.bem-stage-state {
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--stage-soft);
    color: var(--stage-color);
    font-size:12px;
    font-weight: 900;
}

.bem-stage-state .bem-icon {
    font-size: 13px;
}

.bem-stage-card h3 {
    margin: 9px 0 1px;
    color: #392d2a;
    font-size: 17px;
    line-height: 1.45;
}

.bem-stage-card-copy > strong {
    color: var(--stage-color);
    font-size:12px;
}

.bem-stage-card p {
    min-height: 52px;
    margin: 7px 0 12px;
    color: var(--bem-muted);
    font-size:12px;
    line-height: 1.85;
}

.bem-stage-progress {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #f0ecea;
}

.bem-stage-progress span {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: var(--stage-color);
}

.bem-stage-card-copy > small {
    display: block;
    margin-top: 5px;
    color: var(--stage-color);
    direction: ltr;
    font-size:12px;
    font-weight: 900;
    text-align: left;
}

.bem-journey-dashboard-grid,
.bem-journey-lower-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
    gap: 20px;
}

.bem-journey-lower-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.bem-journey-card {
    min-width: 0;
    padding: 25px;
    border-radius: 28px;
    background: #fff;
}

.bem-card-heading {
    align-items: center;
    margin-bottom: 20px;
}

.bem-card-heading-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #fff3e8;
    color: #ef9c40;
    font-size: 27px;
}

.bem-card-heading-icon--pink { background: var(--journey-pink-soft); color: var(--journey-pink); }
.bem-card-heading-icon--gold { background: #fff7dc; color: #e5a831; }

.bem-card-heading-character {
    overflow: hidden;
    background: var(--journey-pink-soft);
}

.bem-card-heading-character img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
}

.bem-planner-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.bem-planner-day {
    position: relative;
    min-width: 0;
    display: grid;
    justify-items: center;
    gap: 3px;
    padding: 10px 4px 9px;
    border: 1px solid #eee7e4;
    border-radius: 15px;
    background: #fffaf7;
    cursor: pointer;
}

.bem-planner-day.is-today {
    border-color: #f6a8c8;
    box-shadow: 0 0 0 3px rgba(246, 168, 200, .13);
}

.bem-planner-day > span {
    overflow: hidden;
    width: 100%;
    font-size:12px;
    font-weight: 800;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-planner-day > small {
    color: var(--bem-muted);
    font-size:12px;
}

.bem-planner-day input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.bem-planner-day i {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 2px solid #e8e1df;
    border-radius: 50%;
    color: #d5ccca;
    font-size: 24px;
    font-style: normal;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.bem-planner-day input:checked + i {
    border-color: var(--journey-pink);
    background: var(--journey-pink);
    color: #fff;
    transform: scale(1.05);
}

.bem-planner-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 17px;
    padding-top: 16px;
    border-top: 1px solid #eee7e4;
}

.bem-planner-footer p {
    margin: 0;
    color: var(--bem-muted);
    font-size:12px;
}

.bem-planner-footer p strong {
    color: var(--journey-pink);
}

.bem-progress-body {
    min-width: 0;
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
}

.bem-progress-ring {
    width: 138px;
    height: 138px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--journey-pink) var(--bem-progress), #f2eceb 0);
}

.bem-progress-ring::before {
    content: "";
    grid-area: 1 / 1;
    width: 103px;
    height: 103px;
    border-radius: 50%;
    background: #fff;
}

.bem-progress-ring div {
    position: relative;
    z-index: 2;
    grid-area: 1 / 1;
    display: grid;
    justify-items: center;
}

.bem-progress-ring strong {
    color: #392d2a;
    direction: ltr;
    font-size: 27px;
}

.bem-progress-ring span {
    color: var(--bem-muted);
    font-size:12px;
}

.bem-progress-list {
    min-width: 0;
    display: grid;
    gap: 13px;
}

.bem-progress-list > div {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 12px;
}

.bem-progress-list span,
.bem-progress-list strong {
    font-size:12px;
}

.bem-progress-list strong {
    color: var(--journey-pink);
    direction: ltr;
}

.bem-progress-list i {
    grid-column: 1 / -1;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #f1ecea;
    font-style: normal;
}

.bem-progress-list b {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--journey-pink), #f8a26f);
}

.bem-progress-note {
    margin: 18px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff8fa;
    color: var(--bem-muted);
    font-size:12px;
    line-height: 1.8;
}

.bem-week-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 25px;
    background: #fff;
}

.bem-week-summary article {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 14px;
    border-left: 1px solid #eee7e4;
}

.bem-week-summary article:last-child {
    border-left: 0;
}

.bem-week-summary article > span {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff2f7;
    color: var(--journey-pink);
    font-size: 23px;
}

.bem-week-summary article:nth-child(2) > span { background: var(--journey-green-soft); color: var(--journey-green); }
.bem-week-summary article:nth-child(3) > span { background: var(--journey-purple-soft); color: var(--journey-purple); }
.bem-week-summary article:nth-child(4) > span { background: var(--journey-blue-soft); color: var(--journey-blue); }

.bem-week-summary article div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.bem-week-summary strong {
    overflow: hidden;
    color: #392d2a;
    font-size: 17px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-week-summary small {
    color: var(--bem-muted);
    font-size:12px;
}

.bem-achievements-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.bem-achievement {
    min-width: 0;
    display: grid;
    justify-items: center;
    gap: 5px;
    padding: 14px 8px;
    border: 1px solid #eee7e4;
    border-radius: 17px;
    text-align: center;
}

.bem-achievement > span {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 26px;
}

.bem-achievement.is-unlocked > span {
    background: #fff2f7;
    color: var(--journey-pink);
}

.bem-achievement.is-locked {
    opacity: .58;
    filter: grayscale(.65);
}

.bem-achievement.is-locked > span {
    background: #f1eeed;
    color: #9e9694;
}

.bem-achievement strong {
    overflow: hidden;
    width: 100%;
    font-size:12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bem-achievement small {
    color: var(--bem-muted);
    font-size:12px;
    line-height: 1.5;
}

.bem-membership-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    background: linear-gradient(135deg, #fff7fa, #f8f6ff);
}

.bem-membership-card.is-active {
    background: linear-gradient(135deg, #f3fff7, #f7fbff);
}

.bem-membership-character {
    height: 175px;
    display: grid;
    place-items: center;
}

.bem-membership-character img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.bem-membership-copy {
    min-width: 0;
}

.bem-membership-copy h2 {
    margin: 6px 0;
    color: #392d2a;
    overflow-wrap: anywhere;
    font-size: 22px;
}

.bem-membership-copy p {
    margin: 0 0 15px;
    color: var(--bem-muted);
    font-size:12px;
    line-height: 1.9;
}

.bem-profile-card {
    scroll-margin-top: 100px;
}

.bem-profile-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    align-items: end;
}

.bem-profile-form .bem-primary-button {
    min-width: 150px;
}

@media (max-width: 1100px) {
    .bem-journey-topbar {
        grid-template-columns: minmax(210px, auto) minmax(0, 1fr);
    }

    .bem-journey-membership {
        grid-column: 1 / -1;
        max-width: none;
        justify-content: center;
    }

    .bem-stage-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bem-stage-card.is-current,
    .bem-stage-card.is-current:hover {
        transform: none;
    }

    .bem-journey-dashboard-grid,
    .bem-journey-lower-grid {
        grid-template-columns: 1fr;
    }

    .bem-profile-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bem-profile-form .bem-primary-button {
        grid-column: 1 / -1;
        width: max-content;
    }
}

@media (max-width: 820px) {
    .bem-journey-shell {
        margin-top: 94px;
    }

    .bem-journey-topbar {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .bem-journey-nav {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 3px;
        scrollbar-width: thin;
    }

    .bem-journey-profile {
        justify-content: center;
    }

    .bem-journey-hero {
        grid-template-columns: 1fr;
        padding: 30px;
        text-align: center;
    }

    .bem-journey-hero-copy {
        display: grid;
        justify-items: center;
    }

    .bem-journey-hero-character {
        height: 230px;
        grid-row: 1;
    }

    .bem-journey-hero-character::before {
        width: 220px;
        height: 220px;
    }

    .bem-journey-hero-character img {
        height: 225px;
    }

    .bem-stage-track {
        display: flex;
        overflow-x: auto;
        gap: 12px;
        padding: 7px 2px 10px;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    .bem-stage-card {
        width: min(72vw, 300px);
        flex: 0 0 min(72vw, 300px);
        scroll-snap-align: start;
    }

    .bem-week-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bem-week-summary article:nth-child(2) {
        border-left: 0;
    }

    .bem-week-summary article:nth-child(-n/**/+2) {
        border-bottom: 1px solid #eee7e4;
    }

    .bem-achievements-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bem-membership-card {
        grid-template-columns: 130px minmax(0, 1fr);
    }

    .bem-profile-form {
        grid-template-columns: 1fr 1fr;
    }

    .bem-profile-form .bem-primary-button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .bem-journey-shell {
        width: calc(100% - 16px);
        margin-top: 88px;
        margin-bottom: 45px;
        gap: 14px;
    }

    .bem-journey-topbar,
    .bem-learning-path,
    .bem-journey-card {
        border-radius: 21px;
    }

    .bem-journey-topbar {
        padding: 13px;
    }

    .bem-journey-profile {
        justify-content: flex-start;
    }

    .bem-journey-avatar {
        width: 53px;
        height: 53px;
        flex-basis: 53px;
        border-radius: 17px;
    }

    .bem-journey-nav a {
        min-height: 40px;
        padding: 8px 10px;
        font-size: 10px;
    }

    .bem-journey-membership {
        width: 100%;
        max-width: none;
    }

    .bem-journey-hero {
        min-height: 0;
        gap: 7px;
        padding: 22px 17px 25px;
        border-radius: 24px;
    }

    .bem-journey-hero-character {
        height: 185px;
    }

    .bem-journey-hero-character::before {
        width: 175px;
        height: 175px;
    }

    .bem-journey-hero-character img {
        width: 225px;
        height: 185px;
    }

    .bem-journey-hero h1 {
        font-size: 29px;
    }

    .bem-journey-hero p {
        font-size: 11px;
    }

    .bem-journey-hero-actions,
    .bem-journey-hero-actions .bem-primary-button,
    .bem-journey-hero-actions .bem-secondary-button {
        width: 100%;
    }

    .bem-learning-path,
    .bem-journey-card {
        padding: 18px;
    }

    .bem-section-heading,
    .bem-card-heading {
        gap: 10px;
    }

    .bem-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .bem-section-heading > p {
        max-width: none;
    }

    .bem-section-heading h2,
    .bem-card-heading h2 {
        font-size: 20px;
    }

    .bem-stage-card {
        width: min(78vw, 285px);
        flex-basis: min(78vw, 285px);
    }

    .bem-planner-days {
        gap: 4px;
    }

    .bem-planner-day {
        padding: 8px 2px;
        border-radius: 12px;
    }

    .bem-planner-day > span {
        font-size: 10px;
    }

    .bem-planner-day i {
        width: 27px;
        height: 27px;
        font-size: 21px;
    }

    .bem-planner-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .bem-planner-footer .bem-primary-button {
        width: 100%;
    }

    .bem-progress-body {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .bem-progress-list {
        width: 100%;
    }

    .bem-week-summary article {
        justify-content: flex-start;
        gap: 8px;
        padding: 14px 10px;
    }

    .bem-week-summary article > span {
        width: 37px;
        height: 37px;
        flex-basis: 37px;
        font-size: 20px;
    }

    .bem-week-summary strong {
        font-size: 14px;
    }

    .bem-membership-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .bem-membership-character {
        height: 150px;
    }

    .bem-membership-copy {
        display: grid;
        justify-items: center;
    }

    .bem-profile-form {
        grid-template-columns: 1fr;
    }

    .bem-profile-form .bem-primary-button {
        width: 100%;
        grid-column: auto;
    }

    .bem-card-heading-character {
        display: none;
    }
}

@media (max-width: 390px) {
    .bem-journey-shell {
        width: calc(100% - 12px);
    }

    .bem-journey-nav a span {
        display: none;
    }

    .bem-journey-nav a {
        min-width: 40px;
    }

    .bem-card-heading-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .bem-planner-day > span {
        writing-mode: vertical-rl;
        max-height: 45px;
    }
}

/* Authentication, OTP and custom password recovery — v1.3.0 */
.bem-auth-shell--single{grid-template-columns:1fr;max-width:650px}
.bem-auth-logo--icon{color:var(--bem-blue-dark);font-size:48px}
.bem-auth-logo--icon .bem-icon{width:1em;height:1em}
.bem-auth-flow-card{max-width:560px;margin:auto;width:100%;box-sizing:border-box}
.bem-auth-flow-card>p{color:var(--bem-muted);font-size:13px;line-height:2}
.bem-auth-flow-card .bem-pill{margin:0 auto 8px}
.bem-ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.bem-otp-form{margin-top:24px}
.bem-otp-input{direction:ltr!important;text-align:center!important;font-family:Nunito,Vazirmatn,sans-serif!important;font-size:26px!important;font-weight:900!important;letter-spacing:.32em;padding-right:calc(14px + .32em)!important}
.bem-resend-form{margin-top:14px}
.bem-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:var(--bem-blue-dark);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:8px}
.bem-back-link{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.bem-check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:flex-start;gap:8px!important;font-weight:700!important}
.bem-check-label input{width:17px!important;height:17px!important;min-width:17px!important;margin:0;accent-color:var(--bem-blue-dark)}
.bem-digit-input{direction:ltr;text-align:left}
.bem-notice--info{background:#eef2ff;color:#40599f}

/* Transparent stage artwork: image backgrounds were removed in v1.3.0. */
.bem-stage-character img,.bem-card-heading-character img{mix-blend-mode:normal!important}
.bem-stage-character{background:linear-gradient(180deg,var(--stage-soft),rgba(255,255,255,.95));padding:10px 12px 0}
.bem-stage-character img{object-fit:contain;filter:drop-shadow(0 9px 10px rgba(52,64,95,.08))}
.bem-journey-avatar img{object-fit:contain;padding:4px;background:linear-gradient(145deg,#fff,var(--journey-pink-soft))}
.bem-journey-hero-character::before{opacity:.65}
.bem-journey-hero-character img{object-fit:contain}

@media(max-width:640px){
  .bem-auth-flow-card{padding:24px}
  .bem-otp-input{font-size:23px!important;letter-spacing:.25em}
}
.bem-membership-character img{mix-blend-mode:normal!important;object-fit:contain!important}


/* Account top bar and planner status refinements — v1.3.1 */
.bem-journey-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
}

.bem-journey-avatar {
    background: #fff;
}

.bem-journey-topbar-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.bem-journey-membership {
    max-width: none;
}

.bem-journey-membership > .bem-icon {
    width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    color: currentColor;
}

.bem-journey-logout {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid #f3dce4;
    border-radius: 14px;
    background: #fff7f9;
    color: #a43e62 !important;
    font-size:12px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.bem-journey-logout:hover {
    border-color: #eebfd0;
    background: #fff0f5;
    transform: translateY(-1px);
}

.bem-journey-logout .bem-icon {
    width: 20px;
    height: 20px;
}

.bem-planner-day i {
    position: relative;
    overflow: hidden;
    background: #fff;
    color: #fff;
}

.bem-planner-day i::after {
    content: "";
    width: 7px;
    height: 13px;
    border: solid currentColor;
    border-width: 0 2.5px 2.5px 0;
    opacity: 0;
    transform: translateY(-1px) rotate(45deg) scale(.7);
    transition: opacity .18s ease, transform .18s ease;
}

.bem-planner-day input:checked + i {
    border-color: var(--journey-pink);
    background: var(--journey-pink);
    color: #fff;
    transform: scale(1.05);
}

.bem-planner-day input:checked + i::after {
    opacity: 1;
    transform: translateY(-1px) rotate(45deg) scale(1);
}

@media (max-width: 1100px) {
    .bem-journey-topbar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .bem-journey-membership {
        grid-column: auto;
    }
}

@media (max-width: 820px) {
    .bem-journey-topbar {
        grid-template-columns: 1fr;
    }

    .bem-journey-profile {
        justify-content: flex-start;
    }

    .bem-journey-topbar-actions {
        width: 100%;
        justify-content: space-between;
    }

    .bem-journey-membership {
        flex: 1 1 auto;
        width: auto;
    }
}

@media (max-width: 480px) {
    .bem-journey-topbar-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .bem-journey-logout {
        width: 46px;
        padding-inline: 0;
    }

    .bem-journey-logout span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }
}

/* Keep the transparent character artwork neutral inside the profile badge. */
.bem-journey-avatar img {
    background: transparent !important;
}

/* v1.3.2 — full character roadmap and connected progress path */
.bem-stage-scroll {
    width: 100%;
    min-width: 0;
    overflow: visible;
}

.bem-stage-canvas {
    min-width: 0;
}

.bem-stage-road {
    position: relative;
    height: 58px;
    margin: 0 0 10px;
}

.bem-stage-road-base,
.bem-stage-road-fill {
    position: absolute;
    top: 27px;
    right: 12.5%;
    height: 4px;
    border-radius: 999px;
}

.bem-stage-road-base {
    left: 12.5%;
    background: repeating-linear-gradient(
        90deg,
        #eadfe7 0,
        #eadfe7 10px,
        transparent 10px,
        transparent 17px
    );
}

.bem-stage-road-fill {
    z-index: 1;
    max-width: 75%;
    background: linear-gradient(90deg, var(--journey-purple), var(--journey-green), var(--journey-pink));
    box-shadow: 0 4px 12px rgba(244, 95, 151, .20);
    transition: width .45s ease;
}

.bem-stage-road-nodes {
    position: relative;
    z-index: 2;
    height: 58px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
}

.bem-stage-road-node {
    display: grid;
    place-items: center;
}

.bem-stage-road-node i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #f1edeb;
    color: #a49b98;
    box-shadow: 0 6px 18px rgba(57, 45, 42, .11);
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.bem-stage-road-node i .bem-icon {
    width: 15px;
    height: 15px;
}

.bem-stage-road-node.is-past i {
    background: var(--journey-green);
    color: #fff;
}

.bem-stage-road-node.is-current i {
    position: relative;
    background: var(--journey-pink);
    color: #fff;
    box-shadow: 0 0 0 7px rgba(244, 95, 151, .12), 0 7px 18px rgba(244, 95, 151, .22);
}

.bem-stage-road-node.is-current i::after {
    content: "";
    position: absolute;
    inset: -10px;
    border: 2px solid rgba(244, 95, 151, .25);
    border-radius: 50%;
    animation: bem-stage-pulse 2s ease-out infinite;
}

@keyframes bem-stage-pulse {
    0% { opacity: .85; transform: scale(.72); }
    75%, 100% { opacity: 0; transform: scale(1.2); }
}

.bem-stage-track {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px;
    overflow: visible !important;
    padding: 0 !important;
}

.bem-stage-card {
    display: grid;
    grid-template-rows: 224px auto;
    min-height: 452px;
    overflow: hidden;
    scroll-snap-align: center;
}

.bem-stage-card.is-past {
    border-color: color-mix(in srgb, var(--stage-color) 42%, #ffffff);
}

.bem-stage-card.is-current,
.bem-stage-card.is-current:hover {
    transform: translateY(-5px);
}

.bem-stage-character {
    position: relative;
    min-height: 224px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 14px 12px 6px;
    background:
        radial-gradient(circle at 50% 72%, rgba(255,255,255,.98) 0 34%, transparent 35%),
        linear-gradient(180deg, var(--stage-soft), rgba(255,255,255,.96));
}

.bem-stage-character::after {
    content: "";
    position: absolute;
    right: 20%;
    bottom: 10px;
    left: 20%;
    height: 15px;
    border-radius: 50%;
    background: rgba(65, 49, 45, .10);
    filter: blur(8px);
}

.bem-stage-character img {
    position: relative;
    z-index: 1;
    width: auto !important;
    height: auto !important;
    max-width: 94%;
    max-height: 204px;
    object-fit: contain;
    object-position: center bottom;
    mix-blend-mode: normal !important;
    background: transparent !important;
    filter: drop-shadow(0 9px 12px rgba(57, 45, 42, .10));
}

.bem-stage-character--adventure img {
    max-width: 108%;
    max-height: 190px;
}

.bem-stage-character--fluent img {
    max-height: 198px;
}

.bem-stage-card-copy {
    display: flex;
    flex-direction: column;
    min-height: 228px;
}

.bem-stage-card p {
    min-height: 52px;
    margin-bottom: auto;
}

.bem-stage-progress-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 13px 0 7px;
    color: var(--bem-muted);
    font-size:12px;
}

.bem-stage-progress-label b {
    color: var(--stage-color);
    direction: ltr;
    font-size:12px;
    font-weight: 900;
}

.bem-stage-progress {
    height: 9px;
    box-shadow: inset 0 1px 2px rgba(57, 45, 42, .06);
}

.bem-stage-progress span {
    background: linear-gradient(90deg, color-mix(in srgb, var(--stage-color) 70%, #ffffff), var(--stage-color));
    box-shadow: 0 2px 9px color-mix(in srgb, var(--stage-color) 24%, transparent);
    transition: width .45s ease;
}

.bem-stage-card-copy > small {
    display: none;
}

@media (max-width: 1100px) {
    .bem-stage-scroll {
        overflow-x: auto;
        padding: 4px 2px 12px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .bem-stage-canvas {
        min-width: 920px;
    }

    .bem-stage-track {
        grid-template-columns: repeat(4, minmax(205px, 1fr)) !important;
    }

    .bem-stage-card.is-current,
    .bem-stage-card.is-current:hover {
        transform: none;
    }
}

@media (max-width: 620px) {
    .bem-learning-path {
        padding: 22px 16px;
    }

    .bem-stage-canvas {
        min-width: 840px;
    }

    .bem-stage-track {
        gap: 12px;
        grid-template-columns: repeat(4, 198px) !important;
    }

    .bem-stage-card {
        width: auto;
        min-height: 420px;
        grid-template-rows: 196px auto;
    }

    .bem-stage-character {
        min-height: 196px;
    }

    .bem-stage-character img {
        max-height: 178px;
    }

    .bem-stage-character--adventure img {
        max-height: 164px;
    }

    .bem-stage-road {
        height: 52px;
    }

    .bem-stage-road-base,
    .bem-stage-road-fill {
        top: 24px;
    }

    .bem-stage-road-node i {
        width: 34px;
        height: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bem-stage-road-node.is-current i::after {
        animation: none;
    }
}


/* v1.3.3 — simplified account header and clean logout icon. */
.bem-journey-topbar {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.bem-journey-topbar-actions {
    width: auto;
    justify-content: flex-end;
}

.bem-journey-logout .bem-icon,
.bem-journey-logout .bem-icon path {
    background: transparent !important;
}

.bem-journey-logout .bem-icon {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 820px) {
    .bem-journey-topbar {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .bem-journey-topbar-actions {
        width: auto;
        justify-content: flex-end;
    }
}

@media (max-width: 480px) {
    .bem-journey-topbar-actions {
        display: flex;
    }
}


/* v1.3.6 — playful micro-interactions shared with the public website. */
.bem-primary-button,.bem-secondary-button,.bem-text-button,.bem-tabs button,.bem-journey-logout{
    position:relative;
    overflow:hidden;
    transition:transform .24s cubic-bezier(.2,1.25,.35,1),box-shadow .24s ease,filter .24s ease;
}
.bem-primary-button:hover,.bem-secondary-button:hover,.bem-text-button:hover,.bem-tabs button:hover,.bem-journey-logout:hover{
    transform:translateY(-2px) scale(1.012);
    filter:saturate(1.06);
}
.bem-primary-button:active,.bem-secondary-button:active,.bem-text-button:active,.bem-tabs button:active,.bem-journey-logout:active,.bem-is-pressed{
    transform:translateY(1px) scale(.97)!important;
    box-shadow:none!important;
}
.bem-primary-button .bem-icon,.bem-secondary-button .bem-icon,.bem-text-button .bem-icon,.bem-journey-logout .bem-icon{
    transition:transform .35s cubic-bezier(.2,1.25,.35,1);
}
.bem-primary-button:hover .bem-icon,.bem-secondary-button:hover .bem-icon,.bem-text-button:hover .bem-icon,.bem-journey-logout:hover .bem-icon{
    transform:rotate(-9deg) scale(1.12);
}

.bem-stage-card,.bem-journey-card,.bem-achievement,.bem-week-summary article,.bem-price-card,.bem-planner-day{
    transition:transform .34s cubic-bezier(.22,.9,.32,1.08),box-shadow .3s ease,border-color .25s ease;
}
@media(hover:hover){
    .bem-stage-card:hover,.bem-journey-card:hover,.bem-achievement:hover,.bem-week-summary article:hover,.bem-price-card:hover{
        transform:translateY(-6px);
        box-shadow:0 22px 50px rgba(42,50,82,.12);
    }
    .bem-planner-day:hover{transform:translateY(-4px);border-color:rgba(241,104,164,.55)}
}
.bem-stage-card.is-current:hover{transform:translateY(-8px) scale(1.012)}
.bem-stage-character img,.bem-journey-hero-character img,.bem-membership-character img,.bem-journey-avatar img{
    transition:transform .55s cubic-bezier(.2,1.25,.35,1),filter .3s ease;
}
.bem-stage-card:hover .bem-stage-character img,.bem-membership-card:hover .bem-membership-character img{
    transform:translateY(-5px) rotate(-2deg) scale(1.035);
    filter:saturate(1.07);
}
.bem-journey-hero-character img{animation:bem-bunny-float 5s ease-in-out infinite}
.bem-card-heading-icon,.bem-achievement>span,.bem-week-summary article>span{
    transition:transform .4s cubic-bezier(.2,1.25,.35,1),filter .3s ease;
}
.bem-journey-card:hover .bem-card-heading-icon,.bem-achievement:hover>span,.bem-week-summary article:hover>span{
    transform:rotate(-7deg) scale(1.1);
    filter:saturate(1.1);
}
.bem-planner-day i::after{transition:transform .28s cubic-bezier(.2,1.25,.35,1),opacity .2s ease}
.bem-planner-day input:checked+i{animation:bem-check-pop .42s cubic-bezier(.2,1.25,.35,1)}
.bem-planner-day.bem-just-checked{animation:bem-day-bounce .42s cubic-bezier(.2,1.25,.35,1)}
.bem-stage-progress span,.bem-progress-list i b{
    transform-origin:right center;
    transition:transform 1s cubic-bezier(.2,.85,.3,1),width .7s ease;
}
.bem-journey-shell:not(.bem-micro-ready) .bem-stage-progress span,
.bem-journey-shell:not(.bem-micro-ready) .bem-progress-list i b{transform:scaleX(0)}
.bem-journey-shell.bem-micro-ready .bem-stage-progress span,
.bem-journey-shell.bem-micro-ready .bem-progress-list i b{transform:scaleX(1)}
.bem-progress-ring{transition:transform .45s cubic-bezier(.2,1.25,.35,1)}
.bem-progress-card:hover .bem-progress-ring{transform:rotate(-2deg) scale(1.035)}
.bem-micro-ripple{position:absolute;pointer-events:none;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.72);transform:translate(-50%,-50%) scale(0);animation:bem-ripple-pop .55s ease-out forwards;z-index:8}

@keyframes bem-bunny-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(-1.5deg)}}
@keyframes bem-check-pop{0%{transform:scale(.65)}65%{transform:scale(1.17)}100%{transform:scale(1)}}
@keyframes bem-day-bounce{0%{transform:translateY(0)}55%{transform:translateY(-5px)}100%{transform:translateY(0)}}
@keyframes bem-ripple-pop{0%{opacity:.85;transform:translate(-50%,-50%) scale(0)}70%{opacity:.35;transform:translate(-50%,-50%) scale(7)}100%{opacity:0;transform:translate(-50%,-50%) scale(10)}}

@media(max-width:820px){
    .bem-stage-card:hover,.bem-journey-card:hover,.bem-achievement:hover,.bem-week-summary article:hover,.bem-price-card:hover,.bem-planner-day:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
    .bem-journey-shell *, .bem-auth-shell *, .bem-plans-wrap *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
    .bem-journey-shell:not(.bem-micro-ready) .bem-stage-progress span,.bem-journey-shell:not(.bem-micro-ready) .bem-progress-list i b{transform:none}
}


/* v1.3.8 — logo-based pastel blue and pink palette. */
.bem-primary-button{background:linear-gradient(135deg,#c8def1,#b8d3eb);color:#40516c!important;box-shadow:0 9px 20px rgba(111,143,172,.17)}
.bem-secondary-button{background:#fff1f5;color:#a45f79!important}
.bem-pill{background:#edf6fc;color:#6586a5}
.bem-tabs button.is-active{background:#edf6fc;color:#5f819f}
.bem-auth-intro{background:linear-gradient(145deg,#edf6fc,#fff1f5)}
.bem-auth-logo{background:linear-gradient(145deg,#edf6fc,#fff1f5)}
.bem-form input,.bem-form textarea,.bem-form select,#loginform input[type="text"],#loginform input[type="password"]{background:#fffafb;border-color:#dfe8f0}
.bem-status-card.is-active{background:linear-gradient(135deg,#edf6fc,#f7fbfe);border-color:#c8ddec}
.bem-status-card.is-active .bem-status-icon{background:#d5e7f7;color:#5f819f}
.bem-pricing-card.is-featured{background:linear-gradient(145deg,#edf6fc,#fff1f5);color:var(--bem-ink);border-color:#c7dceb}
.bem-pricing-card.is-featured p,.bem-pricing-card.is-featured li{color:var(--bem-muted)}

.bem-journey-shell{
    --journey-pink:#f2aec3;
    --journey-pink-soft:#fff1f5;
    --journey-green:#a9cbe6;
    --journey-green-soft:#edf6fc;
    --journey-purple:#d7b8c8;
    --journey-purple-soft:#faeff3;
    --journey-blue:#8fb8d8;
    --journey-blue-soft:#eaf4fb;
    --journey-cream:#fffafb;
}
.bem-journey-topbar,.bem-journey-hero,.bem-learning-path,.bem-journey-card,.bem-week-summary{border-color:rgba(111,143,172,.16);box-shadow:0 18px 50px rgba(86,112,139,.08)}
.bem-journey-hero{background:radial-gradient(circle at 12% 10%,rgba(253,205,219,.42),transparent 26%),radial-gradient(circle at 88% 90%,rgba(213,231,247,.62),transparent 30%),linear-gradient(135deg,#fffdfd,#fff5f8 54%,#edf6fc)}
.bem-journey-hero::before,.bem-journey-hero::after{border-color:rgba(185,104,132,.13)}
.bem-journey-eyebrow{color:#a95f7a}
.bem-journey-eyebrow::before{background:#f2aec3;box-shadow:0 0 0 4px rgba(242,174,195,.2)}
.bem-journey-hero h1,.bem-section-heading h2,.bem-card-heading h2,.bem-progress-ring strong,.bem-week-summary strong,.bem-membership-copy h2{color:var(--bem-ink)}
.bem-journey-hero p{color:var(--bem-muted)}
.bem-journey-hero-character::before{box-shadow:inset 0 0 0 1px rgba(185,104,132,.09),0 24px 50px rgba(86,112,139,.1)}
.bem-stage-card{border-color:rgba(111,143,172,.15);box-shadow:0 10px 28px rgba(86,112,139,.06)}
.bem-stage-card:hover{box-shadow:0 18px 36px rgba(86,112,139,.1)}
.bem-stage-number{color:#40516c}
.bem-progress-ring{background:conic-gradient(var(--journey-pink) var(--bem-progress),#eaf0f5 0)}
.bem-progress-list i{background:#edf2f6}
.bem-progress-list b{background:linear-gradient(90deg,#f2aec3,#a9cbe6)}
.bem-progress-note{background:#fff5f8}
.bem-week-summary{border-color:#dfe8f0}
.bem-achievement{border-color:#dfe8f0}
.bem-achievement.is-unlocked>span{background:#fff1f5;color:#b96884}
.bem-achievement.is-locked>span{background:#edf2f6;color:#8b98a8}
.bem-membership-card,.bem-membership-card.is-active{background:linear-gradient(135deg,#fff3f6,#edf6fc)}
.bem-planner-day.is-selected{border-color:#f2aec3;background:#fff1f5}
.bem-planner-day.is-selected .bem-planner-check{background:#f2aec3;color:#40516c}
.bem-journey-logout{color:#a45f79}
.bem-journey-logout:hover{background:#fff1f5}

/* v1.4.0 — manual card-to-card checkout. */
.bem-pricing-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.bem-manual-plans .bem-price-card{display:flex;flex-direction:column;min-width:0}
.bem-manual-plans .bem-price-card .bem-primary-button{margin-top:auto}
.bem-manual-plans .bem-price{font-size:25px;color:var(--bem-ink)}
.bem-checkout-shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:125px 0 70px;direction:rtl;color:var(--bem-ink)}
.bem-checkout-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:24px;align-items:start}
.bem-checkout-summary,.bem-card-transfer-card,.bem-checkout-empty{background:#fff;border:1px solid var(--bem-border);border-radius:28px;padding:28px;box-shadow:0 20px 55px rgba(86,112,139,.09)}
.bem-checkout-empty{max-width:650px;margin:0 auto;text-align:center}
.bem-checkout-summary{position:sticky;top:105px;background:linear-gradient(145deg,#edf6fc,#fff8fa)}
.bem-checkout-summary h2,.bem-card-transfer-card h2,.bem-checkout-empty h2{margin:12px 0 8px;font-size:clamp(24px,3vw,34px)}
.bem-checkout-summary>p{color:var(--bem-muted)}
.bem-checkout-price{font-size:30px;font-weight:950;margin:22px 0;color:#6f8fac}
.bem-bank-card{position:relative;overflow:hidden;display:grid;gap:12px;padding:25px;border-radius:24px;background:linear-gradient(135deg,#c8def1,#f7d9e3);color:#40516c;box-shadow:0 17px 34px rgba(86,112,139,.14);margin:20px 0}
.bem-bank-card::before,.bem-bank-card::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.28)}
.bem-bank-card::before{width:170px;height:170px;left:-65px;top:-85px}.bem-bank-card::after{width:120px;height:120px;right:-45px;bottom:-60px}
.bem-bank-card>*{position:relative;z-index:1}.bem-bank-card small{font-size:12px}.bem-bank-card strong{font-family:Vazirmatn,Tahoma,Arial,sans-serif;font-size:clamp(20px,3vw,28px);font-weight:850;line-height:1.7;letter-spacing:.08em;word-spacing:.28em;direction:ltr;unicode-bidi:isolate;text-align:left;font-variant-numeric:tabular-nums}.bem-bank-card span{font-weight:800}
.bem-copy-card{justify-self:start;border:1px solid rgba(64,81,108,.22);background:rgba(255,255,255,.72);color:#40516c;border-radius:12px;padding:8px 12px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.bem-copy-card.is-copied{background:#fff;color:#8f5c70}
.bem-payment-help{padding:12px 14px;border-radius:15px;background:#fff6f8;color:var(--bem-muted);font-size:12px;line-height:1.9}
.bem-payment-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
.bem-payment-form .bem-full-field{grid-column:1/-1}
.bem-payment-form label small{font-weight:500;color:var(--bem-muted)}
.bem-order-history{margin-top:24px;padding-top:18px;border-top:1px solid var(--bem-border)}
.bem-order-history h3{font-size:15px;margin:0 0 10px}
.bem-order-history__item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 0;font-size:12px;border-bottom:1px dashed var(--bem-border)}
.bem-order-history__number{font-weight:850;color:var(--bem-text)}
.bem-order-history__details{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--bem-muted)}
.bem-order-history__details small{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f7f9fc;font-size:12px;font-weight:750;}
.bem-order-history b{padding:4px 8px;border-radius:999px;white-space:nowrap}.bem-order-history b.is-pending{background:#fff4d7;color:#8a6500}.bem-order-history b.is-approved{background:#e8f7ee;color:#27724a}.bem-order-history b.is-rejected{background:#fff0f3;color:#a64562}
@media(max-width:520px){.bem-order-history__item{grid-template-columns:minmax(0,1fr) auto}.bem-order-history__details{grid-column:1/-1;grid-row:2;justify-content:flex-start}}
@media(max-width:980px){.bem-pricing-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.bem-checkout-grid{grid-template-columns:1fr}.bem-checkout-summary{position:static}}
@media(max-width:620px){.bem-pricing-grid--four{grid-template-columns:1fr}.bem-checkout-shell{padding-top:105px}.bem-checkout-summary,.bem-card-transfer-card,.bem-checkout-empty{padding:20px;border-radius:22px}.bem-payment-form{grid-template-columns:1fr}.bem-payment-form .bem-full-field{grid-column:auto}.bem-bank-card strong{font-size:19px;letter-spacing:1px}}


/* v1.4.1 — compact mobile membership card and stable Bunny artwork. */
.bem-membership-character{
    min-width:0;
    overflow:hidden;
}
.bem-membership-character img{
    width:auto !important;
    height:auto !important;
    max-width:150px;
    max-height:165px;
    object-fit:contain;
    object-position:center;
    mix-blend-mode:normal !important;
    background:transparent !important;
    transform-origin:center bottom;
}
.bem-stage-card[data-bem-current-stage="true"]{
    scroll-margin-inline:18px;
}

@media (max-width:640px){
    .bem-membership-card{
        grid-template-columns:84px minmax(0,1fr);
        align-items:center;
        gap:12px;
        padding:16px;
        text-align:right;
    }
    .bem-membership-character{
        width:84px;
        height:92px;
        align-self:center;
    }
    .bem-membership-character img{
        max-width:82px;
        max-height:90px;
    }
    .bem-membership-copy{
        display:grid;
        min-width:0;
        justify-items:start;
        text-align:right;
    }
    .bem-membership-copy h2{
        margin:4px 0;
        font-size:18px;
        line-height:1.45;
    }
    .bem-membership-copy p{
        margin-bottom:11px;
        font-size:10px;
        line-height:1.8;
    }
    .bem-membership-copy .bem-primary-button,
    .bem-membership-copy .bem-secondary-button{
        width:100%;
        justify-content:center;
    }
}

@media (max-width:390px){
    .bem-membership-card{
        grid-template-columns:72px minmax(0,1fr);
        padding:14px;
        gap:10px;
    }
    .bem-membership-character{
        width:72px;
        height:82px;
    }
    .bem-membership-character img{
        max-width:70px;
        max-height:80px;
    }
}
@media (max-width:640px){
    .bem-membership-card:hover .bem-membership-character img{
        transform:none !important;
        filter:none !important;
    }
}


/* v1.4.2 — image-only receipt uploader with preview. */
.bem-receipt-field{display:grid;gap:8px;min-width:0}
.bem-receipt-label{font-size:12px;font-weight:850;color:var(--bem-ink)}
.bem-receipt-uploader{position:relative;display:block;min-height:230px;border:2px dashed #bfd7eb;border-radius:22px;background:linear-gradient(145deg,#f5faff,#fff6f9);overflow:hidden;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.bem-receipt-uploader:hover,.bem-receipt-uploader:focus-within{border-color:#efa9bf;box-shadow:0 14px 34px rgba(86,112,139,.12);transform:translateY(-2px)}
.bem-receipt-input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;z-index:3;padding:0!important;border:0!important}
.bem-receipt-empty{min-height:230px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;color:var(--bem-muted)}
.bem-receipt-empty strong{font-size:15px;color:var(--bem-ink)}
.bem-receipt-empty small{font-size:12px;line-height:1.8;font-weight:500;}
.bem-receipt-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#e8f3fb;color:#739aba}
.bem-receipt-icon .bem-icon{width:30px;height:30px}
.bem-receipt-preview{position:relative;min-height:230px;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#f7fbfe}
.bem-receipt-preview[hidden]{display:none!important}
.bem-receipt-preview img{width:100%;height:260px;object-fit:contain;display:block;padding:10px;background:repeating-conic-gradient(#f6f8fa 0 25%,#fff 0 50%) 50%/18px 18px}
.bem-receipt-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:#fff;border-top:1px solid var(--bem-border)}
.bem-receipt-preview-meta strong{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--bem-ink)}
.bem-receipt-preview-meta small{font-size:12px;color:var(--bem-muted);font-weight:500;}
.bem-receipt-error{min-height:1.5em;color:#a64562;font-size:12px;font-weight:650;}
.bem-receipt-uploader.has-error{border-color:#e58aa5;background:#fff3f6}
@media(max-width:620px){
  .bem-bank-card strong{font-size:18px;letter-spacing:.04em;word-spacing:.16em;white-space:nowrap}
  .bem-receipt-uploader,.bem-receipt-empty,.bem-receipt-preview{min-height:210px}
  .bem-receipt-preview img{height:230px}
  .bem-receipt-preview-meta{display:grid;justify-items:start}
  .bem-receipt-preview-meta strong{max-width:100%}
}


/* v1.5.0 — duration subscriptions, smooth checkout and coupons. */
.bem-plan-discount{position:absolute;top:18px;left:18px;padding:5px 9px;border-radius:999px;background:#fff0f5;color:#a94f70;font-size:12px;font-weight:900;}
.bem-regular-price,.bem-checkout-regular-price{display:block;color:var(--bem-muted);font-size:12px;margin-top:8px;text-decoration-thickness:1px}
.bem-price-card{position:relative}
.bem-card-transfer-card,.bem-checkout-summary{border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(86,112,139,.08)}
.bem-card-transfer-card{background:linear-gradient(180deg,#fff 0%,#fffdfd 100%)}
.bem-payment-form{gap:16px;margin-top:20px}
.bem-payment-form>label,.bem-payment-form>.bem-full-field{min-width:0}
.bem-payment-form input:not([type="file"]),.bem-payment-form textarea{border:1px solid #dce7ef!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;outline:0;transition:border-color .2s ease,box-shadow .2s ease}
.bem-payment-form input:not([type="file"]):focus,.bem-payment-form textarea:focus{border-color:#a9cbe6!important;box-shadow:0 0 0 4px rgba(169,203,230,.2)!important}
.bem-payment-help{border:1px solid #f3e4e9;background:#fff8fa}
.bem-receipt-uploader{border-style:solid;border-width:1.5px;background:linear-gradient(145deg,#f8fbfe,#fff8fa)}
.bem-coupon-box{display:grid;gap:12px;padding:17px;border:1px solid #dce7ef;border-radius:20px;background:linear-gradient(145deg,#f4f9fd,#fff8fa);transition:border-color .2s ease,box-shadow .2s ease}
.bem-coupon-box.is-applied{border-color:#9fc8b3;box-shadow:0 0 0 4px rgba(159,200,179,.16)}
.bem-coupon-box.has-error{border-color:#e4a3b7}
.bem-coupon-heading{display:flex;align-items:center;gap:10px}
.bem-coupon-heading>div{display:grid;gap:2px}.bem-coupon-heading strong{font-size:13px}.bem-coupon-heading small{font-size:12px;color:var(--bem-muted);}
.bem-coupon-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff0f5;color:#b96884}.bem-coupon-icon .bem-icon{width:22px;height:22px}
.bem-coupon-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.bem-coupon-controls input{min-height:48px;text-transform:uppercase;direction:ltr;text-align:left}
.bem-coupon-controls .bem-secondary-button{min-height:48px;white-space:nowrap}
.bem-coupon-message{min-height:1.5em;font-size:12px;color:var(--bem-muted);}.bem-coupon-message.is-success{color:#36785a}.bem-coupon-message.is-error{color:#a64562}
.bem-payable-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:18px;background:#edf6fc;color:var(--bem-ink)}
.bem-payable-total span{font-size:12px;font-weight:800}.bem-payable-total strong{font-size:21px;font-weight:950;color:#5f819f}
.bem-checkout-coupon-saving{margin-top:-12px;margin-bottom:16px;color:#428267;font-size:12px;font-weight:800;}
@media(max-width:620px){
  .bem-plan-discount{top:14px;left:14px}
  .bem-coupon-controls{grid-template-columns:1fr}
  .bem-coupon-controls .bem-secondary-button{width:100%;justify-content:center}
  .bem-payable-total{align-items:flex-start;flex-direction:column;gap:4px}
  .bem-card-transfer-card,.bem-checkout-summary{border-radius:24px}
}


/* v1.5.1 — compact coupon field beside bank tracking number. */
.bem-coupon-field{
  min-width:0;
  display:grid;
  align-content:start;
  gap:7px;
}
.bem-coupon-field-label{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:12px;
  font-weight:800;
}
.bem-coupon-field-label small{
  font-weight:500;
  color:var(--bem-muted);
}
.bem-coupon-field .bem-coupon-controls{
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.bem-coupon-field .bem-coupon-controls input{
  min-height:49px;
}
.bem-coupon-field .bem-coupon-controls .bem-secondary-button{
  min-height:49px;
  padding-inline:16px;
  border-radius:16px;
}
.bem-coupon-field .bem-coupon-message{
  min-height:18px;
  margin-top:-2px;
}
.bem-coupon-field.is-applied .bem-coupon-controls input{
  border-color:#9fc8b3!important;
  box-shadow:0 0 0 4px rgba(159,200,179,.14)!important;
}
.bem-coupon-field.has-error .bem-coupon-controls input{
  border-color:#e4a3b7!important;
}
@media(max-width:620px){
  .bem-coupon-field .bem-coupon-controls{grid-template-columns:minmax(0,1fr) auto}
  .bem-coupon-field .bem-coupon-controls .bem-secondary-button{width:auto;padding-inline:14px}
}


/* v1.5.2 — keep optional labels inline with their field titles. */
.bem-field-title,
.bem-coupon-field-label{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
  line-height:1.5;
}
.bem-field-title small,
.bem-coupon-field-label small{
  display:inline;
  margin:0;
  font-size:12px;
  font-weight:500;
  color:var(--bem-muted);
  white-space:nowrap;
}


/* v1.5.4 — keep tracking and coupon fields perfectly aligned. */
.bem-payment-inline-field{
  min-width:0;
  display:grid!important;
  grid-template-rows:18px 49px 18px;
  align-content:start;
  gap:7px;
  margin:0;
}
.bem-payment-inline-field>.bem-field-title,
.bem-payment-inline-field>.bem-coupon-field-label{
  width:100%;
  min-width:0;
  height:18px;
  min-height:18px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  line-height:18px;
  white-space:nowrap;
  overflow:hidden;
}
.bem-payment-inline-field>.bem-field-title small,
.bem-payment-inline-field>.bem-coupon-field-label small{
  display:inline-block!important;
  flex:0 0 auto;
  margin:0!important;
  line-height:18px;
  white-space:nowrap;
}
.bem-payment-inline-field>input,
.bem-payment-inline-field>.bem-coupon-controls{
  height:49px;
  min-height:49px;
  margin:0;
}
.bem-payment-inline-field>.bem-coupon-controls input,
.bem-payment-inline-field>.bem-coupon-controls .bem-secondary-button{
  height:49px;
  min-height:49px;
}
.bem-payment-inline-field>.bem-coupon-message,
.bem-field-feedback-placeholder{
  display:block;
  height:18px;
  min-height:18px;
  margin:0!important;
  line-height:18px;
  overflow:hidden;
}
.bem-field-feedback-placeholder{visibility:hidden}
@media(max-width:620px){
  .bem-payment-inline-field{grid-template-rows:18px 49px 18px}
}

/* v1.6.0 — private signed video player */
.bem-secure-video video{display:block;width:100%;height:auto;max-height:72vh;background:#10131b;border-radius:22px;outline:0}

/* Video watch progress and sequential age-stage unlocking. */
.bem-player-progress{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:8px 14px;align-items:center;margin-top:12px;padding:12px 14px;border:1px solid rgba(90,78,140,.16);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(61,50,96,.07);font-size:13px}.bem-player-progress>span{font-weight:800;color:#5f4c88}.bem-player-progress>i{display:block;height:9px;border-radius:999px;background:#eee9f8;overflow:hidden}.bem-player-progress>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7457e8,#ec4899);transition:width .25s ease}.bem-player-progress>small{grid-column:1/-1;color:#776e86}.bem-player-progress.is-complete{border-color:rgba(22,163,74,.24);background:#f2fff7}.bem-player-progress.is-complete>span{color:#15803d}.bem-player-progress.is-complete>i>b{background:#22a95a}.bem-player-progress.has-unlock-message{animation:bemUnlockPulse 1.1s ease 2}@keyframes bemUnlockPulse{50%{transform:translateY(-2px);box-shadow:0 14px 34px rgba(124,92,255,.2)}}
.bem-watch-badge{position:absolute;right:12px;bottom:12px;z-index:3;display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(31,24,58,.14);font-size:12px;font-weight:900;color:#68577f;backdrop-filter:blur(6px);}.bem-watch-badge.is-complete{background:#eafbf0;color:#15743d}.bem-watch-badge.is-progress{background:#fff4fb;color:#a43676}.bem-watch-badge.is-new{background:#f5f2fb;color:#736785}.bem-card-watch-progress{height:5px;margin:0 18px 15px;border-radius:999px;background:#eee9f5;overflow:hidden}.bem-card-watch-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7457e8,#ec4899)}
.bem-path-notice{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:24px;align-items:center;margin:0 0 28px;padding:22px 24px;border:1px solid rgba(104,82,170,.16);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f8f4ff 52%,#fff2f8 100%);box-shadow:0 14px 38px rgba(66,48,112,.08)}.bem-path-notice h2{margin:5px 0 7px;font-size:22px}.bem-path-notice p{margin:0;color:#6e657b;line-height:1.9}.bem-path-notice__eyebrow{font-size:12px;font-weight:900;color:#805bd9}.bem-path-notice__progress{padding:15px;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(62,45,105,.08)}.bem-path-notice__progress strong,.bem-path-notice__progress span{display:block}.bem-path-notice__progress strong{font-size:20px;color:#5d438f}.bem-path-notice__progress span{margin:2px 0 10px;font-size:12px;color:#7b7188}.bem-path-notice__progress i{display:block;height:10px;border-radius:999px;background:#ede8f6;overflow:hidden}.bem-path-notice__progress i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7658e8,#ec4899)}
.bem-stage-card.is-locked{filter:saturate(.45);opacity:.72}.bem-stage-card.is-locked .bem-stage-progress{opacity:.6}
@media(max-width:760px){.bem-path-notice{grid-template-columns:1fr;padding:18px}.bem-player-progress{grid-template-columns:1fr}.bem-player-progress>small{grid-column:auto}.bem-watch-badge{right:9px;bottom:9px;font-size:10px}}

/* v1.10.0 — direct private receipt storage on media host. */
.bem-receipt-remote-note{display:block;color:#527089;font-size:12px;line-height:1.8;font-weight:600;}


/* v1.10.4 — compact last-four-digits card field. */
.bem-card-last-four-field{align-content:start}
.bem-card-last-four-control{display:flex;align-items:center;width:100%;min-width:0;height:49px;box-sizing:border-box;border:1px solid var(--bem-border);background:#fffafb;border-radius:13px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.bem-card-last-four-control:focus-within{border-color:var(--bem-blue);background:#fff;box-shadow:0 0 0 4px rgba(145,169,232,.15)}
.bem-card-last-four-mask{flex:1 1 auto;min-width:0;padding:0 14px;color:#8d8795;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:800;letter-spacing:0;white-space:nowrap;text-align:left;line-height:1;user-select:none}
.bem-form .bem-card-last-four-control input{flex:0 0 76px;width:76px;min-width:76px;height:100%;margin:0;padding:10px 12px;border:0!important;border-right:1px solid #e3eaf0!important;border-radius:0;background:#fff!important;box-shadow:none!important;direction:ltr;text-align:center;font-size:16px;font-weight:900;letter-spacing:2px;unicode-bidi:normal}
.bem-form .bem-card-last-four-control input::placeholder{color:#9b95a2;opacity:1;letter-spacing:2px}
@media(max-width:420px){.bem-card-last-four-mask{padding-inline:10px;font-size:13px}.bem-form .bem-card-last-four-control input{flex-basis:70px;width:70px;min-width:70px;padding-inline:8px}}

/* v1.11.0 — immutable child age badge and reviewed age-change requests. */
.bem-age-choice-fieldset{min-width:0;margin:2px 0 4px;padding:0;border:0}
.bem-age-choice-fieldset legend{margin:0 0 9px;color:var(--bem-text);font-size:12px;font-weight:850}
.bem-age-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.bem-age-choice{position:relative;display:block;min-width:0;margin:0!important;cursor:pointer}
.bem-age-choice input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.bem-age-choice span{display:flex;align-items:center;justify-content:center;min-height:45px;padding:9px 10px;border:1px solid #e6dff0;border-radius:15px;background:#fff;color:#675b70;font-size:12px;font-weight:850;text-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;}
.bem-age-choice:hover span{transform:translateY(-1px);border-color:#cbb9ec;box-shadow:0 8px 20px rgba(91,67,139,.09)}
.bem-age-choice input:checked+span{border-color:#8e6ce0;background:linear-gradient(135deg,#f4efff,#fff4fa);box-shadow:0 0 0 3px rgba(142,108,224,.12);color:#5a3f98}
.bem-age-choice input:focus-visible+span{outline:3px solid rgba(94,130,224,.22);outline-offset:2px}
.bem-age-choice.is-current{cursor:not-allowed}
.bem-age-choice.is-current span{background:#f3f2f6;color:#97919f;border-color:#e4e1e9;box-shadow:none;transform:none}

.bem-profile-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
.bem-age-profile-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px 18px;border:1px solid rgba(106,84,155,.13);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#faf7ff 100%)}
.bem-age-profile-copy{display:flex;align-items:center;gap:12px;min-width:0}
.bem-age-profile-copy>span{color:var(--bem-muted);font-size:12px;font-weight:750;white-space:nowrap;}
.bem-age-profile-badge{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;border-radius:999px;background:linear-gradient(135deg,#f5ecff,#fff0f7);color:#6842a4;font-size:12px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(127,88,193,.11)}
.bem-age-profile-badge svg{width:18px;height:18px;fill:currentColor}
.bem-age-request-open{flex:0 0 auto;white-space:nowrap}
.bem-age-request-pending{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:9px 13px;border-radius:15px;background:#fff8e8;color:#8c620b;border:1px solid #f2dba4}
.bem-age-request-pending strong{font-size:12px}
.bem-age-request-pending small{font-size:12px;color:#987536;}

.bem-age-modal[hidden]{display:none!important}
.bem-age-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid;place-items:center;width:100vw;min-height:100vh;min-height:100dvh;padding:20px;overflow:hidden;direction:rtl;isolation:isolate;transform:none!important;filter:none!important}
.bem-age-modal-backdrop{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;background:rgba(24,20,34,.72);transform:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:auto}
.bem-age-modal-dialog{position:relative;z-index:1;width:min(560px,100%);max-height:min(760px,calc(100vh - 40px));max-height:min(760px,calc(100dvh - 40px));overflow:auto;padding:28px;border:1px solid rgba(112,86,172,.16);border-radius:26px;background:#fff;box-shadow:0 28px 90px rgba(28,20,52,.32);transform:none!important;filter:none!important}
.bem-age-modal-dialog h2{margin:6px 0 8px;color:#3d3048;font-size:23px}
.bem-age-modal-dialog>p{margin:0 0 20px;color:var(--bem-muted);font-size:12px;line-height:1.9}
.bem-age-modal-close{position:absolute;top:14px;left:14px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#f4f0f7;color:#73667b;font-size:25px;line-height:1;cursor:pointer}
.bem-age-modal-close:hover{background:#ece4f3;color:#4d3c5b}
.bem-age-request-form{display:grid;gap:16px}
.bem-age-request-form label{display:grid;gap:8px;color:var(--bem-text);font-size:12px;font-weight:850}
.bem-age-request-form label small{color:var(--bem-muted);font-size:12px;font-weight:650;}
.bem-age-request-form textarea{display:block;width:100%;min-width:0;min-height:110px;box-sizing:border-box;padding:13px 15px;border:1px solid #dfe8f0;border-radius:16px;background:#fffafb;color:var(--bem-ink);font:inherit;font-size:12px;font-weight:500;line-height:1.9;outline:0;resize:vertical;box-shadow:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.bem-age-request-form textarea::placeholder{color:#a49aa9;opacity:1}
.bem-age-request-form textarea:focus{border-color:#a9cbe6;background:#fff;box-shadow:0 0 0 4px rgba(169,203,230,.2)}
.bem-age-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
html.bem-age-modal-open,body.bem-age-modal-open{overflow:hidden!important;overscroll-behavior:none}

@media(max-width:820px){
  .bem-profile-form{grid-template-columns:1fr 1fr}
  .bem-profile-form .bem-primary-button{grid-column:1/-1}
}
@media(max-width:620px){
  .bem-age-choice-grid{grid-template-columns:1fr}
  .bem-profile-form{grid-template-columns:1fr}
  .bem-profile-form .bem-primary-button{grid-column:auto;width:100%}
  .bem-age-profile-row{align-items:stretch;flex-direction:column}
  .bem-age-profile-copy{justify-content:space-between}
  .bem-age-request-open{width:100%;justify-content:center}
  .bem-age-request-pending{align-items:flex-start}
  .bem-age-modal{padding:12px}
  .bem-age-modal-dialog{max-height:calc(100vh - 24px);padding:24px 18px 20px;border-radius:22px}
  .bem-age-modal-actions>*{width:100%;justify-content:center}
}
.bem-form label.bem-age-choice{display:block;gap:0;font-size:inherit;font-weight:inherit}
.bem-form label.bem-age-choice>span{display:flex}

/* Bunny responsive font floor: desktop 12px, mobile 10px. */
@media (max-width: 768px) {
  .bem-pill{font-size:11px}
  .bem-sidebar-email{font-size:10px}
  .bem-status-item > span{font-size:11px}
  .bem-panel-heading p{font-size:11px}
  .bem-price-days{font-size:11px}
  .bem-popular{font-size:10px}
  .vip-badge{font-size:10px}
  .bem-journey-profile-copy small{font-size:10px}
  .bem-journey-nav a{font-size:11px}
  .bem-journey-membership small{font-size:10px}
  .bem-journey-membership strong{font-size:11px}
  .bem-journey-eyebrow{font-size:10px}
  .bem-section-heading > p,
.bem-card-heading p{font-size:10px}
  .bem-stage-state{font-size:10px}
  .bem-stage-card-copy > strong{font-size:11px}
  .bem-stage-card p{font-size:10px}
  .bem-stage-card-copy > small{font-size:10px}
  .bem-planner-day > span{font-size:10px}
  .bem-planner-day > small{font-size:10px}
  .bem-planner-footer p{font-size:11px}
  .bem-progress-ring span{font-size:10px}
  .bem-progress-list span,
.bem-progress-list strong{font-size:10px}
  .bem-progress-note{font-size:10px}
  .bem-week-summary small{font-size:10px}
  .bem-achievement strong{font-size:10px}
  .bem-achievement small{font-size:10px}
  .bem-membership-copy p{font-size:10px}
  .bem-journey-logout{font-size:11px}
  .bem-stage-progress-label{font-size:10px}
  .bem-stage-progress-label b{font-size:10px}
  .bem-order-history__details small{font-size:11px}
  .bem-receipt-empty small{font-size:11px}
  .bem-receipt-preview-meta small{font-size:10px}
  .bem-receipt-error{font-size:11px}
  .bem-plan-discount{font-size:10px}
  .bem-coupon-heading small{font-size:10px}
  .bem-coupon-message{font-size:11px}
  .bem-checkout-coupon-saving{font-size:11px}
  .bem-field-title small,
.bem-coupon-field-label small{font-size:10px}
  .bem-watch-badge{font-size:11px}
  .bem-receipt-remote-note{font-size:11px}
  .bem-age-choice span{font-size:11px}
  .bem-age-profile-copy>span{font-size:11px}
  .bem-age-request-pending small{font-size:10px}
  .bem-age-request-form label small{font-size:10px}
}
/* Bunny Core weekly-program compatibility. */
.bem-journey-shell--weekly{display:grid;gap:24px}.bem-journey-avatar--simple{display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(135deg,#e5f3fb,#fceaf2)}.bem-core-learning-panel{min-width:0}.bem-account-v2-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bem-membership-character--icon{display:flex;align-items:center;justify-content:center;font-size:56px}.bem-age-profile-row--v2{margin-top:20px}.bem-age-request-details{margin-top:18px;border:1px solid rgba(73,104,124,.14);border-radius:16px;padding:0 15px}.bem-age-request-details summary{cursor:pointer;padding:14px 0;font-weight:800}.bem-age-request-form--inline{padding:4px 0 16px}@media(max-width:900px){.bem-account-v2-grid{grid-template-columns:1fr}}


/* ========================================================================
 * Bunny Membership 2.0.1 — native Bunny dark-mode support
 * The theme sets data-bunny-theme="dark" on <html>. Membership owns the
 * subscription and checkout markup, so its own fixed light surfaces must be
 * converted here rather than relying on theme-specific selector guesses.
 * ===================================================================== */
html[data-bunny-theme="dark"] {
    --bem-blue: #263d58;
    --bem-blue-dark: #a9c9e4;
    --bem-pink: #b76586;
    --bem-ink: #eef5ff;
    --bem-text: #eef5ff;
    --bem-muted: #aebdce;
    --bem-bg: #0f1724;
    --bem-border: #34475f;
    --bem-green: #89c8b0;
    --bem-shadow: 0 18px 55px rgba(0,0,0,.32);
    --bem-shadow-soft: 0 10px 35px rgba(0,0,0,.24);
}

html[data-bunny-theme="dark"] :is(
    .bem-auth-shell,
    .bem-account-shell,
    .bem-plans-wrap,
    .bem-account-guest,
    .bem-checkout-shell
){
    color: var(--bem-ink) !important;
}

html[data-bunny-theme="dark"] :is(
    .bem-price-card,
    .bem-checkout-summary,
    .bem-card-transfer-card,
    .bem-checkout-empty,
    .bem-auth-shell,
    .bem-auth-card,
    .bem-account-card,
    .bem-panel-card,
    .bem-membership-card,
    .bem-journey-card,
    .bem-stage-card,
    .bem-achievement,
    .bem-notice
){
    background: #182538 !important;
    color: #eef5ff !important;
    border-color: #34475f !important;
    box-shadow: var(--bem-shadow-soft) !important;
}

html[data-bunny-theme="dark"] .bem-price-card.is-featured{
    background: linear-gradient(145deg,#1b3045,#30202d) !important;
    border-color: #b76586 !important;
    box-shadow: 0 20px 52px rgba(0,0,0,.38) !important;
}

html[data-bunny-theme="dark"] :is(
    .bem-plans-heading h2,
    .bem-price-card h3,
    .bem-checkout-summary h2,
    .bem-card-transfer-card h2,
    .bem-checkout-empty h2,
    .bem-order-history h3,
    .bem-receipt-empty strong,
    .bem-receipt-preview-meta strong,
    .bem-receipt-label,
    .bem-field-title,
    .bem-payment-form label,
    .bem-payable-total strong
){
    color: #f4f8ff !important;
    opacity: 1 !important;
}

html[data-bunny-theme="dark"] :is(
    .bem-plans-heading p,
    .bem-price-card p,
    .bem-price-card li,
    .bem-checkout-summary>p,
    .bem-payment-form label small,
    .bem-receipt-empty,
    .bem-receipt-empty small,
    .bem-receipt-preview-meta small,
    .bem-order-history__details,
    .bem-payment-help,
    .bem-coupon-message,
    .bem-regular-price,
    .bem-checkout-regular-price
){
    color: #b8c7d7 !important;
    opacity: 1 !important;
}

html[data-bunny-theme="dark"] :is(
    .bem-price,
    .bem-checkout-price,
    .bem-payable-total strong,
    .bem-order-history__number
){
    color: #eef5ff !important;
}

html[data-bunny-theme="dark"] :is(.bem-pill,.bem-price-days){
    background: #1b2d43 !important;
    color: #cfe3f4 !important;
    border: 1px solid #40556f !important;
}

html[data-bunny-theme="dark"] .bem-plan-discount{
    background: #382331 !important;
    color: #f3b2cd !important;
    border: 1px solid #5a3b50 !important;
}

html[data-bunny-theme="dark"] .bem-popular{
    background: #b76586 !important;
    color: #fff !important;
}

html[data-bunny-theme="dark"] .bem-plan-features .bem-icon{
    color: #91cdb5 !important;
}

html[data-bunny-theme="dark"] .bem-checkout-summary{
    background: linear-gradient(145deg,#172d42,#251d2c) !important;
}

html[data-bunny-theme="dark"] .bem-card-transfer-card{
    background: linear-gradient(180deg,#182538 0%,#151f30 100%) !important;
}

html[data-bunny-theme="dark"] .bem-payable-total{
    background: #142b40 !important;
    color: #dce9f7 !important;
    border: 1px solid #304a64 !important;
}

html[data-bunny-theme="dark"] .bem-bank-card{
    background:
        radial-gradient(circle at 8% 12%,rgba(255,255,255,.08),transparent 28%),
        radial-gradient(circle at 92% 90%,rgba(183,101,134,.18),transparent 34%),
        linear-gradient(135deg,#203c58,#3a2838) !important;
    color: #eef5ff !important;
    border: 1px solid #40556f !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.28) !important;
}

html[data-bunny-theme="dark"] .bem-bank-card::before,
html[data-bunny-theme="dark"] .bem-bank-card::after{
    background: rgba(255,255,255,.05) !important;
}

html[data-bunny-theme="dark"] .bem-bank-card :is(small,strong,span){
    color: #eef5ff !important;
}

html[data-bunny-theme="dark"] .bem-copy-card{
    background: #182538 !important;
    color: #dce9f7 !important;
    border-color: #49617e !important;
}

html[data-bunny-theme="dark"] .bem-copy-card:hover,
html[data-bunny-theme="dark"] .bem-copy-card.is-copied{
    background: #382331 !important;
    color: #f2b3ce !important;
}

html[data-bunny-theme="dark"] .bem-payment-help{
    background: #241d28 !important;
    border-color: #4b3442 !important;
}

html[data-bunny-theme="dark"] .bem-payment-form input:not([type="file"]),
html[data-bunny-theme="dark"] .bem-payment-form textarea,
html[data-bunny-theme="dark"] .bem-payment-form select{
    background: #121e2f !important;
    color: #eef5ff !important;
    border-color: #34475f !important;
    box-shadow: none !important;
}

html[data-bunny-theme="dark"] .bem-payment-form input:not([type="file"]):focus,
html[data-bunny-theme="dark"] .bem-payment-form textarea:focus,
html[data-bunny-theme="dark"] .bem-payment-form select:focus{
    border-color: #7198b9 !important;
    box-shadow: 0 0 0 4px rgba(113,152,185,.18) !important;
}

html[data-bunny-theme="dark"] .bem-payment-form :is(input,textarea)::placeholder{
    color: #8295aa !important;
    opacity: 1 !important;
}

html[data-bunny-theme="dark"] .bem-card-last-four-control{
    color: #eef5ff !important;
}

html[data-bunny-theme="dark"] .bem-card-last-four-mask{
    color: #7f91a6 !important;
}

html[data-bunny-theme="dark"] .bem-coupon-box{
    background: linear-gradient(145deg,#142033,#241c28) !important;
    border-color: #34475f !important;
}

html[data-bunny-theme="dark"] .bem-coupon-icon{
    background: #382331 !important;
    color: #f0a9c4 !important;
}

html[data-bunny-theme="dark"] .bem-receipt-uploader{
    background: linear-gradient(145deg,#142033,#231c28) !important;
    border-color: #40556f !important;
    box-shadow: none !important;
}

html[data-bunny-theme="dark"] .bem-receipt-uploader:hover,
html[data-bunny-theme="dark"] .bem-receipt-uploader:focus-within{
    border-color: #b76586 !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.25) !important;
}

html[data-bunny-theme="dark"] .bem-receipt-uploader.has-error{
    background: #301e28 !important;
    border-color: #a85d78 !important;
}

html[data-bunny-theme="dark"] .bem-receipt-icon{
    background: #1b3047 !important;
    color: #b9d8ef !important;
}

html[data-bunny-theme="dark"] .bem-receipt-preview{
    background: #111d2d !important;
}

html[data-bunny-theme="dark"] .bem-receipt-preview img{
    background: repeating-conic-gradient(#131f30 0 25%,#182538 0 50%) 50%/18px 18px !important;
}

html[data-bunny-theme="dark"] .bem-receipt-preview-meta{
    background: #182538 !important;
    border-color: #34475f !important;
}

html[data-bunny-theme="dark"] .bem-order-history{
    border-color: #34475f !important;
}

html[data-bunny-theme="dark"] .bem-order-history__item{
    border-color: #34475f !important;
}

html[data-bunny-theme="dark"] .bem-order-history__details small{
    background: #142033 !important;
    color: #b8c7d7 !important;
    border: 1px solid #304158 !important;
}

html[data-bunny-theme="dark"] .bem-order-history b.is-pending{
    background: #3a2d18 !important;
    color: #f1d48a !important;
}

html[data-bunny-theme="dark"] .bem-order-history b.is-approved{
    background: #1f3a2f !important;
    color: #cfead8 !important;
}

html[data-bunny-theme="dark"] .bem-order-history b.is-rejected{
    background: #3b2029 !important;
    color: #f1b7ca !important;
}

html[data-bunny-theme="dark"] .bem-primary-button{
    background: linear-gradient(135deg,#416d91,#9d5877) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.25) !important;
}

html[data-bunny-theme="dark"] .bem-secondary-button{
    background: #1b2d43 !important;
    color: #dce9f7 !important;
    border: 1px solid #40556f !important;
}

html[data-bunny-theme="dark"] .bem-notice--error{
    background: #351f27 !important;
    color: #f3b8ca !important;
    border-color: #65404f !important;
}

html[data-bunny-theme="dark"] input:-webkit-autofill,
html[data-bunny-theme="dark"] input:-webkit-autofill:hover,
html[data-bunny-theme="dark"] input:-webkit-autofill:focus,
html[data-bunny-theme="dark"] textarea:-webkit-autofill{
    -webkit-text-fill-color: #eef5ff !important;
    -webkit-box-shadow: 0 0 0 1000px #121e2f inset !important;
    caret-color: #eef5ff !important;
}


/* ========================================================================
 * Bunny Membership 2.0.2 — journey/account dark-mode coverage
 * Covers account dashboard, journey cards, profile forms and age controls
 * that were still using light-only backgrounds in dark mode.
 * ===================================================================== */
html[data-bunny-theme="dark"] :is(
    .bem-journey-shell,
    .bem-journey-shell--weekly,
    .bem-core-learning-panel,
    .bem-account-v2-grid
){
    color: var(--bem-ink) !important;
}

html[data-bunny-theme="dark"] :is(
    .bem-journey-topbar,
    .bem-journey-hero,
    .bem-learning-path,
    .bem-journey-card,
    .bem-week-summary,
    .bem-week-summary article,
    .bem-stage-card,
    .bem-achievement,
    .bem-planner-day,
    .bem-profile-card,
    .bem-membership-card,
    .bem-age-profile-row,
    .bem-age-request-details,
    .bem-age-request-pending,
    .bem-account-guest,
    .bem-empty-state,
    .bem-auth-card,
    .bem-panel-card
){
    background: #182538 !important;
    color: #eef5ff !important;
    border-color: #34475f !important;
    box-shadow: var(--bem-shadow-soft) !important;
}

html[data-bunny-theme="dark"] .bem-journey-hero{
    background:
      radial-gradient(circle at 12% 10%,rgba(183,101,134,.20),transparent 26%),
      radial-gradient(circle at 88% 90%,rgba(72,118,155,.22),transparent 30%),
      linear-gradient(135deg,#182a3d,#221c29 56%,#162333) !important;
}

html[data-bunny-theme="dark"] .bem-journey-hero::before,
html[data-bunny-theme="dark"] .bem-journey-hero::after{
    border-color: rgba(113,152,185,.18) !important;
}

html[data-bunny-theme="dark"] .bem-journey-avatar,
html[data-bunny-theme="dark"] .bem-journey-avatar--simple,
html[data-bunny-theme="dark"] .bem-membership-character--icon,
html[data-bunny-theme="dark"] .bem-card-heading-icon,
html[data-bunny-theme="dark"] .bem-achievement > span,
html[data-bunny-theme="dark"] .bem-week-summary article > span{
    background: #1b3047 !important;
    color: #d8b8ef !important;
    box-shadow: none !important;
}

html[data-bunny-theme="dark"] .bem-journey-avatar img{
    background: linear-gradient(145deg,#1d3044,#231c28) !important;
}

html[data-bunny-theme="dark"] :is(
    .bem-journey-profile-copy strong,
    .bem-journey-profile-copy small,
    .bem-journey-hero h1,
    .bem-journey-hero p,
    .bem-section-heading h2,
    .bem-section-heading > p,
    .bem-card-heading h2,
    .bem-card-heading p,
    .bem-stage-card h3,
    .bem-stage-card p,
    .bem-stage-card-copy > strong,
    .bem-stage-card-copy > small,
    .bem-membership-copy h2,
    .bem-membership-copy p,
    .bem-week-summary strong,
    .bem-week-summary small,
    .bem-progress-ring strong,
    .bem-progress-ring span,
    .bem-age-profile-copy > span,
    .bem-age-request-pending strong,
    .bem-age-request-pending small,
    .bem-age-request-details summary,
    .bem-journey-nav a,
    .bem-journey-membership strong,
    .bem-journey-membership small,
    .bem-journey-membership span,
    .bem-account-guest h2,
    .bem-account-guest p
){
    color: inherit !important;
    opacity: 1 !important;
}

html[data-bunny-theme="dark"] :is(
    .bem-journey-eyebrow,
    .bem-kicker,
    .bem-section-heading > p,
    .bem-card-heading p,
    .bem-journey-profile-copy small,
    .bem-journey-membership small,
    .bem-stage-card p,
    .bem-stage-card-copy > small,
    .bem-week-summary small,
    .bem-membership-copy p,
    .bem-age-profile-copy > span,
    .bem-age-request-pending small
){
    color: #b8c7d7 !important;
}

html[data-bunny-theme="dark"] .bem-journey-eyebrow::before{
    background: #b76586 !important;
    box-shadow: 0 0 0 4px rgba(183,101,134,.16) !important;
}

html[data-bunny-theme="dark"] .bem-progress-ring{
    background: conic-gradient(#b76586 var(--bem-progress), #24384d 0) !important;
}
html[data-bunny-theme="dark"] .bem-progress-ring::before{
    background: #182538 !important;
}

html[data-bunny-theme="dark"] .bem-week-summary article{
    background: #142033 !important;
}

html[data-bunny-theme="dark"] .bem-planner-day{
    background: #142033 !important;
}
html[data-bunny-theme="dark"] .bem-planner-day.is-selected,
html[data-bunny-theme="dark"] .bem-planner-day.is-today{
    background: #1d3046 !important;
    border-color: #5e7895 !important;
}
html[data-bunny-theme="dark"] .bem-planner-day > span,
html[data-bunny-theme="dark"] .bem-planner-day > small{
    color: #d6e3ef !important;
}
html[data-bunny-theme="dark"] .bem-planner-day i{
    background: #24384d !important;
    border-color: #40556f !important;
}
html[data-bunny-theme="dark"] .bem-planner-day input:checked + i{
    background: #b76586 !important;
    border-color: #b76586 !important;
}

html[data-bunny-theme="dark"] .bem-age-profile-row{
    background: linear-gradient(145deg,#182538,#201d2c) !important;
}
html[data-bunny-theme="dark"] .bem-age-profile-badge{
    background: linear-gradient(135deg,#1c2e45,#241e2c) !important;
    color: #e8d3f6 !important;
    box-shadow: inset 0 0 0 1px rgba(122,140,169,.16) !important;
}
html[data-bunny-theme="dark"] .bem-age-request-pending{
    background: #352915 !important;
    color: #f2d48c !important;
    border-color: #69502a !important;
}
html[data-bunny-theme="dark"] .bem-age-request-details{
    background: #142033 !important;
}
html[data-bunny-theme="dark"] .bem-age-choice span{
    background: #121e2f !important;
    color: #dce9f7 !important;
    border-color: #34475f !important;
}
html[data-bunny-theme="dark"] .bem-age-choice:hover span{
    border-color: #587293 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.22) !important;
}
html[data-bunny-theme="dark"] .bem-age-choice input:checked + span{
    border-color: #8f79d8 !important;
    background: linear-gradient(135deg,#1e2d45,#2b2134) !important;
    color: #eadcf8 !important;
    box-shadow: 0 0 0 3px rgba(143,121,216,.15) !important;
}
html[data-bunny-theme="dark"] .bem-age-choice.is-current span{
    background: #1a2738 !important;
    color: #8ea1b5 !important;
    border-color: #314255 !important;
}

html[data-bunny-theme="dark"] .bem-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), textarea, select){
    background: #121e2f !important;
    color: #eef5ff !important;
    border-color: #34475f !important;
    box-shadow: none !important;
}
html[data-bunny-theme="dark"] .bem-form :is(input,textarea,select):focus{
    border-color: #7198b9 !important;
    box-shadow: 0 0 0 4px rgba(113,152,185,.18) !important;
}
html[data-bunny-theme="dark"] .bem-form :is(input,textarea)::placeholder{
    color: #90a4ba !important;
    opacity: 1 !important;
}

html[data-bunny-theme="dark"] .bem-card-last-four-control{
    background: #121e2f !important;
    border-color: #34475f !important;
}
html[data-bunny-theme="dark"] .bem-form .bem-card-last-four-control input{
    background: #182538 !important;
    color: #eef5ff !important;
    border-right-color: #34475f !important;
}
html[data-bunny-theme="dark"] .bem-form .bem-card-last-four-control input::placeholder{
    color: #90a4ba !important;
}

html[data-bunny-theme="dark"] .bem-journey-logout{
    background: #1b2d43 !important;
    color: #dce9f7 !important;
    border: 1px solid #40556f !important;
}
html[data-bunny-theme="dark"] .bem-journey-logout:hover{
    background: #24384d !important;
}


/* ========================================================================
 * Bunny Membership 2.0.3 — pricing label dark-mode cleanup
 * The duration label is plain text in the light UI. It must not inherit the
 * bordered pill treatment in dark mode, otherwise an unwanted rectangular
 * stroke appears around “روز دسترسی”.
 * ===================================================================== */
html[data-bunny-theme="dark"] .bem-price-days{
    display:inline !important;
    width:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    color:#cfe3f4 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    outline:0 !important;
}

html[data-bunny-theme="dark"] .bem-price-card .bem-price-days::before,
html[data-bunny-theme="dark"] .bem-price-card .bem-price-days::after{
    display:none !important;
    content:none !important;
}


/* Bunny Membership 2.0.6 — unified account actions and destructive logout */
.bem-journey-topbar-actions > :is(.bem-secondary-button,.bem-primary-button,.bem-journey-logout){
    box-sizing:border-box!important;
    height:48px!important;
    min-height:48px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 18px!important;
    border-radius:15px!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.bem-journey-topbar-actions > :is(.bem-secondary-button,.bem-primary-button){
    border:1px solid transparent!important;
}
.bem-journey-topbar-actions > .bem-journey-logout{
    background:#fff1f4!important;
    color:#b23e5d!important;
    border:1px solid #efb7c5!important;
    box-shadow:none!important;
}
.bem-journey-topbar-actions > .bem-journey-logout:hover{
    background:#ffe5eb!important;
    color:#982c4b!important;
    border-color:#df8da1!important;
    box-shadow:0 8px 20px rgba(178,62,93,.12)!important;
}
.bem-journey-topbar-actions > .bem-journey-logout .bem-icon{
    width:19px!important;
    height:19px!important;
}
html[data-bunny-theme="dark"] .bem-journey-topbar-actions > .bem-journey-logout{
    background:#351f29!important;
    color:#ffb7c7!important;
    border-color:#6e3547!important;
}
html[data-bunny-theme="dark"] .bem-journey-topbar-actions > .bem-journey-logout:hover{
    background:#462532!important;
    color:#ffd0da!important;
    border-color:#98526a!important;
    box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
}
@media(max-width:480px){
    .bem-journey-topbar-actions > :is(.bem-secondary-button,.bem-primary-button,.bem-journey-logout){
        height:46px!important;
        min-height:46px!important;
        padding-inline:14px!important;
        font-size:12px!important;
    }
}


/* Bunny Membership 2.0.7 — dark auth screen fix */
html[data-bunny-theme="dark"] .bem-auth-shell{
    background:#182538!important;
    border-color:#34475f!important;
    box-shadow:var(--bem-shadow)!important;
}
html[data-bunny-theme="dark"] .bem-auth-intro,
html[data-bunny-theme="dark"] .bem-auth-logo{
    background:linear-gradient(145deg,#1a2a3d,#231d2a 72%,#172435)!important;
    color:#eef5ff!important;
}
html[data-bunny-theme="dark"] .bem-auth-intro h1,
html[data-bunny-theme="dark"] .bem-auth-intro h2,
html[data-bunny-theme="dark"] .bem-auth-intro strong,
html[data-bunny-theme="dark"] .bem-auth-panels h1,
html[data-bunny-theme="dark"] .bem-auth-panels h2,
html[data-bunny-theme="dark"] .bem-auth-panels label,
html[data-bunny-theme="dark"] .bem-auth-card--single h1,
html[data-bunny-theme="dark"] .bem-auth-card--single h2{
    color:#eef5ff!important;
}
html[data-bunny-theme="dark"] .bem-auth-intro p,
html[data-bunny-theme="dark"] .bem-auth-intro li,
html[data-bunny-theme="dark"] .bem-auth-panels p,
html[data-bunny-theme="dark"] .bem-auth-panels .description,
html[data-bunny-theme="dark"] #loginform p,
html[data-bunny-theme="dark"] .bem-auth-card--single p{
    color:#c3d2e3!important;
}
html[data-bunny-theme="dark"] .bem-feature-list .bem-icon{
    color:#89c8b0!important;
}
html[data-bunny-theme="dark"] .bem-tabs{
    background:#101a29!important;
    border:1px solid #34475f!important;
}
html[data-bunny-theme="dark"] .bem-tabs button{
    color:#aebdce!important;
}
html[data-bunny-theme="dark"] .bem-tabs button.is-active{
    background:#203249!important;
    color:#eef5ff!important;
    box-shadow:none!important;
}
html[data-bunny-theme="dark"] :is(.bem-form input,.bem-form textarea,.bem-form select,#loginform input[type="text"],#loginform input[type="password"]){
    background:#0f1a29!important;
    border-color:#34475f!important;
    color:#eef5ff!important;
}
html[data-bunny-theme="dark"] :is(.bem-form input,.bem-form textarea,.bem-form select,#loginform input[type="text"],#loginform input[type="password"])::placeholder{
    color:#90a4bb!important;
}
html[data-bunny-theme="dark"] :is(.bem-form input,.bem-form textarea,.bem-form select,#loginform input[type="text"],#loginform input[type="password"]):focus{
    background:#132033!important;
    border-color:#6f8fac!important;
    box-shadow:0 0 0 4px rgba(111,143,172,.18)!important;
}
html[data-bunny-theme="dark"] .bem-auth-panels,
html[data-bunny-theme="dark"] .bem-auth-card--single{
    background:transparent!important;
}
html[data-bunny-theme="dark"] .bem-pill{
    background:#203249!important;
    color:#d4e3f2!important;
}
html[data-bunny-theme="dark"] .bem-secondary-button{
    background:#203249!important;
    color:#dbe8f5!important;
}


/* Bunny Membership 2.0.9 — RTL progress bars across account, journey and video UI */
.bem-stage-progress,
.bem-progress-list i,
.bem-player-progress > i,
.bem-card-watch-progress,
.bem-path-notice__progress i,
.bem-upload-progress {
    direction: rtl;
}
.bem-stage-progress > span,
.bem-progress-list i > b,
.bem-player-progress > i > b,
.bem-card-watch-progress > span,
.bem-path-notice__progress i > b,
.bem-upload-progress > span {
    display: block;
    margin-right: 0;
    margin-left: auto;
    transform-origin: right center;
}
.bem-stage-road-fill {
    right: 12.5%;
    left: auto;
    transform-origin: right center;
}
