/* ============================================================
   yikeyichi.com · kaoshi-zhenti.html 专属样式
   布局原型：L1 斜切对角（clip-path 斜切 Hero + 旋转图文 + 阶梯卡）
   ============================================================ */

/* ---------- Hero：斜切对角 ---------- */
.hero{
  position:relative; min-height:76vh; display:flex; align-items:center;
  padding:calc(var(--header-h) + 50px) 0 90px; overflow:hidden; background:var(--green-950);
}
.hero__media{ position:absolute; inset:0; }
.hero__media img{ width:100%; height:100%; object-fit:cover; opacity:.5; }
.hero__veil{
  position:absolute; inset:0;
  background:linear-gradient(100deg,rgba(27,42,33,.95) 34%,rgba(34,57,46,.55) 66%,rgba(34,57,46,.12) 100%);
  clip-path:polygon(0 0,64% 0,84% 100%,0 100%);
}
.hero__content{ position:relative; z-index:2; }
.hero__content .breadcrumb{ margin-bottom:20px; }
.hero__content .breadcrumb a{ color:rgba(251,248,241,.6); }
.hero__content .breadcrumb .cur{ color:var(--cream-100); }
.hero__eyebrow{
  font-size:13px; letter-spacing:.4em; color:var(--brown-500); margin-bottom:16px;
}
.hero h1{
  color:var(--cream-50); font-size:clamp(34px,5.6vw,62px); line-height:1.22;
  letter-spacing:.04em; margin-bottom:20px;
}
.hero__lead{ color:rgba(251,248,241,.82); font-size:16px; line-height:2; max-width:520px; margin-bottom:32px; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; }

/* ---------- 题型三卡 ---------- */
.qt-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.qt-card{
  padding:30px 28px; background:var(--cream-100); border-radius:var(--radius-m);
  border-left:4px solid var(--brown-500); transition:all .35s var(--ease);
}
.qt-card:nth-child(2){ transform:translateY(20px); }
.qt-card:nth-child(3){ transform:translateY(40px); }
.qt-card:hover{ box-shadow:var(--shadow-md); }
.qt-card b{ font-family:var(--font-serif); font-size:22px; color:var(--green-800); display:block; margin-bottom:10px; }
.qt-card p{ font-size:14px; color:var(--muted); line-height:2; }

/* ---------- 考点分布表 ---------- */
.pt-table{ overflow-x:auto; border-radius:var(--radius-m); box-shadow:var(--shadow-sm); }
.pt-table .tbl{ min-width:660px; background:var(--cream-50); }

/* ---------- 模拟练习：错位图文 ---------- */
.mk-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,70px); align-items:center; }
.mk-pic img{
  width:100%; height:360px; object-fit:cover; border-radius:var(--radius-m);
  box-shadow:var(--shadow-lg); transform:rotate(-1.5deg);
}
.mk-copy .eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; letter-spacing:.32em; color:var(--brown-600); margin-bottom:14px;
}
.mk-copy .eyebrow::before{ content:""; width:34px; height:1px; background:var(--brown-500); }
.mk-copy h2{ margin-bottom:16px; }
.mk-copy p{ color:var(--ink-soft); font-size:15px; line-height:2.05; margin-bottom:16px; }

/* ---------- 技巧：深底两栏 ---------- */
.tips .eyebrow{ color:var(--brown-500); }
.tips .eyebrow::before{ content:""; width:34px; height:1px; background:var(--brown-500); }
.tp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,70px); }
.tp-col h2{ margin-bottom:18px; }
.tp-col ul li{
  position:relative; padding:11px 0 11px 26px;
  border-bottom:1px dashed rgba(251,248,241,.14);
  font-size:14.5px; color:rgba(251,248,241,.76); line-height:1.9;
}
.tp-col ul li::before{
  content:""; position:absolute; left:0; top:19px; width:8px; height:8px;
  border-radius:50%; background:var(--brown-500);
}

/* ---------- 备考阶梯 ---------- */
.pl-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:start; }
.pl-step{
  background:var(--cream-100); border-radius:var(--radius-s); padding:28px 26px;
  border-bottom:3px solid var(--green-800);
}
.pl-step--up{ transform:translateY(30px); border-bottom-color:var(--brown-500); }
.pl-step--top{ transform:translateY(60px); }
.pl-step b{
  font-family:var(--font-serif); color:var(--brown-600); font-size:15px;
  display:block; margin-bottom:10px; letter-spacing:.05em;
}
.pl-step h3{ font-size:19px; margin-bottom:8px; }
.pl-step p{ font-size:13.5px; color:var(--muted); line-height:1.95; }

/* ---------- FAQ：窄栏竖线 ---------- */
.fq-wrap{
  max-width:760px; border-left:2px solid var(--green-900); padding-left:clamp(20px,4vw,50px);
}
.fq-item{ border-bottom:1px solid var(--line-strong); }
.fq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  padding:18px 4px; font-size:15px; font-weight:600; color:var(--green-900);
}
.fq-item summary::-webkit-details-marker{ display:none; }
.fq-item summary span{
  flex:none; width:22px; height:22px; border-radius:50%;
  background:rgba(176,141,102,.18); position:relative; transition:all .35s var(--ease);
}
.fq-item summary span::before{
  content:""; position:absolute; left:5px; right:5px; top:50%; height:1.5px; background:var(--brown-600);
}
.fq-item summary span::after{
  content:""; position:absolute; top:5px; bottom:5px; left:50%; width:1.5px; background:var(--brown-600);
  transition:transform .35s var(--ease);
}
.fq-item[open] summary span{ transform:rotate(180deg); background:var(--brown-600); }
.fq-item[open] summary span::before,.fq-item[open] summary span::after{ background:var(--cream-50); }
.fq-item p{ padding:0 26px 16px 4px; font-size:14px; color:var(--muted); line-height:2; }
.fq-item p a{ color:var(--green-700); }

