/* SWPM Restricted Post — 与 OBOOT 结算/VIP 卡片一致的酒红暗色卡片 */
.oboot-swpm-access-denied-wrap {
    box-sizing: border-box;
    width: 100%;
    max-width: 560px;
    margin: clamp(40px, 10vw, 100px) auto clamp(28px, 6vw, 48px);
    padding: 0 14px;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", sans-serif;
}
.oboot-swpm-access-denied-card {
    box-sizing: border-box;
    padding: clamp(26px, 5vw, 40px) clamp(20px, 4vw, 32px);
    border-radius: 14px;
    border: 1px solid #6f2f58;
    background: linear-gradient(180deg, #2d1224 0%, #1f0b19 55%, #160812 100%);
    color: #f8dff0;
    text-align: center;
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(244, 114, 182, 0.12);
}
.oboot-swpm-access-denied-card * {
    box-sizing: border-box;
}
.oboot-swpm-access-denied__title,
.oboot-swpm-access-denied-card .main-title,
.oboot-swpm-access-denied-card h2,
.oboot-swpm-access-denied-card h3 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    font-size: clamp(18px, 4.5vw, 22px) !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #f8d0e4 !important;
    letter-spacing: 0.02em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    border: none !important;
    background: transparent !important;
}
.oboot-swpm-access-denied__desc,
.oboot-swpm-access-denied-card .sub-desc,
.oboot-swpm-access-denied-card p:not(.oboot-swpm-access-denied__jump) {
    margin: 0 0 18px !important;
    font-size: clamp(14px, 3.6vw, 16px) !important;
    line-height: 1.75 !important;
    color: #eec4dc !important;
}
.oboot-swpm-access-denied__desc strong,
.oboot-swpm-access-denied-card .highlight-text,
.oboot-swpm-access-denied-card strong {
    color: #ff9a76 !important;
    font-weight: 700 !important;
}
.oboot-swpm-access-denied__img,
.oboot-swpm-access-denied-card .tip-img,
.oboot-swpm-access-denied-card img {
    display: block !important;
    width: min(88%, 300px) !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 0 auto 22px !important;
    border-radius: 10px !important;
    border: 1px solid #6f2f58 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28) !important;
    object-fit: cover;
}
/* 主按钮：与结算页 #place_order / 优惠码按钮同款长方形小圆角 */
.oboot-swpm-access-denied-card p:has(> .oboot-swpm-access-denied__btn),
.oboot-swpm-access-denied-card p:has(> a.oboot-swpm-access-denied__btn) {
    margin: 6px 0 18px !important;
}
.oboot-swpm-access-denied__btn,
.oboot-swpm-access-denied-card a.oboot-swpm-access-denied__btn,
.oboot-swpm-access-denied-card .oboot-swpm-access-denied__cta,
.oboot-swpm-access-denied-card a.button,
.oboot-swpm-access-denied-card .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 4px auto 0 !important;
    padding: 14px 28px !important;
    min-height: 48px !important;
    min-width: min(100%, 260px) !important;
    max-width: 100% !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #db1f56, #ec4899 58%, #f59e0b) !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28) !important;
    box-shadow: 0 10px 22px rgba(236, 72, 153, 0.32) !important;
    cursor: pointer !important;
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.2s ease !important;
}
.oboot-swpm-access-denied__btn:hover,
.oboot-swpm-access-denied-card a.oboot-swpm-access-denied__btn:hover,
.oboot-swpm-access-denied-card .oboot-swpm-access-denied__cta:hover {
    color: #fff !important;
    filter: brightness(1.08) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 28px rgba(236, 72, 153, 0.42) !important;
}
.oboot-swpm-access-denied__btn:active,
.oboot-swpm-access-denied-card a.oboot-swpm-access-denied__btn:active {
    color: #fff !important;
    transform: translateY(0) scale(0.98) !important;
    filter: brightness(0.94) !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.28) !important;
}
.oboot-swpm-access-denied__btn:focus-visible,
.oboot-swpm-access-denied-card a.oboot-swpm-access-denied__btn:focus-visible {
    outline: 2px solid #fbbf24 !important;
    outline-offset: 2px !important;
}
.oboot-swpm-access-denied__jump,
.oboot-swpm-access-denied-card .jump-info {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: #c9a8b8 !important;
}
.oboot-swpm-access-denied__jump a,
.oboot-swpm-access-denied-card .jump-link,
.oboot-swpm-access-denied-card a:not(.oboot-swpm-access-denied__btn) {
    color: #ffd7e8 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.oboot-swpm-access-denied__jump a:hover,
.oboot-swpm-access-denied-card .jump-link:hover {
    color: #ffb8d4 !important;
    text-decoration: underline !important;
}
.oboot-swpm-access-denied__count,
.oboot-swpm-access-denied-card [data-oboot-countdown] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #ff9a76 !important;
}
/* 兼容旧版 #accessDeniedTip 写在内容里的结构 */
#accessDeniedTip.oboot-swpm-access-denied-card,
.oboot-swpm-access-denied-card#accessDeniedTip {
    margin-left: auto;
    margin-right: auto;
}

