.ob-public-page .btn,
.ob-public-page button,
.ob-public-page input,
.ob-public-page select,
.ob-public-page textarea {
    font-family: inherit;
}

.ob-public-page .btn {
    border-radius: 14px;
}

.ob-public-page table {
    background: transparent;
}

.ob-public-page .accordion,
.ob-public-page .accordion li {
    border-color: rgba(148, 163, 184, .18);
}

.ob-public-page .accordion__title {
    color: #0f172a;
    font-weight: 800;
}

.ob-public-page .accordion__content {
    color: var(--wf-muted);
}

.ob-public-search-form {
    display: flex;
    gap: 10px;
    max-width: 520px;
    margin-top: 24px;
}

.ob-public-search-form input {
    flex: 1;
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, .28);
    padding: 0 16px;
    background: rgba(255,255,255,.86);
}

.ob-public-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.ob-public-tags span {
    color: rgba(255,255,255,.86);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    padding: 8px 12px;
    font-weight: 700;
}

.ob-download-file-name,
.ob-download-simple-title {
    color: #0f172a;
    letter-spacing: -0.035em;
}

.ob-download-file-meta,
.ob-download-simple-desc,
.ob-download-side-desc,
.ob-download-option-desc {
    color: var(--wf-muted);
    line-height: 1.75;
}

.ob-download-file-icon,
.ob-download-file-icon-center {
    color: #ffffff;
    background: linear-gradient(135deg, var(--wf-primary), var(--wf-primary-2));
    box-shadow: 0 18px 40px rgba(37, 99, 235, .22);
}

.ob-vip-page,
.ob-upgrade-page {
    background:
        radial-gradient(circle at 8% 8%, rgba(37, 99, 235, .10), transparent 32%),
        radial-gradient(circle at 86% 6%, rgba(124, 58, 237, .10), transparent 30%),
        #f7f9ff;
}

.ob-vip-card,
.ob-upgrade-card,
.ob-vip-plan,
.ob-upgrade-plan {
    border-radius: var(--wf-radius-lg) !important;
    border: 1px solid rgba(148, 163, 184, .22) !important;
    box-shadow: var(--wf-shadow-sm) !important;
}

.ob-vip-card:hover,
.ob-upgrade-card:hover,
.ob-vip-plan:hover,
.ob-upgrade-plan:hover {
    box-shadow: var(--wf-shadow-md) !important;
}

