/* ============================================================
   PITCH · 绿茵赛事模板样式层（叠加在 mipcms.css 之上，module.css 之后仍可用 body.pt + id 提升优先级）
   - 3 套配色 theme-1(靛蓝/青) / theme-2(紫红/粉) / theme-3(青/橙)，与 STADIUM(模版1) 明显不同
   - 3 种首页版式 layout-1/2/3（区块组合与顺序不同）
   - 自定义 header / hero / about / news / footer
   配色与版式在 main.html 依域名自动分配，同一套模板在不同站点呈现不同外观。
   ============================================================ */

/* ---------- 配色变量 ---------- */
body.pt { --brand:#2563eb; --brand-2:#123a86; --brand-3:#0f1d36; --accent:#22d3ee; --onbrand:#ffffff;
  --bg:#eef3fb; --card:#ffffff; --text:#1f2937; --muted:#6b7684; --line:#e3e9f3; --header:#111e3a; --header-text:#eaf1fb; }
body.pt.theme-2 { --brand:#be185d; --brand-2:#7a0f3d; --brand-3:#4a0723; --accent:#f472b6;
  --header:#2e0e21; --header-text:#ffe6f0; --bg:#fbeff4; }
body.pt.theme-3 { --brand:#0d9488; --brand-2:#0a5f57; --brand-3:#083b38; --accent:#fb923c;
  --header:#0d322f; --header-text:#e5fbf6; --bg:#eafaf6; }

/* ---------- 基础 ---------- */
body.pt { background: var(--bg); color: var(--text); font-family:"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif; }
body.pt a { color: var(--text); text-decoration:none; }
body.pt a:hover { color: var(--brand); }
.mipcms-main { margin-top: 0; }
html { scroll-behavior:smooth; scroll-padding-top:80px; }
@media (max-width:991px){ html { scroll-padding-top:70px; } }
@media (prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } }
body.pt .container-xl { max-width:1200px; }

/* ---------- 品牌标记：不加黄底，普通文字 ---------- */
body.pt mark.sd-brand { background:transparent; color:inherit; padding:0; border-radius:0; font-weight:inherit; }

/* ---------- 头部（高端版：毛玻璃 + 渐变发丝线 + 下划线动效） ---------- */
body.pt #pt-header { background:color-mix(in srgb,var(--header) 88%,transparent); backdrop-filter:saturate(1.4) blur(12px); -webkit-backdrop-filter:saturate(1.4) blur(12px); box-shadow:0 6px 24px rgba(0,0,0,.22); }
body.pt #pt-header::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg,transparent,var(--brand) 20%,var(--accent) 50%,var(--brand) 80%,transparent); opacity:.85; }
body.pt #pt-header .navbar { flex-wrap:nowrap; min-height:66px; }
body.pt #pt-header .pt-logo { height:46px; width:auto; max-height:46px; border-radius:10px; flex:0 0 auto; box-shadow:0 2px 8px rgba(0,0,0,.25); }
body.pt #pt-header .navbar-brand { flex:0 1 auto; min-width:0; }
body.pt #pt-header .pt-brand-name { color:var(--header-text); font-weight:800; font-size:19px; margin-left:10px; white-space:nowrap; letter-spacing:.4px; }
body.pt #pt-header .pt-hd-nav { gap:.15rem; }
body.pt #pt-header .navbar-nav .nav-link { position:relative; color:rgba(255,255,255,.86); font-weight:600; padding:.5rem .8rem; white-space:nowrap; font-size:15px; border-radius:8px; transition:color .18s; }
body.pt #pt-header .navbar-nav .nav-link::after { content:""; position:absolute; left:.8rem; right:.8rem; bottom:.28rem; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--brand),var(--accent)); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
body.pt #pt-header .navbar-nav .nav-link:hover, body.pt #pt-header .navbar-nav .nav-link.active { color:#fff; background:transparent; }
body.pt #pt-header .navbar-nav .nav-link:hover::after, body.pt #pt-header .navbar-nav .nav-link.active::after { transform:scaleX(1); }
body.pt #pt-header .navbar-toggler { border:1px solid rgba(255,255,255,.28); border-radius:9px; padding:.35rem .55rem; }
body.pt #pt-header .navbar-toggler-icon { display:inline-block; width:1.5em; height:1.5em; vertical-align:-.125em; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-repeat:no-repeat; background-position:center; background-size:100%; filter:none; }
body.pt #pt-header .pt-searchbtn { color:var(--header-text); width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); transition:.18s; }
body.pt #pt-header .pt-searchbtn:hover { background:var(--brand); color:#fff; transform:translateY(-1px); }
/* 三变体排布差异 */
body.pt .pt-hd-v1 .pt-hd-nav { margin-inline:auto; }
body.pt .pt-hd-v2 .pt-hd-nav { margin:0; }
body.pt .pt-hd-v2 .pt-hd-actions { margin-left:auto; }
body.pt #pt-header.pt-hd-v3 .navbar { min-height:78px; }
body.pt #pt-header.pt-hd-v3 .pt-brand-name { font-size:22px; }
body.pt #pt-header.pt-hd-v3 .pt-logo { height:50px; max-height:50px; }
body.pt .pt-hd-v3 .pt-hd-nav { margin-left:auto; margin-right:0; }
body.pt .pt-hd-v3 .pt-cta { background:transparent; border:1.5px solid var(--accent); color:#fff; box-shadow:none; }
body.pt .pt-hd-v3 .pt-cta:hover { background:var(--accent); color:var(--header); }
/* v2 顶部细条 */
body.pt .pt-hd-top { background:linear-gradient(90deg,var(--brand-2),var(--brand)); color:#fff; font-size:.8rem; }
body.pt .pt-hd-top .container-xl { min-height:34px; }
body.pt .pt-hd-tag { opacity:.95; font-weight:600; letter-spacing:.3px; }
body.pt .pt-hd-date { opacity:.8; }
@media (min-width:992px) and (max-width:1199px){ body.pt #pt-header .pt-brand-name{font-size:16px;} body.pt #pt-header .navbar-nav .nav-link{padding:.45rem .55rem;font-size:14px;} }
@media (max-width:991px){
  body.pt #pt-header { background:var(--header); backdrop-filter:none; -webkit-backdrop-filter:none; }
  body.pt #pt-header .navbar-collapse{ background:var(--brand-3); border-radius:12px; padding:.6rem 1rem; margin-top:.5rem; }
  body.pt #pt-header .pt-brand-name{display:none;}
  body.pt #pt-header .navbar-nav{margin:.3rem 0; width:100%;}
  body.pt .pt-hd-v2 .pt-hd-actions, body.pt .pt-hd-v3 .pt-hd-nav { margin-left:0; }
  body.pt .pt-hd-top .pt-hd-date{display:none;}
}

/* ---------- 按钮 ---------- */
body.pt .pt-cta { background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; border:0; font-weight:700; border-radius:10px; padding:.5rem 1.1rem; box-shadow:0 8px 20px rgba(20,40,90,.22); }
body.pt .pt-cta:hover { color:#fff; filter:brightness(1.06); transform:translateY(-1px); }
body.pt .pt-cta-lg { padding:.68rem 1.5rem; font-size:1.02rem; }
body.pt .pt-ghost { background:rgba(255,255,255,.14); color:#fff; border:1.5px solid rgba(255,255,255,.55); border-radius:10px; font-weight:700; padding:.5rem 1.1rem; }
body.pt .pt-ghost:hover { background:#fff; color:var(--brand-2); }
/* 非首屏（浅底）上的幽灵按钮 */
body.pt .pt-news .pt-ghost, body.pt .pt-sec-ghost { background:#fff; color:var(--brand-2); border:1.5px solid var(--line); }
body.pt .pt-news .pt-ghost:hover { background:var(--brand); color:#fff; border-color:var(--brand); }

/* ---------- 首屏 hero ---------- */
body.pt .pt-hero { color:#fff; position:relative; overflow:hidden; }
body.pt .pt-hero-eyebrow { text-transform:uppercase; letter-spacing:2px; font-weight:700; font-size:.82rem; opacity:.9; margin:0 0 .6rem; }
body.pt .pt-hero-title { font-weight:900; line-height:1.18; font-size:clamp(1.7rem,3.6vw,2.9rem); margin:0 0 1rem; }
body.pt .pt-hero-lead { font-size:1.05rem; line-height:1.75; opacity:.95; max-width:560px; }
/* A 图文并排 */
body.pt .pt-hero-split { padding:64px 0; background:linear-gradient(135deg,var(--brand-3),var(--brand-2) 70%,var(--brand)); }
body.pt .pt-hero-split .pt-hero-lead { opacity:.92; }
body.pt .pt-hero-stack { position:relative; }
body.pt .pt-hero-main { width:100%; border-radius:16px; box-shadow:0 24px 50px rgba(0,0,0,.35); display:block; aspect-ratio:4/3; object-fit:cover; }
body.pt .pt-hero-float { position:absolute; right:-14px; bottom:-26px; width:44%; max-width:230px; border-radius:14px; border:4px solid rgba(255,255,255,.85); box-shadow:0 14px 30px rgba(0,0,0,.30); object-fit:cover; aspect-ratio:4/3; }
body.pt .pt-hero-badges li, body.pt .pt-hero-mini li { font-size:.95rem; font-weight:600; }
body.pt .pt-hero-badges li i { margin-right:.4rem; color:var(--accent); }
body.pt .pt-hero-mini li strong { display:block; font-size:1.5rem; line-height:1.1; }
body.pt .pt-hero-mini li span { opacity:.85; font-size:.85rem; }
/* B 全屏背景 */
body.pt .pt-hero-cover { min-height:520px; display:flex; align-items:center; padding:80px 0; }
body.pt .pt-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
body.pt .pt-hero-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg, rgba(6,10,20,.86) 0%, rgba(6,10,20,.62) 45%, rgba(6,10,20,.28) 100%); }
body.pt .pt-hero-cover .container-xl { z-index:1; }
body.pt .pt-hero-cover .pt-hero-title { text-shadow:0 2px 14px rgba(0,0,0,.4); }
/* C 居中 */
body.pt .pt-hero-center { padding:70px 0 60px; background:radial-gradient(120% 100% at 50% 0%, var(--brand-2), var(--brand-3)); }
body.pt .pt-hero-inner { max-width:820px; }
body.pt .pt-hero-figure { margin-top:40px; }
body.pt .pt-hero-figure img { width:100%; max-height:440px; object-fit:cover; }

/* ---------- 章节通用标题 ---------- */
body.pt .pt-kicker { text-transform:uppercase; letter-spacing:2px; font-weight:800; font-size:.78rem; color:var(--brand); margin:0 0 .4rem; }
body.pt .pt-sec-title { font-weight:900; font-size:clamp(1.4rem,2.6vw,2rem); color:var(--text); margin:0 0 1rem; }

/* ---------- 关于 ---------- */
body.pt .pt-about { background:var(--card); }
body.pt .pt-about-media { position:relative; }
body.pt .pt-about-media img { width:100%; border-radius:18px; box-shadow:0 18px 40px rgba(16,24,40,.16); aspect-ratio:4/3; object-fit:cover; display:block; }
body.pt .pt-about-badge { position:absolute; left:16px; top:16px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; padding:.4rem .9rem; border-radius:999px; font-weight:700; font-size:.85rem; box-shadow:0 8px 18px rgba(0,0,0,.2); }
body.pt .pt-about-lead { font-size:1.05rem; color:var(--text); }
body.pt .pt-about-feats { margin-top:1.4rem; display:grid; gap:.9rem; }
body.pt .pt-about-feats li { display:flex; gap:.8rem; align-items:flex-start; }
body.pt .pt-about-feats li i { flex:0 0 auto; width:40px; height:40px; border-radius:10px; background:color-mix(in srgb,var(--brand) 14%,#fff); color:var(--brand); display:inline-flex; align-items:center; justify-content:center; font-size:1.05rem; }
body.pt .pt-about-feats li strong { display:block; }
body.pt .pt-about-feats li span { color:var(--muted); font-size:.92rem; }

/* ---------- 资讯卡片网格 ---------- */
body.pt .pt-news { background:var(--bg); }
body.pt .pt-news .pt-sec-title { color:var(--text); }
body.pt .pt-news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
body.pt .pt-newscard { background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .18s, box-shadow .18s; color:inherit; }
body.pt .pt-newscard:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(16,24,40,.14); }
body.pt .pt-newscard-img { aspect-ratio:16/10; overflow:hidden; background:#e9eef6; }
body.pt .pt-newscard-img img { width:100%; height:100%; object-fit:cover; display:block; }
body.pt .pt-newscard-body { padding:16px 16px 14px; display:flex; flex-direction:column; flex:1; }
body.pt .pt-newscard-body h3 { font-size:1.02rem; font-weight:800; line-height:1.45; color:var(--text); margin:0 0 8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body.pt .pt-newscard:hover h3 { color:var(--brand); }
body.pt .pt-newscard-body p { color:var(--muted); font-size:.86rem; line-height:1.6; margin:0 0 12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex:1; }
body.pt .pt-newscard-meta { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:.8rem; border-top:1px dashed var(--line); padding-top:10px; }
body.pt .pt-readmore { color:var(--brand); font-weight:700; }
@media (max-width:991px){ body.pt .pt-news-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:575px){ body.pt .pt-news-grid { grid-template-columns:1fr; } }

/* ---------- 复用 module.css 区块：换色，避免与模版1完全一致 ---------- */
body.pt #stats-5 { background:var(--card); }
body.pt #stats-5 h2, body.pt #stats-5 .fw-bold { color:var(--brand) !important; }
body.pt #security-7 h2.fw-bold, body.pt #security-7 .text-primary { color:var(--brand) !important; }
body.pt #update-11 { background:linear-gradient(120deg,var(--brand-3),var(--brand-2)); }
body.pt #update-11 .accordion-button { font-weight:700; }
body.pt #update-11 .accordion-button:not(.collapsed) { color:var(--brand-2); background:color-mix(in srgb,var(--brand) 8%,#fff); box-shadow:none; }
body.pt #mission-3 { background:linear-gradient(120deg,var(--brand-2),var(--brand-3)); padding:56px 0; }
body.pt #judge-3 .rank-list .rank-info a, body.pt #judge-7 .review-card p { color:var(--text); }
body.pt #judge-3 .section-title h2, body.pt #judge-7 h2 { color:var(--text); }

/* ---------- 好评区原语：头像 / 星级 / 胶囊（沿用 sd- 类名，被 reviews 部件引用） ---------- */
body.pt .sd-avatar { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; color:#fff; font-size:18px; box-shadow:0 4px 10px rgba(16,24,40,.16); }
body.pt .sd-av-1 { background:linear-gradient(135deg,#2563eb,#22d3ee); }
body.pt .sd-av-2 { background:linear-gradient(135deg,#be185d,#f472b6); }
body.pt .sd-av-3 { background:linear-gradient(135deg,#0d9488,#5eead4); }
body.pt .sd-av-4 { background:linear-gradient(135deg,#c2410c,#fb923c); }
body.pt .sd-av-5 { background:linear-gradient(135deg,#5b2bb6,#a78bfa); }
body.pt .sd-av-6 { background:linear-gradient(135deg,#0f766e,#2dd4bf); }
body.pt .sd-stars { color:#f59e0b; letter-spacing:2px; font-size:.9rem; }
body.pt #judge-7 .scroll-wrapper { display:flex; gap:1rem; overflow-x:auto; padding:.25rem .25rem 1rem; }
body.pt #judge-7 .review-card { flex:0 0 320px; width:320px; background:#fff; border-radius:14px; padding:1.25rem; box-shadow:0 2px 10px rgba(16,24,40,.05); }
body.pt #judge-7 .review-card p { font-size:.95rem; line-height:1.75; }
body.pt #judge-7 .review-footer .sd-avatar { margin-right:12px; width:44px; height:44px; font-size:17px; }
body.pt #judge-7 .scroll-wrapper::-webkit-scrollbar { height:8px; }
body.pt #judge-7 .scroll-wrapper::-webkit-scrollbar-thumb { background:#c9d6e3; border-radius:4px; }
body.pt #judge-3 .comment-header .sd-avatar { margin-right:15px; width:50px; height:50px; font-size:19px; }
body.pt #judge-3 .comment-header h5 { display:flex; align-items:center; flex-wrap:wrap; }
body.pt #judge-3 .rank-list li { gap:.5rem; }
body.pt #judge-3 .rank-list .rank-info a { color:var(--text); font-size:.92rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body.pt #judge-3 .rank-list .rank-info a:hover { color:var(--brand); }
body.pt #judge-3 .rank-list .badge { flex:0 0 auto; white-space:nowrap; }
@media (max-width:767px){ body.pt #judge-7 .review-card { flex:0 0 82vw; width:82vw; padding:1rem; } }

/* ---------- 内页：mip-box / 列表 / 详情 / 标签 / 分页 ---------- */
body.pt .mip-box { background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 4px rgba(16,24,40,.04); margin-bottom:20px; overflow:hidden; }
body.pt .mip-box-heading { border-bottom:1px solid var(--line); padding:14px 18px; position:relative; }
body.pt .mip-box-heading h3, body.pt .mip-box-heading h1 { font-size:18px; font-weight:800; margin:0; padding-left:12px; }
body.pt .mip-box-heading h3::before, body.pt .mip-box-heading h1::before { content:""; position:absolute; left:0; top:14px; width:4px; height:20px; border-radius:3px; background:linear-gradient(var(--brand),var(--accent)); }
body.pt .mip-box-body { padding:16px 18px; }
body.pt .li-box-list { padding:10px 0; border-bottom:1px dashed var(--line); }
body.pt .li-box-list:last-child { border-bottom:0; }
body.pt .li-box-list p { color:var(--muted); font-size:12px; margin:4px 0 0; }
body.pt .detail-title { font-size:28px; font-weight:800; line-height:1.4; margin:6px 0 12px; }
body.pt .mip-box-main .info { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; margin:0; padding:0; }
body.pt .mip-box-main .info ul { margin:0; padding:0; }
body.pt .mip-box-main .info li { color:var(--muted); font-size:13px; margin-right:16px; display:inline-block; }
body.pt .mipcms-detail-body { font-size:16.5px; line-height:1.95; color:#2a333f; }
body.pt .mipcms-detail-body p { margin:0 0 16px; }
body.pt .mipcms-detail-body img { max-width:100%; height:auto; border-radius:10px; margin:8px 0; }
body.pt .mipcms-detail-body h2, body.pt .mipcms-detail-body h3 { font-weight:800; margin:22px 0 12px; }
body.pt .mipcms-detail-body figure.art-lead { margin:10px 0 22px; }
body.pt .mipcms-detail-body figure.art-lead img { width:100%; height:auto; border-radius:14px; box-shadow:0 12px 28px rgba(0,0,0,.16); display:block; }
body.pt .mipcms-detail-body figure.art-lead figcaption { margin-top:8px; text-align:center; color:var(--muted); font-size:12px; letter-spacing:.3px; }
body.pt .tags, body.pt ul.tags { margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
body.pt .tags li, body.pt ul.tags li { display:block; margin:0; }
body.pt .tags li a, body.pt ul.tags li a { display:inline-block; background:#eef2f9; border:1px solid var(--line); color:var(--text); padding:4px 13px; border-radius:999px; font-size:12px; line-height:1.7; white-space:nowrap; transition:background .15s,color .15s; }
body.pt .tags li a:hover, body.pt ul.tags li a:hover { background:var(--brand); color:#fff; border-color:var(--brand); }
body.pt .mip-box-main .info ul.tags { float:none !important; }
body.pt .pull-right { float:right !important; }
body.pt .pagination { margin-top:18px; }
body.pt .pagination .page-link { color:var(--brand); border-color:var(--line); }
body.pt .pagination .active .page-link { background:var(--brand); border-color:var(--brand); color:#fff; }
body.pt .breadcrumb { font-size:13px; color:var(--muted); }
/* 分类列表 图左文右（覆盖 mipcms.css 遗留布局） */
body.pt .mipui-category-list-001 .mipui-category-list-item { display:flex; gap:16px; align-items:flex-start; position:relative; float:none; min-height:0; padding:16px 0; margin-bottom:0; border-bottom:1px solid var(--line); overflow:hidden; }
body.pt .mipui-category-list-001 .item-media { position:relative !important; float:none !important; top:auto !important; left:auto !important; flex:0 0 auto; width:220px; height:150px; overflow:hidden; border-radius:12px; background:#e9eef6; }
body.pt .mipui-category-list-001 .item-media .item-link { display:block; position:relative; height:150px !important; transition:none; transform:none !important; }
body.pt .mipui-category-list-001 .item-media img { position:absolute !important; inset:0 !important; top:0 !important; left:0 !important; margin:0 !important; transform:none !important; width:100% !important; height:100% !important; object-fit:cover; display:block; }
body.pt .mipui-category-list-001 .item-content { padding-left:0 !important; flex:1 1 auto; min-width:0; }
body.pt .mipui-category-list-001 .item-content h4 { font-size:18px; font-weight:800; margin:0 0 8px; line-height:1.4; }
body.pt .mipui-category-list-001 .item-content h4 a { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body.pt .mipui-category-list-001 .item-content p { padding-left:0 !important; color:var(--muted); font-size:13px; margin:0 0 4px; }
@media (max-width:575px){ body.pt .mipui-category-list-001 .item-media, body.pt .mipui-category-list-001 .item-media .item-link { width:120px; height:90px; } body.pt .mipui-category-list-001 .item-content h4 { font-size:15px; } }
body.pt .page-img { max-width:100%; height:auto; border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.10); }
body.pt .section-title-strip { background:linear-gradient(90deg,var(--brand),var(--brand-2)); color:#fff; border-radius:12px; padding:14px 18px; margin-bottom:16px; font-weight:800; font-size:18px; }
body.pt .no-data-block { text-align:center; color:var(--muted); padding:40px 0; }

/* ---------- 页脚 ---------- */
body.pt .pt-footer { position:relative; background:var(--header); color:rgba(255,255,255,.72); margin-top:0; }
body.pt .pt-footer-bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.14; z-index:0; }
body.pt .pt-footer a { color:rgba(255,255,255,.82); }
body.pt .pt-footer a:hover { color:#fff; }
body.pt .pt-foot-title { font-weight:800; letter-spacing:.5px; text-transform:uppercase; font-size:.9rem; color:#fff; }
body.pt .pt-footer-logo { height:44px; width:auto; border-radius:9px; }
body.pt .pt-footer .border-bottom { border-color:rgba(255,255,255,.18) !important; }

/* ---------- 回到顶部 ---------- */
body.pt .pt-totop { position:fixed; right:18px; bottom:22px; width:44px; height:44px; line-height:42px; text-align:center; border-radius:50%; background:var(--brand); color:#fff; font-size:22px; box-shadow:0 6px 18px rgba(0,0,0,.22); opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; z-index:1040; }
body.pt .pt-totop.show { opacity:1; visibility:visible; transform:none; }
body.pt .pt-totop:hover { background:var(--brand-2); color:#fff; }

/* ---------- 移动端 hero 适配 ---------- */
@media (max-width:991px){
  body.pt .pt-hero-split { padding:44px 0; }
  body.pt .pt-hero-float { display:none !important; }
  body.pt .pt-hero-cover { min-height:440px; padding:56px 0; }
}
@media (max-width:767px){
  body.pt .detail-title { font-size:22px; }
  body.pt .mipcms-detail-body { font-size:16px; }
}

/* ============================================================
   球迷好评 + 本周热读榜（judge-3 高端带图版）
   ============================================================ */
body.pt .pt-judge { padding:64px 0; background:
  radial-gradient(120% 130% at 100% 0%, color-mix(in srgb,var(--brand) 16%,#fff) 0%, transparent 55%),
  radial-gradient(120% 130% at 0% 100%, color-mix(in srgb,var(--accent) 20%,#fff) 0%, transparent 55%),
  linear-gradient(180deg,#ffffff, var(--bg)); }
body.pt .pt-judge-head { margin-bottom:34px; }
body.pt .pt-judge-sub { color:var(--muted); max-width:720px; margin:.4rem auto 0; }
body.pt .pt-judge-sub strong { color:var(--brand); }

/* 好评卡 */
body.pt .pt-review-card { position:relative; height:100%; background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 22px 22px; box-shadow:0 10px 30px rgba(16,24,40,.07); transition:transform .18s, box-shadow .18s; overflow:hidden; }
body.pt .pt-review-card::before { content:""; position:absolute; left:0; top:0; right:0; height:4px; background:linear-gradient(90deg,var(--brand),var(--accent)); }
body.pt .pt-review-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(16,24,40,.12); }
body.pt .pt-review-quote { position:absolute; right:16px; top:12px; font-size:44px; color:color-mix(in srgb,var(--brand) 22%,#fff); }
body.pt .pt-review-top { display:flex; align-items:center; gap:12px; margin-bottom:14px; position:relative; }
body.pt .pt-review-ava { flex:0 0 auto; width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:19px; box-shadow:0 0 0 3px #fff, 0 0 0 5px color-mix(in srgb,var(--brand) 35%,#fff); }
body.pt .pt-review-who { flex:1 1 auto; min-width:0; }
body.pt .pt-review-who h5 { margin:0; font-size:1rem; font-weight:800; color:var(--text); }
body.pt .pt-review-who small { color:var(--muted); font-size:.8rem; }
body.pt .pt-review-stars { color:#f59e0b; font-size:.82rem; letter-spacing:1px; white-space:nowrap; }
body.pt .pt-review-text { margin:0; color:#3a4453; line-height:1.8; font-size:.96rem; }

/* 热读榜 */
body.pt .pt-rank-card { background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 14px 40px rgba(16,24,40,.10); overflow:hidden; height:100%; }
body.pt .pt-rank-head { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; background:linear-gradient(120deg,var(--brand-2),var(--brand)); color:#fff; }
body.pt .pt-rank-head h3 { margin:0; font-size:1.08rem; font-weight:800; color:#fff; }
body.pt .pt-rank-head h3 i { color:#ffd54a; }
body.pt .pt-rank-tag { font-size:.72rem; font-weight:800; letter-spacing:1px; background:rgba(255,255,255,.22); padding:.2rem .55rem; border-radius:999px; }
body.pt .pt-rank-list { list-style:none; margin:0; padding:6px 8px; }
body.pt .pt-rank-item { display:flex; gap:12px; align-items:center; padding:10px; border-radius:12px; transition:background .15s; }
body.pt .pt-rank-item:hover { background:color-mix(in srgb,var(--brand) 6%,#fff); }
body.pt .pt-rank-thumb { position:relative; flex:0 0 84px; width:84px; height:60px; border-radius:10px; overflow:hidden; background:#e9eef6; }
body.pt .pt-rank-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
body.pt .pt-rank-no { position:absolute; left:0; top:0; width:20px; height:20px; line-height:20px; text-align:center; font-size:.72rem; font-weight:800; color:#fff; background:#94a3b8; border-radius:10px 0 10px 0; }
body.pt .pt-rank-no-1 { background:linear-gradient(135deg,#f59e0b,#d97706); }
body.pt .pt-rank-no-2 { background:linear-gradient(135deg,#94a3b8,#64748b); }
body.pt .pt-rank-no-3 { background:linear-gradient(135deg,#d97706,#92400e); }
body.pt .pt-rank-body { flex:1 1 auto; min-width:0; }
body.pt .pt-rank-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.92rem; font-weight:700; line-height:1.4; color:var(--text); }
body.pt .pt-rank-item:hover .pt-rank-title { color:var(--brand); }
body.pt .pt-rank-meta { display:flex; justify-content:space-between; align-items:center; margin-top:4px; color:var(--muted); font-size:.76rem; }
body.pt .pt-rank-foot { margin:0; padding:12px 18px; border-top:1px dashed var(--line); color:var(--muted); font-size:.78rem; }
@media (max-width:991px){ body.pt .pt-rank-thumb { flex-basis:76px; width:76px; height:56px; } }
