@charset "utf-8";
/* ==========================================================================
   大师兄影视 · 投诉举报页样式
   延续炭黑 + 荧火橙配色，卡片、圆角、导轨与首页保持一致
   1 页面容器 / 2 受理说明 / 3 表单卡片 / 4 投诉类型选择 / 5 结果弹窗 / 6 响应式
   ========================================================================== */

/* ===== 1. 页面容器 ===== */
.cm-main{max-width:1180px;margin:0 auto;padding:56px 24px 40px;}
.cm-main .page-head{margin-bottom:32px;}

/* ===== 2. 受理说明（左侧栏，滚动时吸附） ===== */
.cm-layout{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:32px;align-items:start;}
.cm-aside{
  position:sticky;top:112px;
  padding:28px 24px 24px;
  background:var(--surface);
  border:1px solid var(--line-2);border-radius:var(--r);
  box-shadow:var(--shadow);
}
.cm-aside h2{display:flex;align-items:baseline;gap:10px;font-family:var(--font-display);font-size:19px;font-weight:800;}
.cm-aside h2::before{content:"";width:12px;height:2px;flex:none;background:var(--rail);transform:translateY(-5px);}
.cm-list{margin-top:18px;display:grid;gap:12px;}
.cm-list li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.75;color:var(--text-muted);}
.cm-list li::before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--flame);opacity:.85;}
.cm-steps{margin-top:22px;padding-top:20px;border-top:1px dashed var(--line-2);display:grid;gap:14px;}
.cm-step{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.7;color:var(--text-muted);}
.cm-step b{
  flex:none;width:26px;height:26px;display:grid;place-items:center;
  font-size:12px;font-weight:700;letter-spacing:.02em;color:#2A1004;
  background-image:var(--grad);border-radius:50%;
  box-shadow:0 10px 20px -14px rgba(217,62,11,.9);
}
.cm-aside-note{margin-top:20px;padding-top:18px;border-top:1px dashed var(--line-2);font-size:13.5px;line-height:1.8;color:var(--text-faint);}
.cm-aside-note a{color:var(--flame);font-weight:700;}

/* ===== 3. 表单卡片 ===== */
.cm-card{
  position:relative;overflow:hidden;
  padding:32px 30px 28px;
  background:var(--surface);
  border:1px solid var(--line-2);border-radius:var(--r);
  box-shadow:var(--shadow);
}
.cm-card::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--rail);
}
.cm-card-head{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.cm-card-head h2{font-family:var(--font-display);font-size:21px;font-weight:800;}
.cm-card-head p{margin-top:8px;font-size:14.5px;color:var(--text-faint);}

/* ===== 4. 投诉类型选择 ===== */
.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.type-item{
  display:flex;align-items:center;gap:9px;
  padding:12px 14px;
  font-size:14px;font-weight:600;color:var(--text-muted);
  background:var(--bg-elev);
  border:1px solid var(--line-2);border-radius:var(--r-sm);
  cursor:pointer;
  transition:border-color .18s ease,color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.type-item:hover{border-color:var(--line-3);color:var(--text);}
.type-item input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none;}
.type-item .tick{
  position:relative;flex:none;width:15px;height:15px;
  border:1.6px solid var(--line-3);border-radius:50%;
  transition:border-color .18s ease,background-color .18s ease;
}
.type-item input:focus-visible + .tick{outline:2px solid var(--flame);outline-offset:3px;}
.type-item.is-on{
  color:var(--flame-soft);background:var(--flame-tint);border-color:var(--flame);
  box-shadow:0 12px 26px -20px rgba(217,62,11,.9);
}
.type-item.is-on .tick{border-color:var(--flame);background:var(--flame);}
.type-item.is-on .tick::after{content:"";position:absolute;left:3.4px;top:3.4px;width:5px;height:5px;border-radius:50%;background:#2A1004;}
.type-item:has(input:checked){
  color:var(--flame-soft);background:var(--flame-tint);border-color:var(--flame);
  box-shadow:0 12px 26px -20px rgba(217,62,11,.9);
}
.type-item:has(input:checked) .tick{border-color:var(--flame);background:var(--flame);}
.type-item:has(input:checked) .tick::after{content:"";position:absolute;left:3.4px;top:3.4px;width:5px;height:5px;border-radius:50%;background:#2A1004;}
[data-theme="light"] .type-item.is-on{color:var(--flame);}
[data-theme="light"] .type-item:has(input:checked){color:var(--flame);}

/* ===== 5. 结果弹窗 ===== */
.cm-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;}
.cm-modal.is-open{display:flex;}
.cm-modal-mask{position:absolute;inset:0;background:rgba(6,4,6,.72);backdrop-filter:blur(4px);}
.cm-modal-box{
  position:relative;width:100%;max-width:396px;
  padding:36px 26px 26px;text-align:center;
  background:var(--surface);
  border:1px solid var(--line-2);border-radius:var(--r);
  box-shadow:var(--shadow-lg);
}
.cm-modal-icon{
  width:58px;height:58px;margin:0 auto 18px;
  display:grid;place-items:center;font-size:26px;color:#2A1004;
  background-image:var(--grad);border-radius:50%;
  box-shadow:0 18px 34px -18px rgba(217,62,11,.85);
}
.cm-modal-box p{font-size:15px;line-height:1.85;color:var(--text-muted);}
.cm-modal-box .btn{margin-top:24px;width:100%;}

/* ===== 6. 响应式 ===== */
@media (max-width:1080px){
  .cm-layout{grid-template-columns:1fr;gap:26px;}
  .cm-aside{position:static;order:2;}
  .cm-card{order:1;}
}
@media (max-width:880px){
  .cm-main{padding:40px 20px 32px;}
  .type-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .cm-main{padding:30px 18px 26px;}
  .cm-aside{padding:24px 20px 20px;}
  .cm-card{padding:24px 20px 22px;}
  .cm-card-head h2{font-size:19px;}
  .type-item{font-size:13.5px;padding:11px 12px;}
  .cm-card .form-actions{flex-direction:column;align-items:stretch;gap:12px;}
  .cm-card .form-actions .btn{width:100%;}
  .form-tip{text-align:center;}
}