/* Step 14: VIP / upgrade page visual tightening */
.ob-vip-page,
.ob-upgrade-page,
[class*="ob-vip-page"],
[class*="ob-upgrade-page"] {
    min-height: auto;
    background:
        radial-gradient(circle at 12% 10%, rgba(37, 99, 235, .08), transparent 30%),
        radial-gradient(circle at 86% 8%, rgba(124, 58, 237, .09), transparent 28%),
        linear-gradient(180deg, #f6f4ff 0%, #f8fbff 58%, #ffffff 100%) !important;
}

/* 顶部会员状态提示 */
.ob-vip-page [class*="alert"],
.ob-upgrade-page [class*="alert"],
.ob-vip-account,
.ob-vip-account-status,
.ob-vip-current,
.ob-vip-notice {
    width: fit-content;
    max-width: min(760px, calc(100% - 32px));
    margin: 14px auto 18px !important;
    border-radius: 12px !important;
    padding: 9px 16px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* 标题区域 */
.ob-vip-page h1,
.ob-upgrade-page h1 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    color: #0f172a !important;
    font-size: clamp(38px, 4.3vw, 56px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.055em !important;
    font-weight: 950 !important;
    text-align: center !important;
}

.ob-vip-page h1 + p,
.ob-upgrade-page h1 + p,
.ob-vip-page .lead,
.ob-upgrade-page .lead {
    max-width: 760px !important;
    margin: 0 auto 28px !important;
    color: #64748b !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    text-align: center !important;
}

/* 套餐卡片容器 */
.ob-vip-page [class*="row"],
.ob-upgrade-page [class*="row"] {
    align-items: stretch;
}

/* 套餐卡片统一 */
.ob-vip-card,
.ob-vip-plan,
.ob-upgrade-card,
.ob-upgrade-plan,
.ob-vip-page .pricing,
.ob-upgrade-page .pricing,
.ob-vip-page [class*="package"],
.ob-upgrade-page [class*="package"] {
    border-radius: 26px !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(148, 163, 184, .20) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .08) !important;
}

/* 如果推荐卡片有 active / featured / selected 类，降低边框压迫感 */
.ob-vip-card.active,
.ob-vip-card.featured,
.ob-vip-card.is-featured,
.ob-vip-plan.active,
.ob-vip-plan.featured,
.ob-vip-plan.is-featured,
.ob-upgrade-card.active,
.ob-upgrade-card.featured,
.ob-upgrade-card.is-featured,
.ob-upgrade-plan.active,
.ob-upgrade-plan.featured,
.ob-upgrade-plan.is-featured,
.ob-vip-page .active,
.ob-upgrade-page .active {
    border-color: rgba(37, 99, 235, .42) !important;
    box-shadow: 0 20px 56px rgba(37, 99, 235, .13) !important;
}

/* 推荐角标 */
.ob-vip-badge,
.ob-upgrade-badge,
[class*="vip-badge"],
[class*="upgrade-badge"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: #2563eb !important;
    background: rgba(37, 99, 235, .08) !important;
    border: 1px solid rgba(37, 99, 235, .16) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

/* 价格 */
.ob-vip-page .price,
.ob-upgrade-page .price,
.ob-vip-price,
.ob-upgrade-price {
    color: #0f172a !important;
    letter-spacing: -0.045em !important;
}

.ob-vip-day-price,
.ob-upgrade-day-price,
[class*="day-price"] {
    color: #94a3b8 !important;
    font-weight: 700 !important;
}

/* 权益列表 */
.ob-vip-page li,
.ob-upgrade-page li {
    color: #0f172a;
    line-height: 1.55;
}

.ob-vip-page li span,
.ob-upgrade-page li span {
    color: #10b981;
}

/* 支付按钮区域 */
.ob-vip-page button,
.ob-vip-page .btn,
.ob-vip-page a[class*="btn"],
.ob-upgrade-page button,
.ob-upgrade-page .btn,
.ob-upgrade-page a[class*="btn"] {
    border-radius: 11px !important;
    min-height: 42px;
    font-weight: 800 !important;
}

.ob-vip-page .btn-primary,
.ob-upgrade-page .btn-primary,
.ob-vip-page a[href*="alipay"],
.ob-upgrade-page a[href*="alipay"] {
    background: #1677ff !important;
    border-color: #1677ff !important;
}

.ob-vip-page a[href*="wechat"],
.ob-upgrade-page a[href*="wechat"] {
    background: #10b981 !important;
    border-color: #10b981 !important;
}

.ob-vip-page a[href*="usdt"],
.ob-upgrade-page a[href*="usdt"],
.ob-vip-page button[class*="usdt"],
.ob-upgrade-page button[class*="usdt"] {
    background: #22a889 !important;
    border-color: #22a889 !important;
}

/* 底部信任标签 */
.ob-vip-page [class*="tag"],
.ob-upgrade-page [class*="tag"],
.ob-vip-page [class*="pill"],
.ob-upgrade-page [class*="pill"] {
    border-radius: 999px !important;
}

/* 页面底部留白 */
.ob-vip-page,
.ob-upgrade-page {
    padding-bottom: 34px !important;
}

/* Step 14C: precise VIP page override */
.ob-upgrade-wind.ob-upgrade-checkout {
    padding: 18px 0 58px !important;
    background:
        radial-gradient(circle at 16% 10%, rgba(37, 99, 235, .07), transparent 30%),
        radial-gradient(circle at 84% 8%, rgba(124, 58, 237, .08), transparent 30%),
        linear-gradient(180deg, #f5f3ff 0%, #f8fbff 62%, #ffffff 100%) !important;
}

.ob-upgrade-wind .ob-vip-wrap {
    width: min(1290px, calc(100% - 44px)) !important;
    max-width: 1290px !important;
    margin: 0 auto !important;
}

/* 顶部状态提示居中 */
.ob-upgrade-wind .ob-vip-alert {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: fit-content !important;
    max-width: min(760px, calc(100% - 24px)) !important;
    margin: 0 auto 16px !important;
    padding: 9px 16px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
}

.ob-upgrade-wind .ob-vip-alert span,
.ob-upgrade-wind .ob-vip-alert a,
.ob-upgrade-wind .ob-vip-alert em {
    font-size: inherit !important;
    line-height: inherit !important;
}

/* 标题区 */
.ob-upgrade-wind .ob-vip-hero h1 {
    margin: 0 0 8px !important;
    color: #0f172a !important;
    font-size: clamp(38px, 4vw, 54px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.055em !important;
    font-weight: 950 !important;
    text-align: center !important;
}

.ob-upgrade-wind .ob-vip-hero p {
    margin: 0 auto !important;
    max-width: 760px !important;
    color: #64748b !important;
    font-size: 16.5px !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

/* 套餐网格 */
.ob-upgrade-wind .ob-vip-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
    max-width: 1290px !important;
}

/* 套餐卡片 */
.ob-upgrade-wind .ob-vip-card {
    min-height: auto !important;
    padding: 31px 34px 26px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .07) !important;
}

.ob-upgrade-wind .ob-vip-card.is-featured {
    border-color: rgba(37, 99, 235, .38) !important;
    box-shadow: 0 22px 54px rgba(37, 99, 235, .12) !important;
}

.ob-upgrade-wind .ob-vip-badge {
    top: 26px !important;
    right: 26px !important;
    min-height: 30px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    color: #2563eb !important;
    background: rgba(37, 99, 235, .08) !important;
    border: 1px solid rgba(37, 99, 235, .16) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

/* 价格区域 */
.ob-upgrade-wind .ob-vip-price-row {
    margin-bottom: 12px !important;
}

.ob-upgrade-wind .ob-vip-price {
    color: #0f172a !important;
    font-size: 42px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.05em !important;
    font-weight: 850 !important;
}

.ob-upgrade-wind .ob-vip-price span {
    margin-right: 8px !important;
    font-size: 26px !important;
}

.ob-upgrade-wind .ob-vip-period {
    color: #94a3b8 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.ob-upgrade-wind .ob-vip-day-price {
    margin: 14px 0 20px !important;
    color: #94a3b8 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* 权益列表 */
.ob-upgrade-wind .ob-vip-features {
    margin: 0 0 22px !important;
    padding: 0 !important;
}

.ob-upgrade-wind .ob-vip-features li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #0f172a !important;
    font-size: 15.5px !important;
    line-height: 1.45 !important;
}

.ob-upgrade-wind .ob-vip-features li:last-child {
    margin-bottom: 0 !important;
}

.ob-upgrade-wind .ob-vip-features li span {
    flex: 0 0 auto !important;
    color: #10b981 !important;
    font-weight: 950 !important;
}

.ob-upgrade-wind .ob-vip-features li strong {
    font-weight: 850 !important;
}

/* 支付区域 */
.ob-upgrade-wind .ob-vip-pay-area {
    margin-top: 18px !important;
    padding-top: 2px !important;
}

.ob-upgrade-wind .ob-vip-pay-title {
    margin-bottom: 14px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.ob-upgrade-wind .ob-vip-payments {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
}

.ob-upgrade-wind .ob-vip-payments a,
.ob-upgrade-wind .ob-vip-payments button {
    min-width: 116px !important;
    min-height: 40px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

/* 底部信任标签和页脚间距 */
.ob-upgrade-wind .ob-vip-trust-row {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    padding-bottom: 24px !important;
}

.ob-upgrade-wind .ob-vip-trust-row div {
    min-height: 30px !important;
    padding: 0 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    background: rgba(255, 255, 255, .74) !important;
    border: 1px solid rgba(148, 163, 184, .22) !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

/* 只针对 VIP 页压住旧 hover，不影响支付跳转 */
.ob-upgrade-wind .ob-vip-card:hover {
    transform: none !important;
    border-color: rgba(37, 99, 235, .24) !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .09) !important;
}

.ob-upgrade-wind .ob-vip-card.is-featured:hover {
    border-color: rgba(37, 99, 235, .42) !important;
    box-shadow: 0 24px 58px rgba(37, 99, 235, .13) !important;
}

@media (max-width: 1100px) {
    .ob-upgrade-wind .ob-vip-grid {
        grid-template-columns: 1fr !important;
        max-width: 620px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .ob-upgrade-wind .ob-vip-card {
        padding: 30px 28px 26px !important;
    }
}

@media (max-width: 768px) {
    .ob-upgrade-wind.ob-upgrade-checkout {
        padding-top: 14px !important;
    }

    .ob-upgrade-wind .ob-vip-wrap {
        width: min(100% - 24px, 620px) !important;
    }

    .ob-upgrade-wind .ob-vip-alert {
        flex-wrap: wrap !important;
        text-align: center !important;
    }

    .ob-upgrade-wind .ob-vip-hero h1 {
        font-size: clamp(32px, 10vw, 44px) !important;
    }

    .ob-upgrade-wind .ob-vip-card {
        border-radius: 22px !important;
        padding: 26px 22px 24px !important;
    }

    .ob-upgrade-wind .ob-vip-payments a,
    .ob-upgrade-wind .ob-vip-payments button {
        min-width: 128px !important;
    }
}

/* Step 17D-3: fix public header language dropdown overlap */
body .ob-public-header,
body .ob-public-nav,
body .ob-public-topbar,
body header,
body .nav-container,
body .navbar,
body .top-bar {
    overflow: visible !important;
    z-index: 3000 !important;
}

body .ob-public-header *,
body header * {
    overflow: visible;
}

body .ob-public-header .dropdown,
body .ob-public-header .dropdown__container,
body .ob-public-header .dropdown__content,
body .ob-public-header .dropdown-menu,
body .ob-public-header .language-selector,
body .ob-public-header .languageSelector,
body header .dropdown,
body header .dropdown__container,
body header .dropdown__content,
body header .dropdown-menu,
body header .language-selector,
body header .languageSelector {
    z-index: 9000 !important;
}

body .ob-public-header .dropdown-menu,
body .ob-public-header .dropdown__content,
body .ob-public-header .language-selector .dropdown-menu,
body .ob-public-header .languageSelector .dropdown-menu,
body header .dropdown-menu,
body header .dropdown__content,
body header .language-selector .dropdown-menu,
body header .languageSelector .dropdown-menu {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    top: 100% !important;
    min-width: 138px !important;
    max-width: 220px !important;
    margin-top: 8px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .16) !important;
    z-index: 9999 !important;
}

/* 防止账户按钮压住语言下拉 */
body .ob-public-header .ob-public-account,
body .ob-public-header .ob-public-account-btn,
body header .ob-public-account,
body header .ob-public-account-btn {
    position: relative !important;
    z-index: 2000 !important;
}

/* Step 17D-4B: precise fix for Stack language dropdown in public header */
@media (min-width: 992px) {
    #menu2,
    #menu2 .container,
    #menu2 .row,
    #menu2 .order-lg-3,
    #menu2 .bar__module,
    #menu2 .menu-horizontal,
    #menu2 .dropdown,
    #menu2 .dropdown__container,
    #menu2 .dropdown__container > .container,
    #menu2 .dropdown__container > .container > .row {
        overflow: visible !important;
    }

    /* 右侧语言 + 账户区域 */
    #menu2 .order-lg-3 {
        position: relative !important;
        z-index: 9000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 14px !important;
    }

    #menu2 .order-lg-3 > .bar__module {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* 第一个 bar__module 是语言模块，必须高于账户按钮 */
    #menu2 .order-lg-3 > .bar__module:first-child {
        z-index: 9200 !important;
    }

    /* 第二个 bar__module 是账户按钮 */
    #menu2 .order-lg-3 > .bar__module:nth-child(2) {
        z-index: 9100 !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child ul.menu-horizontal {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 9300 !important;
        overflow: visible !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute > .dropdown__trigger {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 34px !important;
        min-height: 34px !important;
        padding: 0 6px !important;
        border-radius: 10px !important;
        background: rgba(255, 255, 255, .72) !important;
        border: 1px solid rgba(148, 163, 184, .18) !important;
        cursor: pointer !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute > .dropdown__trigger img.flag {
        display: block !important;
        width: 18px !important;
        height: auto !important;
        margin: 0 !important;
    }

    /* 关键：把 Stack 原来的大容器改成右对齐小菜单 */
    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute > .dropdown__container {
        position: absolute !important;
        top: calc(100% + 10px) !important;
        right: 0 !important;
        left: auto !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: auto !important;
        transform: none !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 99999 !important;
        pointer-events: none;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute.dropdown--active > .dropdown__container,
    body.dropdowns--hover #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute:hover > .dropdown__container {
        pointer-events: auto;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute > .dropdown__container:before {
        display: none !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute > .dropdown__container > .container {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute > .dropdown__container > .container > .row {
        display: block !important;
        width: 180px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute .dropdown__content {
        width: 180px !important;
        max-width: 180px !important;
        flex: 0 0 180px !important;
        margin: 0 !important;
        padding: 8px 0 !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        border: 1px solid rgba(148, 163, 184, .18) !important;
        box-shadow: 0 18px 44px rgba(15, 23, 42, .18) !important;
        z-index: 99999 !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute .menu-vertical {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute .menu-vertical li {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute .menu-vertical a {
        display: block !important;
        padding: 9px 14px !important;
        color: #0f172a !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;
        text-align: left !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    #menu2 .order-lg-3 > .bar__module:first-child li.dropdown.dropdown--absolute .menu-vertical a:hover {
        background: rgba(37, 99, 235, .08) !important;
        color: #2563eb !important;
    }
}
/* End Step 17D-4B */
