/* ============================================================
   建站套餐总览页（package.html）页面专属样式
   布局特征：价格速览胶囊 + 阶梯式卡片 + 对照大表 + 对号入座行
   依赖：base.css（变量/按钮/导航/页脚/悬浮/渐入）
   ============================================================ */

/* 屏幕阅读器专用 */
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* 模块通用头尾 */
.p-sec-head{ max-width:640px; margin:0 auto 40px; text-align:center; }
.p-sec-head h2{ margin:12px 0 10px; }
.p-sec-head p{ color:var(--body); margin:0; }

/* ---------- ① 首屏 ---------- */
.p-hero{ padding:36px 0 30px; }
.p-crumb{ margin-bottom:22px; }
.p-hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center;
}
.p-hero-text h1{ margin:16px 0 18px; }
.p-hero-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
.p-hero-photo{ position:relative; }
.p-hero-photo img{
  border-radius:var(--r-l);
  border:3px dashed var(--yellow);
  box-shadow:var(--shadow-s);
}
.p-hero-sticker{
  position:absolute; left:18px; bottom:-16px;
  background:var(--white); border:2px dashed var(--pink-mid);
  border-radius:var(--r-full); padding:8px 20px;
  font-size:13px; font-weight:700; color:var(--pink-deep);
}
/* 价格速览胶囊 */
.p-price-caps{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  margin-top:52px;
}
.pcap{
  display:flex; flex-direction:column; gap:2px;
  border-radius:var(--r-m); padding:16px 22px;
  border:2px dashed transparent;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pcap:hover{ transform:translateY(-4px) rotate(-.5deg); }
.pcap-name{ font-size:13px; font-weight:700; }
.pcap-price{ font-size:26px; font-weight:800; color:var(--ink); line-height:1.2; }
.pcap-price span{ font-size:13px; font-weight:600; }
.pcap-y{ background:var(--yellow-soft); border-color:var(--yellow); }
.pcap-p{ background:var(--pink-soft); border-color:var(--pink); }
.pcap-g{ background:var(--green-soft); border-color:var(--green); }

/* ---------- ② 套餐体系 ---------- */
.p-system{ padding:56px 0 10px; }
.sys-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.sys-card{
  background:var(--white); border-radius:var(--r-l);
  padding:30px 26px; box-shadow:var(--shadow-s);
  transition:transform .25s ease, box-shadow .25s ease;
}
.sys-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-m); }
.sys-icon{
  display:inline-flex; width:52px; height:52px; border-radius:18px;
  align-items:center; justify-content:center; margin-bottom:14px;
}
.sys-icon svg{ width:26px; height:26px; }
.sys-y .sys-icon{ background:var(--yellow-soft); color:var(--yellow-deep); }
.sys-p .sys-icon{ background:var(--pink-soft); color:var(--pink-deep); }
.sys-g .sys-icon{ background:var(--green-soft); color:var(--green-deep); }
.sys-card h3{ margin-bottom:10px; }
.sys-card p{ margin:0; font-size:14.5px; }