/* ---------- CTA：斜切色块 ---------- */
.booking{
  position:relative; overflow:hidden;
  background:linear-gradient(120deg,var(--green-900),var(--green-800));
}
.bk-inner{
  position:relative; z-index:2; display:grid; grid-template-columns:1fr 1.1fr;
  gap:clamp(28px,5vw,60px); align-items:center;
}
.booking .eyebrow{ color:var(--brown-500); }
.booking .eyebrow::before{ content:""; width:34px; height:1px; background:var(--brown-500); }
.booking h2{ color:var(--cream-50); }
.bk-copy p{ color:rgba(251,248,241,.74); }
.bk-copy a{ color:var(--brown-500); font-weight:700; }
.bk-form{
  background:var(--cream-50); border-radius:var(--radius-m); padding:28px 26px;
  display:grid; grid-template-columns:1fr 1fr; gap:14px; box-shadow:var(--shadow-lg);
}
.bk-form .field:nth-child(3),.bk-form .btn{ grid-column:1 / -1; }

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .qt-grid,.tp-grid,.mk-grid,.bk-inner{ grid-template-columns:1fr; }
  .qt-card:nth-child(2),.qt-card:nth-child(3){ transform:none; }
  .pl-steps{ grid-template-columns:1fr; }
  .pl-step--up,.pl-step--top{ transform:none; }
}
@media (max-width:640px){
  .bk-form{ grid-template-columns:1fr; padding:22px 18px; }
  .bk-form .field{ grid-column:1; }
}

/* ============================================================
   新增区块样式（ktx- 前缀，不改动上方既有类）
   ============================================================ */
/* 题库章节权重表 */
.ktx-structure__table{
  margin-top:30px; border-radius:var(--radius-s);
  overflow:hidden; box-shadow:var(--shadow-sm);
}

/* 实操评分点 */
.ktx-score{ border-top:1px solid var(--line); }
.ktx-score__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:30px; }
.ktx-score__item{
  background:var(--cream-100); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:20px;
}
.ktx-score__item b{
  display:block; font-family:var(--font-serif); color:var(--green-900);
  font-size:16px; margin-bottom:8px;
}
.ktx-score__item p{ font-size:13.5px; color:var(--muted); line-height:1.9; margin:0; }
.ktx-structure__note{
  max-width:760px; margin:22px 0 0; font-size:13.5px; color:var(--muted);
  line-height:2; padding-left:14px; border-left:2px solid var(--brown-500);
}
.ktx-score__note{
  margin-top:22px; text-align:center; font-size:13.5px; color:var(--brown-700); line-height:2;
}

/* 刷题误区 */
.ktx-mis__list{
  display:grid; grid-template-columns:repeat(2,1fr); gap:6px 40px; margin-top:30px;
}
.ktx-mis__item{ padding:18px 0; border-bottom:1px dashed var(--line); }
.ktx-mis__item h3{ font-size:16px; color:var(--brown-700); margin-bottom:6px; }
.ktx-mis__item p{ font-size:14px; color:var(--ink-soft); line-height:1.9; margin:0; }
.ktx-mis__foot{
  max-width:760px; margin:24px 0 0; font-size:14px; color:var(--green-900); line-height:2;
  padding:14px 18px; background:var(--cream-100); border-radius:var(--radius-s);
}

@media (max-width:900px){
  .ktx-score__grid{ grid-template-columns:1fr 1fr; }
  .ktx-mis__list{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .ktx-score__grid{ grid-template-columns:1fr; }
}

/* 三轮模拟节奏 */
.ktx-mock{ background:var(--cream-50); border-top:1px solid var(--line); }
.ktx-mock__steps{
  display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:34px;
}
.ktx-mock__step{
  position:relative; padding:26px 24px; background:var(--cream-100);
  border:1px solid var(--line); margin-right:26px;
}
.ktx-mock__step:last-child{ margin-right:0; }
.ktx-mock__step::after{
  content:""; position:absolute; right:-20px; top:50%; transform:translateY(-50%);
  width:0; height:0; border-left:10px solid var(--brown-500);
  border-top:8px solid transparent; border-bottom:8px solid transparent; z-index:2;
}
.ktx-mock__step:last-child::after{ display:none; }
.ktx-mock__step b{
  display:block; font-family:var(--font-serif); color:var(--green-900);
  font-size:16px; margin-bottom:10px;
}
.ktx-mock__step p{ font-size:13.5px; color:var(--muted); line-height:1.9; margin:0; }
.ktx-mock__note{
  margin-top:22px; text-align:center; font-size:13.5px; color:var(--brown-700); line-height:2;
}
@media (max-width:900px){
  .ktx-mock__steps{ grid-template-columns:1fr; gap:14px; }
  .ktx-mock__step{ margin-right:0; }
  .ktx-mock__step::after{ display:none; }
}
