Files
wordpress-theme-aksrt/assets/css/frontend/resource-meta/part.css
T
kate522andClaude Sonnet 4.6 b94c820361 feat(pay): mirror reference resource row with copy, icon and reorder
The post editor's download row only exposed address / button text / remark,
leaving copy_key, copy_val and class as hidden inputs with no UI, so the
reference copy area, custom button icon, text and color were unreachable.
The submission popup already emitted those keys, which made the two write
paths diverge from anything the editor could produce.

Expose the full reference field set (地址/备注/复制名称/复制内容/图标/文案/
颜色) as an accordion card with drag reordering, add the one genuinely new
`icon` key through aksrt_sanitize_icon_value(), and teach both frontend
download renderers to consume the fields they previously ignored.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-09-24 20:27:30 +08:00

1262 lines
30 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ============================================================
* 桌面端 .resource-download-box 基础样式
* ============================================================ */
.resource-download-box {
padding: 20px;
background: var(--surface-page, #fff);
border: 1px solid var(--color-line, rgba(0,0,0,0.08));
border-radius: var(--main-radius, var(--radius, 8px));
box-shadow: 0 2px 12px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04);
}
/* ============================================================
* v2 双栏布局 — 模仿 legacy pay-box
* ============================================================ */
.resource-download-box--v2 {
position: relative;
overflow: visible;
}
.resource-download-box--v2::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.resource-download-box__body {
display: grid;
grid-template-columns: 200px 1fr;
gap: 20px;
align-items: start;
}
/* 缩略图列 */
.resource-download-box__thumb-col {
position: relative;
}
.resource-download-box__thumb {
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
border-radius: var(--radius);
background: var(--surface-2);
}
.resource-download-box__pay-tag {
position: absolute;
top: 8px;
left: 8px;
}
/* 内容列 */
.resource-download-box__content-col {
min-width: 0;
}
/* 价格区 */
.resource-download-box__pricing {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
margin: 12px 0;
}
.resource-download-box__original-price {
font-size: 13px;
color: var(--color-ink-4);
text-decoration: line-through;
}
/* VIP 价格区 */
.resource-download-box__vip-pricing {
display: flex;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 12px;
}
.resource-download-box__vip-badge {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 12px;
font-weight: 600;
padding: 4px 10px;
border-radius: 6px;
cursor: default;
}
.resource-download-box__vip-badge--1 {
background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
color: #fff;
}
.resource-download-box__vip-badge--2 {
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
color: #fff;
}
.resource-download-box__vip-badge i {
font-size: 11px;
}
/* 服务保障 */
.resource-download-box__guarantees {
display: flex;
gap: 16px;
flex-wrap: wrap;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid var(--color-line-soft);
}
.resource-download-box__guarantee {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 12px;
color: var(--color-success, #10B981);
}
.resource-download-box__guarantee i {
font-size: 12px;
}
/* 响应式 */
@media (max-width: 640px) {
.resource-download-box__body {
grid-template-columns: 1fr;
}
.resource-download-box__thumb-col {
display: none;
}
.resource-download-box__guarantees {
gap: 12px;
}
}
/* 头部:标题 + 价格 */
.resource-download-box__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 14px;
padding-bottom: 12px;
border-bottom: 1px solid var(--color-line, rgba(0,0,0,0.06));
}
.resource-download-box__title-wrap {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
flex: 1;
}
.resource-download-box__title {
font-size: 15px;
font-weight: 700;
margin: 0;
color: var(--color-ink);
display: flex;
align-items: center;
gap: 6px;
line-height: 1.3;
}
.resource-download-box__title i {
color: var(--color-primary, #3B82F6);
font-size: 15px;
}
.resource-download-box__count {
font-size: 11px;
color: var(--color-ink-4, #8A8F98);
white-space: nowrap;
flex-shrink: 0;
}
/* 价格标签 */
.resource-download-box__price {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 13px;
font-weight: 700;
padding: 4px 10px;
border-radius: 20px;
white-space: nowrap;
flex-shrink: 0;
}
.resource-download-box__price:not(.is-free) {
color: var(--color-error, #EF4444);
background: #FEF2F2;
}
.resource-download-box__price.is-free {
color: var(--color-success, #10B981);
background: #F0FDF4;
}
/* 空状态 */
.resource-download-box__notice--empty {
padding: 14px 16px;
background: var(--surface-2, #F4F5F7);
border-radius: 8px;
text-align: center;
}
.resource-download-box__notice--empty p {
margin: 0;
font-size: 13px;
color: var(--color-ink-3);
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
}
/* 下载源列表 */
.resource-download-box__list {
list-style: none;
margin: 0 0 14px;
padding: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.resource-download-box__item {
margin: 0;
}
/* 下载按钮 */
.resource-download-box__btn {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
min-height: 44px;
padding: 10px 18px;
border: none;
border-radius: 10px;
background: var(--color-primary, #3B82F6);
color: #fff;
font-size: 14px;
font-weight: 600;
cursor: pointer;
text-decoration: none;
transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
box-shadow: 0 2px 8px rgba(59,130,246,0.25);
}
.resource-download-box__btn:hover {
background: var(--color-primary-active, #2563EB);
box-shadow: 0 4px 14px rgba(59,130,246,0.35);
transform: translateY(-1px);
}
.resource-download-box__btn:active {
transform: scale(0.97);
transition-duration: 0.1s;
}
.resource-download-box__btn i {
font-size: 15px;
flex-shrink: 0;
}
.resource-download-box__btn span {
flex-shrink: 0;
}
/* 按钮副文案 */
.resource-download-box__btn-sub {
display: block;
font-size: 11px;
font-weight: 400;
opacity: 0.85;
margin-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* 类型标签 */
.resource-download-box__type-tag {
display: inline-flex;
align-items: center;
padding: 2px 8px;
margin-left: auto;
border-radius: 10px;
font-size: 11px;
font-weight: 500;
background: rgba(255,255,255,0.2);
flex-shrink: 0;
}
/* -- 按钮状态变体 -- */
.resource-download-box__btn--login {
background: var(--color-primary, #3B82F6);
}
.resource-download-box__btn--credit-low {
background: var(--color-ink-4, #8A8F98) !important;
box-shadow: none !important;
cursor: not-allowed;
opacity: 0.7;
}
.resource-download-box__btn--credit-low:hover {
transform: none !important;
}
.resource-download-box__btn--paid {
background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
}
/* 提示文字区 */
.resource-download-box__hint {
margin: 0 0 14px;
padding: 10px 14px;
border-radius: 8px;
font-size: 12px;
line-height: 1.5;
display: flex;
align-items: flex-start;
gap: 8px;
}
.resource-download-box__hint i {
font-size: 13px;
flex-shrink: 0;
margin-top: 1px;
}
.resource-download-box__hint--login {
color: var(--color-primary, #3B82F6);
background: rgba(59,130,246,0.06);
}
.resource-download-box__hint--login i {
color: var(--color-primary, #3B82F6);
}
.resource-download-box__hint--credit {
color: #D97706;
background: #FFFBEB;
}
.resource-download-box__hint--credit i {
color: #F59E0B;
}
/* 验证码表单区 - bind模式隐藏 */
.resource-download-box__captcha {
margin: 0 0 14px;
padding: 14px;
border: 1px dashed var(--color-line, rgba(0,0,0,0.12));
border-radius: 8px;
background: var(--surface-2, #FAFAFB);
}
/* bind 模式:容器保留但视觉隐藏(仍作为挂载点) */
.resource-download-box__captcha--hidden {
padding: 0 !important;
border: none !important;
background: transparent !important;
margin: 0 !important;
min-height: 0;
overflow: hidden;
/* 极验bind按钮也隐藏,通过JS触发 */
}
.resource-download-box__captcha--hidden > * {
visibility: hidden;
height: 0;
overflow: hidden;
pointer-events: none;
}
/* 底部免责 */
.resource-download-box__footer {
margin: 0;
padding-top: 12px;
border-top: 1px solid var(--color-line, rgba(0,0,0,0.06));
}
.resource-download-box__notice-text {
margin: 0;
font-size: 11px;
line-height: 1.6;
color: var(--color-ink-4, #8A8F98);
display: flex;
align-items: flex-start;
gap: 6px;
}
.resource-download-box__notice-text i {
font-size: 12px;
flex-shrink: 0;
margin-top: 2px;
color: var(--color-ink-4, #8A8F98);
}
/* 被拦截态(登录/积分不足)不透明 */
.resource-download-box.is-blocked {
opacity: 1;
}
/* ============================================================
* v4.3 资源侧栏下载卡片(垂直布局,适合 300px 侧栏宽度)
* ============================================================ */
.resource-sidebar-sticky {
display: flex;
flex-direction: column;
gap: 16px;
}
/* 下载卡片 */
.resource-download-card {
overflow: hidden;
}
.resource-download-card__thumb {
width: 100%;
aspect-ratio: 16 / 10;
overflow: hidden;
border-radius: 8px 8px 0 0;
}
.resource-download-card__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}
.resource-download-card__body {
padding: 16px;
display: flex;
flex-direction: column;
gap: 10px;
}
.resource-download-card__title {
font-size: 15px;
font-weight: 700;
margin: 0;
line-height: 1.35;
color: var(--color-ink);
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.resource-download-card__desc {
font-size: 13px;
color: var(--color-ink-4);
line-height: 1.5;
margin: 0;
}
/* 价格 */
.resource-download-card__price {
padding: 6px 0;
}
.resource-price {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 14px;
font-weight: 700;
}
.resource-price--paid {
color: var(--color-error, #ef4444);
}
.resource-price--paid i {
color: #f59e0b;
}
.resource-price--paid strong {
font-size: 1.25rem;
}
.resource-price--paid small {
font-size: 12px;
font-weight: 400;
color: var(--color-ink-4);
}
.resource-price--free {
color: var(--color-success, #34a853);
}
/* 下载按钮区 */
.resource-download-card__actions {
padding: 4px 0;
}
/* 已下载数 */
.resource-download-card__sales {
font-size: 12px;
color: var(--color-ink-4);
display: flex;
align-items: center;
gap: 4px;
}
/* 演示链接 */
.resource-download-card__demo {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
padding: 8px;
border-radius: 6px;
background: var(--surface-3);
color: var(--color-ink-3);
font-size: 13px;
text-decoration: none;
transition: background 0.2s, color 0.2s;
}
.resource-download-card__demo:hover {
background: var(--color-primary-soft, rgba(240, 68, 148, 0.12));
color: var(--color-primary);
text-decoration: none;
}
/* 资源属性卡片 */
.resource-meta-card__title {
font-size: 13px;
font-weight: 700;
margin: 0 0 10px;
color: var(--color-ink);
}
.resource-meta-card__list {
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}
.resource-meta-card__row {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 13px;
}
.resource-meta-card__row dt {
color: var(--color-ink-4);
margin: 0;
}
.resource-meta-card__row dd {
color: var(--color-ink);
font-weight: 500;
margin: 0;
text-align: right;
}
/* 服务保障卡片 */
.resource-guarantee-card__list {
display: flex;
flex-wrap: wrap;
gap: 12px;
font-size: 12px;
color: var(--color-ink-4);
}
.resource-guarantee-card__list span {
display: inline-flex;
align-items: center;
gap: 4px;
}
.resource-guarantee-card__list i {
color: var(--color-success, #34a853);
font-size: 13px;
}
/* 移动端:侧栏变为正文下方(由 layout.css 统一处理隐藏) */
/* ============================================================
* v5.0 移动端下载区域重构(992px 以下生效)
*
* 设计原则:
* - 块级卡片容器,匹配 .theme-box.box-body.radius8 风格
* - 下载项纵向堆叠,每项独立卡片,触摸友好(min-height:48px)
* - 纯色配色,禁止渐变/紫色,使用 Font Awesome 图标包
* ============================================================ */
/* ----- 移动端下载区域容器(块级卡片) ----- */
.resource-mobile-download-bar {
display: none; /* 默认隐藏,媒体查询中启用 */
margin: 16px 0;
background: var(--surface-page, #fff);
border: 1px solid var(--color-line, rgba(0,0,0,0.08));
border-radius: var(--main-radius, var(--radius, 8px));
box-shadow: 0 2px 12px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04);
overflow: hidden;
}
/* ===== resource-download-box 组件移动端样式 ===== */
/* 组件根 */
.resource-mobile-download-bar .resource-download-box {
padding: 0;
margin: 0;
}
.resource-mobile-download-bar .resource-download-box.is-blocked {
opacity: 1;
}
/* ---- 头部区:标题 + 价格 + 源数量 ---- */
.resource-mobile-download-bar .resource-download-box__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 16px 16px 12px;
border-bottom: 1px solid var(--color-line, rgba(0,0,0,0.06));
}
.resource-mobile-download-bar .resource-download-box__title-wrap {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
flex: 1;
}
.resource-mobile-download-bar .resource-download-box__title {
font-size: 15px;
font-weight: 700;
margin: 0;
color: var(--color-ink);
display: flex;
align-items: center;
gap: 6px;
line-height: 1.3;
}
.resource-mobile-download-bar .resource-download-box__title i {
color: var(--color-primary, #3B82F6);
font-size: 15px;
}
.resource-mobile-download-bar .resource-download-box__count {
font-size: 11px;
color: var(--color-ink-4, #8A8F98);
white-space: nowrap;
flex-shrink: 0;
}
/* 头部价格标签 */
.resource-mobile-download-bar .resource-download-box__price {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 13px;
font-weight: 700;
padding: 4px 10px;
border-radius: 20px;
white-space: nowrap;
flex-shrink: 0;
}
.resource-mobile-download-bar .resource-download-box__price:not(.is-free) {
color: var(--color-error, #EF4444);
background: #FEF2F2;
}
.resource-mobile-download-bar .resource-download-box__price.is-free {
color: var(--color-success, #10B981);
background: #F0FDF4;
}
/* ---- 空状态提示 ---- */
.resource-mobile-download-bar .resource-download-box__notice--empty {
margin: 16px;
padding: 14px 16px;
background: var(--surface-2, #F4F5F7);
border-radius: 8px;
text-align: center;
}
.resource-mobile-download-bar .resource-download-box__notice--empty p {
margin: 0;
font-size: 13px;
color: var(--color-ink-3);
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
}
.resource-mobile-download-bar .resource-download-box__notice--empty i {
color: var(--color-primary, #3B82F6);
}
/* ---- 下载源列表 ---- */
.resource-mobile-download-bar .resource-download-box__list {
list-style: none;
margin: 0;
padding: 12px 16px 16px;
display: flex;
flex-direction: column;
gap: 10px;
}
/* ---- 下载项(每个一行) ---- */
.resource-mobile-download-bar .resource-download-box__item {
margin: 0;
}
/* ---- 下载按钮(核心交互元素)---- */
.resource-mobile-download-bar .resource-download-box__btn {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
min-height: 50px; /* 触摸友好 */
padding: 12px 20px;
border: none;
border-radius: 10px;
background: var(--color-primary, #3B82F6);
color: #fff;
font-size: 14px;
font-weight: 600;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
box-shadow: 0 2px 8px rgba(59,130,246,0.3);
-webkit-tap-highlight-color: transparent;
}
.resource-mobile-download-bar .resource-download-box__btn i {
font-size: 16px;
flex-shrink: 0;
}
.resource-mobile-download-bar .resource-download-box__btn span {
flex-shrink: 0;
}
/* 按钮副文案(来源名称 / 余额信息)*/
.resource-mobile-download-bar .resource-download-box__btn-sub {
display: block;
font-size: 11px;
font-weight: 400;
opacity: 0.85;
margin-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
}
/* 类型标签(网盘/外链)*/
.resource-mobile-download-bar .resource-download-box__type-tag {
display: inline-flex;
align-items: center;
padding: 2px 8px;
margin-left: auto;
border-radius: 10px;
font-size: 11px;
font-weight: 500;
background: rgba(255,255,255,0.2);
flex-shrink: 0;
}
/* -- 按钮状态变体 -- */
/* 正常态 hover */
.resource-mobile-download-bar .resource-download-box__btn:hover {
background: var(--color-primary-active, #2563EB);
box-shadow: 0 4px 14px rgba(59,130,246,0.4);
transform: translateY(-1px);
}
/* active 按压反馈 */
.resource-mobile-download-bar .resource-download-box__btn:active {
transform: scale(0.97);
transition-duration: 0.1s;
}
/* 登录拦截态 */
.resource-mobile-download-bar .resource-download-box__btn--login {
background: var(--color-primary, #3B82F6);
}
/* 余额不足态(禁用外观)*/
.resource-mobile-download-bar .resource-download-box__btn--credit-low {
background: var(--color-ink-4, #8A8F98);
box-shadow: none;
cursor: not-allowed;
opacity: 0.7;
}
.resource-mobile-download-bar .resource-download-box__btn--credit-low:hover {
transform: none;
box-shadow: none;
background: var(--color-ink-4, #8A8F98);
}
/* 付费下载态 */
.resource-mobile-download-bar .resource-download-box__btn--paid {
background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
}
/* ---- 提示文字区 ---- */
.resource-mobile-download-bar .resource-download-box__hint {
margin: 0 16px 12px;
padding: 10px 14px;
border-radius: 8px;
font-size: 12px;
line-height: 1.5;
display: flex;
align-items: flex-start;
gap: 8px;
}
.resource-mobile-download-bar .resource-download-box__hint i {
font-size: 14px;
flex-shrink: 0;
margin-top: 1px;
}
.resource-mobile-download-bar .resource-download-box__hint--login {
color: var(--color-primary, #3B82F6);
background: rgba(59,130,246,0.06);
}
.resource-mobile-download-bar .resource-download-box__hint--login i {
color: var(--color-primary, #3B82F6);
}
.resource-mobile-download-bar .resource-download-box__hint--credit {
color: #D97706;
background: #FFFBEB;
}
.resource-mobile-download-bar .resource-download-box__hint--credit i {
color: #F59E0B;
}
/* ---- 验证码表单区 ---- */
.resource-mobile-download-bar .resource-download-box__captcha {
margin: 0 16px 16px;
padding: 14px;
border: 1px dashed var(--color-line, rgba(0,0,0,0.12));
border-radius: 8px;
background: var(--surface-2, #FAFAFB);
}
/* ---- 底部免责声明 ---- */
.resource-mobile-download-bar .resource-download-box__footer {
margin: 0;
padding: 12px 16px;
border-top: 1px solid var(--color-line, rgba(0,0,0,0.06));
}
.resource-mobile-download-bar .resource-download-box__notice-text {
margin: 0;
font-size: 11px;
line-height: 1.6;
color: var(--color-ink-4, #8A8F98);
display: flex;
align-items: flex-start;
gap: 6px;
}
.resource-mobile-download-bar .resource-download-box__notice-text i {
font-size: 12px;
flex-shrink: 0;
margin-top: 2px;
color: var(--color-ink-4, #8A8F98);
}
/* ----- 移动端悬浮下载按钮(FAB) ----- */
.resource-mobile-fab {
display: none; /* 默认隐藏,移动端媒体查询中启用 */
position: fixed;
bottom: 72px;
right: 20px;
z-index: 950;
width: 56px;
height: 56px;
border-radius: 50%;
background: var(--color-primary, #3B82F6);
color: #fff;
text-decoration: none;
display: flex; /* 覆盖上面的 display:none */
align-items: center;
justify-content: center;
font-size: 22px;
box-shadow: 0 4px 16px rgba(59,130,246,0.35), 0 2px 6px rgba(0,0,0,0.1);
opacity: 0;
transform: scale(0.8) translateY(10px);
transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
pointer-events: none;
-webkit-tap-highlight-color: transparent;
animation: fabFadeIn 0.5s 1.5s forwards;
}
@keyframes fabFadeIn {
to {
opacity: 1;
transform: scale(1) translateY(0);
pointer-events: auto;
}
}
.resource-mobile-fab:hover {
transform: scale(1.08) translateY(-2px);
box-shadow: 0 6px 24px rgba(59,130,246,0.45), 0 4px 10px rgba(0,0,0,0.15);
color: #fff;
}
.resource-mobile-fab:active {
transform: scale(0.95);
transition-duration: 0.1s;
}
/* FAB脉冲效果(吸引注意) */
.resource-mobile-fab::after {
content: '';
position: absolute;
inset: -4px;
border-radius: 50%;
background: transparent;
border: 2px solid var(--color-primary, #3B82F6);
opacity: 0;
animation: fabPulse 2s 2.5s infinite;
}
@keyframes fabPulse {
0% { transform: scale(1); opacity: 0.6; }
100% { transform: scale(1.4); opacity: 0; }
}
/* ============================================================
* 响应式媒体查询
* ============================================================ */
/* 移动端/平板(< 992px):显示移动端下载栏和FAB */
@media (max-width: 991px) {
.resource-mobile-download-bar {
display: block;
}
.resource-mobile-fab {
display: flex;
bottom: calc(72px + env(safe-area-inset-bottom, 0px));
right: calc(20px + env(safe-area-inset-right, 0px));
}
/* 超小屏适配(<= 380px) */
@media (max-width: 380px) {
.resource-mobile-download-bar .resource-download-box__header {
flex-wrap: wrap;
gap: 8px;
padding: 14px 12px 10px;
}
.resource-mobile-download-bar .resource-download-box__list {
padding: 10px 12px 14px;
gap: 8px;
}
.resource-mobile-download-bar .resource-download-box__btn {
min-height: 46px;
padding: 10px 14px;
font-size: 13px;
}
.resource-mobile-download-bar .resource-download-box__title {
font-size: 14px;
}
.resource-mobile-download-bar .resource-download-box__hint,
.resource-mobile-download-bar .resource-download-box__footer,
.resource-mobile-download-bar .resource-download-box__captcha {
margin-left: 12px;
margin-right: 12px;
}
}
}
/* 桌面端(>= 992px):隐藏移动端元素,保持原侧栏布局 */
@media (min-width: 992px) {
.resource-mobile-download-bar {
display: none !important;
}
.resource-mobile-fab {
display: none !important;
}
}
/* ============================================================
* 云服务品牌按钮样式
* ============================================================ */
.resource-download-box__btn--service-baidu {
background: linear-gradient(135deg, #1578f8 0%, #0d65d9 100%);
}
.resource-download-box__btn--service-lanzou {
background: linear-gradient(135deg, #f37526 0%, #e06318 100%);
}
.resource-download-box__btn--service-aliyun {
background: linear-gradient(135deg, #6666ff 0%, #5050e0 100%);
}
.resource-download-box__btn--service-weiyun {
background: linear-gradient(135deg, #4facfe 0%, #3a8fd4 100%);
}
.resource-download-box__btn--service-onedrive {
background: linear-gradient(135deg, #0078d4 0%, #006abc 100%);
}
.resource-download-box__btn--service-tianyi {
background: linear-gradient(135deg, #0099ff 0%, #0080e0 100%);
}
.resource-download-box__btn--service-123pan {
background: linear-gradient(135deg, #2b7bff 0%, #1a65e0 100%);
}
.resource-download-box__btn--service-quark {
background: linear-gradient(135deg, #6a5acd 0%, #5a4ab5 100%);
}
.resource-download-box__btn--service-xunlei {
background: linear-gradient(135deg, #00a4ff 0%, #0090e0 100%);
}
.resource-download-box__btn--service-mega {
background: linear-gradient(135deg, #d92323 0%, #c01a1a 100%);
}
.resource-download-box__btn--service-github {
background: linear-gradient(135deg, #333333 0%, #1a1a1a 100%);
}
/* 后台自定义按钮配色:元素同时带 legacy .but 的 b-*/jb-* 类,
它们提供 --this-bg / --this-color,这里读取即可覆盖云服务渐变 */
.resource-download-box__btn--custom {
background: var(--this-bg, var(--color-primary, #3B82F6));
color: var(--this-color, #fff);
}
.resource-download-box__btn--custom:hover {
background: var(--this-bg, var(--color-primary-active, #2563EB));
color: var(--this-color, #fff);
filter: brightness(0.94);
}
.resource-download-box__btn--custom .resource-download-box__service-badge {
background: rgb(255 255 255 / 25%);
}
/* 移动端下载条的 hover 规则作用域更窄,同作用域再声明一次以保持自定义色 */
.resource-mobile-download-bar .resource-download-box__btn--custom:hover {
background: var(--this-bg, var(--color-primary-active, #2563EB));
color: var(--this-color, #fff);
filter: brightness(0.94);
}
/* 云服务徽章 */
.resource-download-box__service-badge {
display: inline-block;
font-size: 10px;
font-weight: 600;
padding: 2px 6px;
border-radius: 4px;
color: #fff;
margin-left: 6px;
letter-spacing: 0.02em;
line-height: 1.3;
}
/* ============================================================
* 渐变价格标签(模仿 legacy 渐变 pay-tag)
* ============================================================ */
.resource-download-box__price--gradient {
background: linear-gradient(135deg, #EF4444 0%, #F97316 100%);
color: #fff;
font-weight: 700;
padding: 5px 12px;
border-radius: 20px;
font-size: 13px;
}
.resource-download-box__price--gradient.is-free {
background: linear-gradient(135deg, #10B981 0%, #059669 100%);
}
/* ============================================================
* 销量/下载量徽章
* ============================================================ */
.resource-download-box__sales-badge {
position: absolute;
top: -8px;
right: -8px;
background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
color: #fff;
font-size: 11px;
font-weight: 600;
padding: 3px 8px;
border-radius: 12px;
box-shadow: 0 2px 6px rgba(59, 130, 246, 0.3);
white-space: nowrap;
}
/* ============================================================
* 下载框整体增强 — 模仿 legacy pay-box 视觉重量
* ============================================================ */
.resource-download-box {
position: relative;
overflow: visible;
}
.resource-download-box::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
/* ============================================================
* 付费类型徽章 — 模仿 legacy 渐变 pay-tag
* ============================================================ */
.resource-pay-type-badge {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 11px;
font-weight: 600;
padding: 3px 8px;
border-radius: 4px;
color: #fff;
line-height: 1.3;
letter-spacing: 0.02em;
}
.resource-pay-type-badge i {
font-size: 10px;
}
/* 在归档卡片上的徽章位置 */
.post-card .resource-pay-type-badge {
position: absolute;
top: 8px;
left: 8px;
z-index: 2;
}
/* 在下载框内的徽章 */
.resource-download-box__header .resource-pay-type-badge {
margin-left: 8px;
}
/* ============================================================
* 原价划线 — 模仿 legacy .original-price
* ============================================================ */
.resource-original-price {
font-size: 13px;
color: var(--color-ink-4);
text-decoration: line-through;
margin-left: 6px;
}
.resource-original-price::before {
content: '';
position: absolute;
left: -2px;
right: -2px;
top: 50%;
height: 1px;
background: var(--color-ink-4);
transform: rotate(-8deg);
}
/* ============================================================
* 视频播放器容器
* ============================================================ */
.resource-video-container {
position: relative;
width: 100%;
padding-bottom: 56.25%;
margin: 16px 0;
border-radius: var(--radius-lg);
overflow: hidden;
background: #000;
}
.resource-video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}
/* ============================================================
* 付费图库预览
* ============================================================ */
.resource-gallery-locked {
position: relative;
filter: blur(8px);
pointer-events: none;
user-select: none;
}
.resource-gallery-locked::after {
content: '\f023';
font-family:"Font Awesome 5 Free";font-weight:900;
font-weight: 900;
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 32px;
color: rgba(255, 255, 255, 0.8);
background: rgba(0, 0, 0, 0.3);
}