/* SWPM Restricted Post (Not Logged-in) */
.oboot-swpm-not-login-wrap {
    box-sizing: border-box;
    width: 100%;
    max-width: 560px;
    margin: clamp(40px, 10vw, 100px) auto clamp(28px, 6vw, 48px);
    padding: 0 14px;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", sans-serif;
}
.oboot-swpm-not-login-card {
    box-sizing: border-box;
    padding: clamp(28px, 5vw, 40px) clamp(20px, 4vw, 32px);
    border-radius: 14px;
    border: 1px solid #6f2f58;
    background: linear-gradient(180deg, #2d1224 0%, #1f0b19 55%, #160812 100%);
    color: #f8dff0;
    text-align: center;
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(244, 114, 182, 0.12);
}
.oboot-swpm-not-login-card * {
    box-sizing: border-box;
}
.oboot-swpm-not-login__title,
.oboot-swpm-not-login-card .main-title {
    margin: 0 0 16px !important;
    font-size: clamp(20px, 4.8vw, 24px) !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #fdfaf9 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.oboot-swpm-not-login__desc,
.oboot-swpm-not-login-card .sub-desc {
    margin: 0 0 0 !important;
    font-size: clamp(15px, 3.8vw, 17px) !important;
    line-height: 1.8 !important;
    font-weight: 600 !important;
    color: #f8e9e5 !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.oboot-swpm-not-login__img,
.oboot-swpm-not-login-card .tip-img,
.oboot-swpm-not-login-card img:not([class*="btn"]) {
    display: block !important;
    width: min(88%, 300px) !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 25px auto 28px !important;
    border-radius: 10px !important;
    border: 1px solid #6f2f58 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28) !important;
    object-fit: cover;
}
.oboot-swpm-not-login__btn-group,
.oboot-swpm-not-login-card .btn-group {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 14px;
    margin: 0 auto !important;
    max-width: 420px;
}
.oboot-swpm-not-login__btn,
.oboot-swpm-not-login-card .func-btn,
.oboot-swpm-not-login-card a.oboot-swpm-not-login__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 140px;
    min-width: 140px;
    max-width: 200px;
    min-height: 48px !important;
    padding: 14px 22px !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #db1f56, #ec4899 58%, #f59e0b) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28) !important;
    box-shadow: 0 10px 22px rgba(236, 72, 153, 0.32) !important;
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.2s ease !important;
}
.oboot-swpm-not-login__btn--register,
.oboot-swpm-not-login-card .oboot-swpm-not-login__btn--register {
    background: linear-gradient(180deg, #cc5b88 0%, #a83666 36%, #7c234b 68%, #43162d 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 220, 236, 0.3),
        0 8px 18px rgba(124, 35, 75, 0.35) !important;
}
.oboot-swpm-not-login__btn:hover,
.oboot-swpm-not-login-card .func-btn:hover {
    color: #fff !important;
    filter: brightness(1.08) !important;
    transform: translateY(-2px) !important;
}
.oboot-swpm-not-login__btn:active,
.oboot-swpm-not-login-card .func-btn:active {
    transform: translateY(0) scale(0.98) !important;
    filter: brightness(0.94) !important;
}
#notLoginTip.oboot-swpm-not-login-card,
.oboot-swpm-not-login-card#notLoginTip {
    margin-left: auto;
    margin-right: auto;
}

/* SWPM Account Expired */
.oboot-swpm-vip-expired-wrap {
    box-sizing: border-box;
    width: 100%;
    max-width: 500px;
    margin: 20px auto clamp(20px, 5vw, 40px);
    padding: 0 14px;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", sans-serif;
}
.oboot-swpm-vip-expired-card {
    box-sizing: border-box;
    padding: clamp(28px, 5vw, 40px) clamp(22px, 4vw, 30px);
    border-radius: 12px;
    border: 1px solid #7a1a26;
    background: #4a0e16;
    color: #f8f3f0;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
.oboot-swpm-vip-expired-card * {
    box-sizing: border-box;
}
.oboot-swpm-vip-expired__title,
.oboot-swpm-vip-expired-card .main-title {
    margin: 0 0 15px !important;
    font-size: clamp(18px, 4.5vw, 20px) !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    color: #fdfaf9 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.oboot-swpm-vip-expired__desc,
.oboot-swpm-vip-expired-card .sub-desc {
    margin: 0 0 25px !important;
    font-size: clamp(15px, 3.8vw, 16px) !important;
    line-height: 1.8 !important;
    font-weight: 500 !important;
    color: #f8e9e5 !important;
}
.oboot-swpm-vip-expired__desc strong,
.oboot-swpm-vip-expired-card .highlight-text,
.oboot-swpm-vip-expired-card strong {
    color: #ff9a76 !important;
    font-weight: 600 !important;
}
.oboot-swpm-vip-expired__img,
.oboot-swpm-vip-expired-card .tip-img,
.oboot-swpm-vip-expired-card img:not([class*="btn"]) {
    display: block !important;
    width: min(80%, 300px) !important;
    max-width: 300px !important;
    height: auto !important;
    margin: 0 auto 30px !important;
    border-radius: 8px !important;
    border: 2px solid #7a1a26 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    object-fit: cover;
}
.oboot-swpm-vip-expired-card p:has(> .oboot-swpm-vip-expired__btn),
.oboot-swpm-vip-expired-card p:has(> a.oboot-swpm-vip-expired__btn),
.oboot-swpm-vip-expired__jump-btn-wrap {
    margin: 0 0 18px !important;
}
.oboot-swpm-vip-expired__jump-btn-wrap {
    margin-top: 14px !important;
}
.oboot-swpm-vip-expired__btn,
.oboot-swpm-vip-expired-card a.oboot-swpm-vip-expired__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    min-width: min(100%, 260px) !important;
    padding: 14px 28px !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #db1f56, #ec4899 58%, #f59e0b) !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(236, 72, 153, 0.32) !important;
    transition: transform 0.15s ease, filter 0.15s ease !important;
}
.oboot-swpm-vip-expired__btn:hover,
.oboot-swpm-vip-expired-card a.oboot-swpm-vip-expired__btn:hover {
    color: #fff !important;
    filter: brightness(1.08) !important;
    transform: translateY(-2px) !important;
}
.oboot-swpm-vip-expired__jump,
.oboot-swpm-vip-expired-card .jump-info {
    margin: 18px 0 12px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: #c9a8a0 !important;
}
.oboot-swpm-vip-expired__btn--fallback,
.oboot-swpm-vip-expired-card a.oboot-swpm-vip-expired__btn--fallback {
    min-width: min(100%, 240px) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    background: linear-gradient(180deg, #cc5b88 0%, #a83666 36%, #7c234b 68%, #43162d 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 220, 236, 0.3),
        0 8px 18px rgba(124, 35, 75, 0.35) !important;
}
.oboot-swpm-vip-expired__count,
.oboot-swpm-vip-expired-card [data-oboot-countdown] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #ff9a76 !important;
}
#vipExpiredTip.oboot-swpm-vip-expired-card,
.oboot-swpm-vip-expired-card#vipExpiredTip {
    margin-left: auto;
    margin-right: auto;
}
/* 隐藏 SWPM 默认黄框样式，仅保留 OBOOT 卡片 */
.swpm-post-account-expired-msg.swpm-yellow-box:has(.oboot-swpm-vip-expired-wrap),
.swpm-comment-account-expired-msg.swpm-yellow-box:has(.oboot-swpm-vip-expired-wrap),
.swpm-more-tag-account-expired-msg.swpm-yellow-box:has(.oboot-swpm-vip-expired-wrap) {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}