/* ---------- ③ 阶梯卡片 ---------- */
.p-stairs{ padding:64px 0 10px; }
.stair-row{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  align-items:end;
}
.stair{
  background:var(--white); border-radius:var(--r-l);
  padding:30px 26px 34px; text-align:center;
  border:2px dashed var(--yellow-soft);
  transition:transform .25s ease, box-shadow .25s ease;
}
.stair:hover{ transform:translateY(-6px); box-shadow:var(--shadow-l); }
.stair-1{ padding-bottom:30px; }
.stair-2{
  background:linear-gradient(180deg,var(--pink-soft) 0%, var(--white) 46%);
  border-color:var(--pink-mid); box-shadow:var(--shadow-m);
  transform:scale(1.03);
}
.stair-2:hover{ transform:scale(1.03) translateY(-6px); }
.stair-3{ padding-bottom:38px; }
.stair-badge{
  display:inline-block; font-size:12.5px; font-weight:800;
  padding:5px 16px; border-radius:var(--r-full); margin-bottom:14px;
  background:var(--green-soft); color:var(--green-deep);
}
.stair-2 .stair-badge{ background:linear-gradient(135deg,var(--pink),var(--pink-deep)); color:#fff; }
.stair-3 .stair-badge{ background:var(--yellow-soft); color:var(--yellow-deep); }
.stair h3{ font-size:24px; }
.stair-price{ margin:8px 0 16px; font-size:16px; color:var(--body); }
.stair-price b{ font-size:44px; color:var(--ink); font-weight:800; }
.stair-price span{ font-size:14px; }
.stair ul{ text-align:left; margin-bottom:22px; }
.stair ul li{
  position:relative; padding:7px 0 7px 26px; font-size:14.5px;
  border-bottom:1px dashed var(--yellow-soft);
}
.stair ul li::before{
  content:""; position:absolute; left:2px; top:12px;
  width:12px; height:12px; border-radius:50%;
  background:var(--green-mid);
}
.stair ul li:last-child{ border-bottom:0; }

/* ---------- ④ 对照大表 ---------- */
.p-compare{ padding:64px 0 10px; }
.table-wrap{
  background:var(--white); border-radius:var(--r-l);
  box-shadow:var(--shadow-s); padding:10px; overflow-x:auto;
  border:2px dashed var(--pink-mid);
}
.cmp-table{ width:100%; border-collapse:separate; border-spacing:0 6px; min-width:640px; }
.cmp-table th, .cmp-table td{
  padding:13px 16px; text-align:center; font-size:14.5px;
}
.cmp-table thead th{ background:var(--cream-2); border-radius:14px 14px 0 0; }
.cmp-table thead th b{ display:block; font-size:17px; color:var(--ink); }
.cmp-table thead th span{ display:block; font-size:12px; font-weight:600; color:var(--body); margin-top:2px; }
.cmp-table tbody th{
  text-align:left; font-weight:700; color:var(--ink);
  background:var(--green-soft); border-radius:12px 0 0 12px;
}
.cmp-table tbody td{ background:#FFFDF6; }
.cmp-table tbody tr td:last-child{ border-radius:0 12px 12px 0; }
.cmp-table .hot-col{ background:var(--pink-soft) !important; font-weight:700; color:var(--pink-deep); }
.cmp-table thead .hot-col{ background:linear-gradient(135deg,var(--pink-mid),var(--pink-soft)); border-radius:14px; }
.p-compare-note{ text-align:center; margin-top:18px; font-size:14px; }
.p-compare-note a{ color:var(--pink-deep); font-weight:700; }

/* ---------- ⑤ 选档指引 ---------- */
.p-guide{ padding:64px 0 10px; }
.guide-list{ display:flex; flex-direction:column; gap:18px; max-width:880px; margin:0 auto; }
.guide-row{
  display:flex; align-items:center; gap:20px;
  background:var(--white); border-radius:var(--r-l);
  padding:22px 26px; box-shadow:var(--shadow-s);
  border:2px dashed transparent;
  transition:transform .25s ease, border-color .25s ease;
}
.guide-row:hover{ transform:translateX(6px); border-color:var(--pink-mid); }
.guide-no{
  flex:none; width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:20px; color:#fff;
}
.g-y{ background:linear-gradient(135deg,var(--yellow),var(--yellow-deep)); }
.g-p{ background:linear-gradient(135deg,var(--pink),var(--pink-deep)); }
.g-g{ background:linear-gradient(135deg,var(--green),var(--green-deep)); }
.guide-body h3{ font-size:18px; margin-bottom:6px; }
.guide-body p{ margin:0; font-size:14.5px; }
.guide-body a{ color:var(--pink-deep); font-weight:700; }
.guide-arrow{ flex:none; color:var(--pink); }
.guide-arrow svg{ width:26px; height:26px; }

/* ---------- ⑥ 增值服务 ---------- */
.p-addon{ padding:64px 0 10px; }
.addon-wrap{
  display:grid; grid-template-columns:repeat(5,1fr); gap:16px;
}
.addon{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  background:var(--white); border-radius:var(--r-m);
  padding:24px 12px; text-align:center;
  border:2px dashed var(--yellow-soft);
  transition:transform .25s ease, box-shadow .25s ease;
}
.addon:hover{ transform:translateY(-5px) rotate(-1deg); box-shadow:var(--shadow-m); }
.addon svg{ width:30px; height:30px; margin-bottom:6px; }
.addon b{ font-size:15px; color:var(--ink); }
.addon i{ font-style:normal; font-size:12.5px; color:var(--body); }
.addon-y{ border-color:var(--yellow); } .addon-y svg{ color:var(--yellow-deep); }
.addon-p{ border-color:var(--pink-mid); } .addon-p svg{ color:var(--pink-deep); }
.addon-g{ border-color:var(--green-mid); } .addon-g svg{ color:var(--green-deep); }

/* ---------- ⑦ 迷你流程 ---------- */
.p-flow{ padding:64px 0 10px; }
.mini-flow{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  counter-reset:step;
}
.mini-flow li{
  background:var(--white); border-radius:var(--r-m);
  padding:22px 20px; box-shadow:var(--shadow-s);
  position:relative; border-top:4px solid var(--yellow);
}
.mini-flow li:nth-child(2){ border-top-color:var(--pink); }
.mini-flow li:nth-child(3){ border-top-color:var(--green); }
.mini-flow li:nth-child(4){ border-top-color:var(--yellow-deep); }
.mini-flow b{
  font-size:13px; font-weight:800; color:var(--pink-deep);
  letter-spacing:1px;
}
.mini-flow h3{ font-size:16.5px; margin:6px 0 6px; }
.mini-flow p{ margin:0; font-size:13.5px; }

/* ---------- ⑧ FAQ ---------- */
.p-faq{ padding:64px 0 10px; }
.p-faq-wrap{ max-width:860px; }
.faq-list{ display:flex; flex-direction:column; gap:14px; }
.faq-item{
  background:var(--white); border-radius:var(--r-m);
  border:2px dashed var(--yellow-soft); padding:6px 24px;
  transition:border-color .2s ease;
}
.faq-item[open]{ border-color:var(--pink-mid); }
.faq-item summary{
  cursor:pointer; font-weight:800; color:var(--ink);
  padding:14px 0; list-style:none; position:relative; padding-right:34px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:""; position:absolute; right:6px; top:50%;
  width:10px; height:10px; border-right:2.5px solid var(--pink-deep);
  border-bottom:2.5px solid var(--pink-deep);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .25s ease;
}
.faq-item[open] summary::after{ transform:translateY(-30%) rotate(225deg); }
.faq-item p{ padding:0 0 16px; margin:0; font-size:14.5px; }
.faq-item p a{ color:var(--pink-deep); font-weight:700; }

/* ---------- ⑨ CTA ---------- */
.p-cta{
  position:relative; margin-top:64px; border-radius:var(--r-xl) var(--r-xl) 0 0;
  overflow:hidden;
}
.p-cta-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.p-cta::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,246,220,.95) 0%, rgba(255,228,240,.95) 100%);
}
.p-cta-inner{
  position:relative; text-align:center; padding:80px 20px;
}
.p-cta-btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:22px; }

/* ================= 响应式 ================= */
@media (max-width:1023.98px){
  .p-hero-grid{ grid-template-columns:1fr; gap:30px; }
  .stair-row{ grid-template-columns:1fr; align-items:stretch; }
  .stair-2{ transform:none; }
  .stair-2:hover{ transform:translateY(-6px); }
  .addon-wrap{ grid-template-columns:repeat(3,1fr); }
  .mini-flow{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767.98px){
  .p-price-caps{ grid-template-columns:1fr; gap:12px; }
  .sys-grid{ grid-template-columns:1fr; }
  .addon-wrap{ grid-template-columns:repeat(2,1fr); }
  .mini-flow{ grid-template-columns:1fr; }
  .guide-row{ flex-wrap:wrap; }
  .guide-arrow{ display:none; }
  .p-hero-btns .btn{ width:100%; }
}
