/* ============ 星辰电影CMS · 模板 cinema 「胶片红黑」 ============ */
:root{
  --bg:#15100e; --ink:#1b1411; --ink2:#120d0b;
  --red:#d92b2b; --red2:#e8503a; --cream:#f2e9dd;
  --text:#efe7dc; --muted:#9a8b7e; --line:rgba(242,233,221,.14);
  --serif:Georgia,"Times New Roman","Songti SC","SimSun",serif;
}
*{box-sizing:border-box}
body{
  margin:0;color:var(--text);background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),
    radial-gradient(900px 400px at 50% -140px,rgba(217,43,43,.16),transparent 65%),
    linear-gradient(180deg,#15100e,#100c0a 70%);
  font:15px/1.75 "PingFang SC","Microsoft YaHei",Helvetica,Arial,sans-serif;
  min-height:100vh;
}
a{color:inherit;text-decoration:none;transition:.18s}
a:hover{color:var(--red2)}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;line-height:1.3;font-family:var(--serif);font-weight:700}
.cf-wrap{max-width:1280px;margin:0 auto;padding:0 18px}

/* ---------- 顶部细条 ---------- */
.cf-topstrip{background:var(--red);color:#120807}
.cf-strip-in{display:flex;justify-content:space-between;align-items:center;height:26px;
  font-size:11px;letter-spacing:2.5px;font-family:var(--serif);text-transform:uppercase}

/* ---------- 头部 ---------- */
.cf-head{background:rgba(21,16,14,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;
  backdrop-filter:blur(10px)}
.cf-head-in{display:flex;align-items:center;gap:26px;height:82px}
.cf-logo{display:flex;flex-direction:column;line-height:1.05;flex-shrink:0;padding-right:24px;
  border-right:1px solid var(--line)}
.cf-logo-en{font-family:var(--serif);font-size:24px;letter-spacing:4px;color:var(--cream)}
.cf-logo-cn{font-size:11px;letter-spacing:3px;color:var(--red2);margin-top:3px}
.cf-nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.cf-nav::-webkit-scrollbar{display:none}
.cf-nav a{font-size:13.5px;padding:8px 11px;color:#a2948a;white-space:nowrap;border-bottom:1px solid transparent}
.cf-nav a:hover{color:var(--cream);border-bottom-color:var(--red)}
.cf-nav a.on{color:var(--cream);border-bottom-color:var(--red)}
.cf-search{display:flex;border:1px solid var(--line);flex-shrink:0}
.cf-search input{width:150px;height:34px;background:transparent;border:0;padding:0 10px;
  color:var(--text);font-size:13px;outline:none}
.cf-search input::placeholder{color:#6d6058}
.cf-search button{width:34px;height:34px;background:var(--red);border:0;color:#fff;cursor:pointer;font-size:14px}
.cf-search button:hover{background:var(--red2)}
.cf-menu{display:none;background:none;border:1px solid var(--line);color:var(--cream);width:36px;height:34px;cursor:pointer}
.cf-main{padding:26px 18px 50px}

/* ---------- 报头 ---------- */
.cf-masthead{text-align:center;padding:22px 0 26px;margin-bottom:26px;
  border-top:3px double var(--line);border-bottom:3px double var(--line)}
.cf-masthead h1{font-size:46px;letter-spacing:8px;color:var(--cream);font-weight:400}
.cf-mast-sub{margin:10px 0 0;font-size:11.5px;letter-spacing:4px;color:var(--muted);
  text-transform:uppercase;font-family:var(--serif)}

/* ---------- 主推区 ---------- */
.cf-lead{display:grid;grid-template-columns:1fr 400px;gap:2px;margin-bottom:36px;background:var(--line)}
.cf-lead-main{position:relative;height:470px;overflow:hidden;background:var(--ink2)}
.cf-lead-item{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s,visibility .9s}
.cf-lead-item.on{opacity:1;visibility:visible}
.cf-lead-item img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.cf-lead-mask{position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(10,7,6,.95) 0%,rgba(10,7,6,.55) 46%,rgba(10,7,6,.1) 100%)}
.cf-lead-txt{position:absolute;left:40px;right:40px;bottom:34px;display:flex;flex-direction:column;gap:11px}
.cf-lead-txt em{font-style:normal;font-family:var(--serif);font-size:11px;letter-spacing:3px;color:var(--red2)}
.cf-lead-txt strong{font-family:var(--serif);font-size:38px;letter-spacing:2px;color:#fff;font-weight:400}
.cf-lead-txt span{font-size:12.5px;color:#b7a99d;letter-spacing:1px}
.cf-lead-txt i{font-style:normal;font-size:13.5px;color:#9c8e83;line-height:1.8;max-width:560px}
.cf-lead-btn{align-self:flex-start;margin-top:8px;padding:10px 30px;border:1px solid var(--cream);
  font-size:13px;letter-spacing:3px;color:var(--cream);transition:.25s}
.cf-lead-item:hover .cf-lead-btn{background:var(--red);border-color:var(--red);color:#fff}

.cf-lead-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:var(--line)}
.cf-mini{position:relative;overflow:hidden;background:var(--ink2);display:block}
.cf-mini-img{display:block;height:100%}
.cf-mini-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;opacity:.75}
.cf-mini:hover .cf-mini-img img{transform:scale(1.06);opacity:1}
.cf-mini-txt{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 12px;
  background:linear-gradient(0deg,rgba(10,7,6,.94),transparent);display:flex;flex-direction:column;gap:3px}
.cf-mini-txt strong{font-family:var(--serif);font-size:15px;font-weight:400;color:#fff}
.cf-mini-txt em{font-style:normal;font-size:11px;color:#a2948a;letter-spacing:1px}

/* ---------- 榜单 ---------- */
.cf-rankbar{margin-bottom:38px}
.cf-sec{display:flex;align-items:baseline;gap:12px;padding-bottom:10px;margin-bottom:18px;
  border-bottom:1px solid var(--line);font-size:19px;font-weight:400;letter-spacing:2px}
.cf-sec span{color:var(--cream)}
.cf-sec em{font-style:normal;font-family:var(--serif);font-size:10.5px;letter-spacing:3px;color:var(--muted)}
.cf-sec-more{margin-left:auto;font-size:12.5px;color:var(--muted);letter-spacing:1px;font-family:inherit}
.cf-sec-more:hover{color:var(--red2)}
.cf-ranknum{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 34px;
  border-top:1px solid rgba(242,233,221,.07)}
.cf-ranknum li{border-bottom:1px solid rgba(242,233,221,.07)}
.cf-ranknum a{display:flex;align-items:center;gap:14px;padding:11px 2px}
.cf-ranknum a:hover{padding-left:8px}
.cf-ranknum i{font-style:normal;font-family:var(--serif);font-size:13px;color:var(--red2);width:22px;flex-shrink:0}
.cf-rk-t{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d9cfc4}
.cf-rk-m{font-size:11.5px;color:#6f635b;letter-spacing:.5px}
.cf-rk-s{font-family:var(--serif);font-size:13px;color:var(--cream);width:32px;text-align:right}

/* ---------- 卡片网格 ---------- */
.cf-block{margin-bottom:40px}
.cf-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px 14px}
.cf-card{display:block}
.cf-card-img{position:relative;display:block;aspect-ratio:3/4.2;overflow:hidden;background:var(--ink);
  border:1px solid rgba(242,233,221,.1);transition:border-color .25s}
.cf-card-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.22) contrast(1.03);
  transition:transform .5s,filter .4s}
.cf-card:hover .cf-card-img{border-color:var(--red)}
.cf-card:hover .cf-card-img img{transform:scale(1.05);filter:none}
.cf-card-img em{position:absolute;right:0;top:0;font-style:normal;font-family:var(--serif);
  font-size:13px;padding:3px 9px;background:var(--red);color:#fff}
.cf-card strong{display:block;margin-top:10px;font-family:var(--serif);font-size:15px;font-weight:400;
  color:#e7ddd2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cf-card-m{display:block;font-size:11.5px;color:#7c6f66;letter-spacing:.6px;margin-top:3px}

/* ---------- 面包屑 / 栏目头 ---------- */
.cf-crumb{font-size:12px;color:var(--muted);letter-spacing:1.5px;margin-bottom:18px;display:flex;gap:8px;flex-wrap:wrap}
.cf-crumb em{font-style:normal;color:#cfc3b7}
.cf-cathead{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap;
  padding:26px 0 22px;border-top:3px double var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}
.cf-cathead-en{display:block;font-family:var(--serif);font-size:11px;letter-spacing:4px;color:var(--red2);margin-bottom:6px}
.cf-cathead-l h1{font-size:40px;font-weight:400;letter-spacing:4px;color:var(--cream)}
.cf-cathead-r{max-width:660px}
.cf-cathead-r p{margin:0 0 8px;font-size:13px;color:var(--muted);line-height:1.85}
.cf-cathead-r p b{color:var(--red2)}
.cf-count{font-family:var(--serif);font-size:26px;color:var(--cream)}
.cf-count em{font-style:normal;font-size:10.5px;letter-spacing:3px;color:var(--muted);margin-left:7px}
.cf-genres{display:flex;flex-wrap:wrap;gap:0;margin-bottom:26px;border-bottom:1px solid rgba(242,233,221,.07)}
.cf-genres a{font-size:13px;padding:9px 16px;color:#9a8b7e;border-bottom:1px solid transparent;letter-spacing:1px}
.cf-genres a:hover{color:var(--cream)}
.cf-genres a.on{color:var(--red2);border-bottom-color:var(--red)}
.cf-empty{padding:70px 22px;text-align:center;color:var(--muted);border:1px solid var(--line);
  letter-spacing:1px}
.cf-empty a{color:var(--red2);margin:0 5px}
.cf-search-page{margin:0 auto 28px;max-width:420px;justify-content:center}
.cf-search-page input{width:260px;height:38px}
.cf-search-page button{width:auto;padding:0 22px;height:38px;font-size:13px;letter-spacing:2px}

/* ---------- 分页 ---------- */
.pager{display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:wrap;margin:38px 0 10px}
.pager a,.pager span{min-width:36px;height:36px;padding:0 12px;display:grid;place-items:center;
  font-size:13px;border:1px solid var(--line);color:#a2948a;font-family:var(--serif)}
.pager a:hover{border-color:var(--red);color:var(--cream)}
.pager .on{background:var(--red);border-color:var(--red);color:#fff}
.pager .dot,.pager .total{border:0;color:#5e534c;font-size:12px}

/* ---------- 详情页 ---------- */
.cf-film{border-top:3px double var(--line);padding-top:24px}
.cf-film-head{text-align:center;margin-bottom:30px}
.cf-film-no{font-family:var(--serif);font-size:11px;letter-spacing:5px;color:var(--red2);margin-bottom:10px}
.cf-film-head h1{font-size:44px;font-weight:400;letter-spacing:4px;color:var(--cream);line-height:1.2}
.cf-film-alias{margin:9px 0 0;font-family:var(--serif);font-size:13px;letter-spacing:2px;color:var(--muted)}
.cf-film-body{display:grid;grid-template-columns:280px 1fr;gap:34px;margin-bottom:32px}
.cf-film-poster{position:relative;border:1px solid rgba(242,233,221,.14)}
.cf-film-poster img{width:100%;aspect-ratio:3/4.2;object-fit:cover}
.cf-film-rate{position:absolute;left:0;bottom:0;right:0;padding:10px 12px;display:flex;align-items:baseline;gap:5px;
  background:linear-gradient(0deg,rgba(10,7,6,.94),transparent)}
.cf-film-rate b{font-family:var(--serif);font-size:24px;color:var(--red2);font-weight:400}
.cf-film-rate span{font-size:11px;color:var(--muted);letter-spacing:1px}
.cf-dl{margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.cf-dl div{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid rgba(242,233,221,.07);font-size:13px}
.cf-dl dt{color:#7c6f66;font-size:11px;letter-spacing:1.2px;flex-shrink:0;width:96px;
  font-family:var(--serif);text-transform:uppercase;padding-top:2px}
.cf-dl dd{margin:0;color:#d9cfc4;flex:1}
.cf-dl dd a{color:var(--red2)}
.cf-film-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.cf-film-tags a{font-size:12px;padding:4px 12px;border:1px solid var(--line);color:#a2948a;letter-spacing:1px}
.cf-film-tags a:hover{border-color:var(--red);color:var(--cream)}
.cf-btn{display:inline-block;padding:12px 40px;background:var(--red);color:#fff;font-size:13px;
  letter-spacing:4px;border:1px solid var(--red)}
.cf-btn:hover{background:var(--red2);border-color:var(--red2);color:#fff}

.cf-play{background:#0c0807;border:1px solid var(--line);margin-bottom:34px}
.cf-play iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
/* 播放器配色：胶片红 */
.cf-play .mvp{
  --mvp-accent:#e8503a;
  --mvp-accent-soft:rgba(232,80,58,.28);
  --mvp-radius:0;
}
.cf-play .mvp-big{border-width:2px}
.cf-play .mvp-t{font-family:var(--serif);letter-spacing:1px}

.cf-synopsis{margin-bottom:34px}
.cf-syn-body{border-left:3px solid var(--red);padding:4px 0 4px 26px;font-size:14px;color:#bdb0a4;line-height:2}
.cf-syn-body p{margin:0 0 14px}
.cf-syn-body p:last-child{margin:0}
.cf-syn-body .lead{font-size:15.5px;color:#e2d8cc;font-family:var(--serif);line-height:1.95;
  padding-bottom:14px;border-bottom:1px dashed rgba(242,233,221,.12)}

.cf-pn{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:30px 0 36px;
  border-top:1px solid rgba(242,233,221,.1);border-bottom:1px solid rgba(242,233,221,.1);padding:16px 0}
.cf-pn a,.cf-pn span{font-size:13.5px;color:#c2b6aa;display:flex;gap:10px;align-items:baseline}
.cf-pn a:hover{color:var(--red2)}
.cf-pn em{font-style:normal;font-family:var(--serif);font-size:10.5px;letter-spacing:2px;color:var(--muted)}
.cf-pn span{color:#5e534c}

.cf-about-body p{font-size:13.5px;color:#94867b;line-height:2;margin:0 0 12px}
.cf-about-body p:last-child{margin:0}

/* ---------- 页脚 ---------- */
.cf-foot{margin-top:26px;background:#0d0908;border-top:1px solid var(--line);padding:40px 0 26px}
.cf-foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-bottom:26px;
  border-bottom:1px solid rgba(242,233,221,.08)}
.cf-foot-col h2{font-family:var(--serif);font-size:11px;letter-spacing:3px;color:var(--red2);
  font-weight:400;margin-bottom:12px}
.cf-foot-col ul{list-style:none;margin:0;padding:0}
.cf-foot-col li{line-height:2.05;font-size:12.5px}
.cf-foot-col a{color:#8b7d72}
.cf-foot-col a:hover{color:var(--cream)}
.cf-foot-note p{margin:0;font-size:12px;color:#6d6058;line-height:1.95}
.cf-copy{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;
  font-size:11.5px;color:#5b5049;letter-spacing:1px}

@media(max-width:1180px){
  .cf-grid{grid-template-columns:repeat(5,1fr)}
  .cf-lead{grid-template-columns:1fr 340px}
}
@media(max-width:980px){
  .cf-grid{grid-template-columns:repeat(4,1fr)}
  .cf-lead{grid-template-columns:1fr}
  .cf-lead-side{height:300px}
  .cf-nav{display:none}
  .cf-menu{display:block}
  body.cf-open .cf-nav{display:flex;order:4;flex-basis:100%;flex-wrap:wrap;padding-bottom:10px}
  body.cf-open .cf-head-in{height:auto;padding:12px 0;flex-wrap:wrap}
  .cf-film-body{grid-template-columns:220px 1fr;gap:22px}
  .cf-masthead h1{font-size:34px}
}
@media(max-width:640px){
  .cf-head-in{height:auto;padding:10px 0;flex-wrap:wrap;gap:12px}
  .cf-logo{padding-right:0;border-right:0}
  .cf-search{margin-left:auto}
  .cf-grid{grid-template-columns:repeat(3,1fr);gap:14px 10px}
  .cf-lead-main{height:340px}
  .cf-lead-txt{left:20px;right:20px;bottom:20px}
  .cf-lead-txt strong{font-size:25px}
  .cf-lead-txt i{display:none}
  .cf-ranknum{grid-template-columns:1fr}
  .cf-film-head h1{font-size:28px}
  .cf-film-body{grid-template-columns:1fr}
  .cf-film-poster{max-width:200px}
  .cf-dl{grid-template-columns:1fr}
  .cf-cathead-l h1{font-size:28px}
  .cf-foot-grid{grid-template-columns:1fr 1fr}
  .cf-masthead h1{font-size:27px;letter-spacing:4px}
}
@media(max-width:420px){
  .cf-grid{grid-template-columns:repeat(2,1fr)}
  .cf-lead-side{grid-template-columns:1fr 1fr}
}
