/* ============================================================
   旗舰版套餐详情页（package-flagship.html）页面专属样式
   布局特征：横幅照片 + 叠下沿卡片 + 三画像 + 标签页面板 +
             四承诺徽章 + 三节点节奏 + 渐变 CTA
   依赖：base.css
   ============================================================ */

/* ---------- ① 首屏 ---------- */
.f-hero{ padding:36px 0 0; }
.f-crumb{ margin-bottom:22px; }
.f-hero-photo img{
  border-radius:var(--r-xl); border:3px dashed var(--green-mid);
  box-shadow:var(--shadow-l);
}
.f-hero-card{
  max-width:640px; margin:-56px auto 0; position:relative;
  background:var(--white); border-radius:var(--r-xl);
  border:2px dashed var(--pink-mid);
  padding:36px 38px; box-shadow:var(--shadow-m);
  text-align:center;
}
.f-hero-card h1{ margin:14px 0 14px; }
.f-hero-btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:22px; }

/* ---------- ② 适用对象 ---------- */
.f-who{ padding:70px 0 10px; }
.who3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.who3-item{
  background:var(--white); border-radius:var(--r-l);
  padding:28px 24px; text-align:center; box-shadow:var(--shadow-s);
  transition:transform .25s ease, box-shadow .25s ease;
}
.who3-item:hover{ transform:translateY(-5px) rotate(1deg); box-shadow:var(--shadow-m); }
.who3-ic{
  display:inline-flex; width:56px; height:56px; border-radius:50%;
  align-items:center; justify-content:center; margin-bottom:14px;
  background:var(--green-soft); color:var(--green-deep);
}
.who3-item:nth-child(2) .who3-ic{ background:var(--pink-soft); color:var(--pink-deep); }
.who3-item:nth-child(3) .who3-ic{ background:var(--yellow-soft); color:var(--yellow-deep); }
.who3-ic svg{ width:28px; height:28px; }
.who3-item h3{ font-size:18px; margin-bottom:8px; }
.who3-item p{ margin:0; font-size:14.5px; }

/* ---------- ③ 标签页 ---------- */
.f-tabs{ padding:64px 0 10px; }
.tabs-wrap{
  background:var(--white); border-radius:var(--r-xl);
  border:2px dashed var(--green-mid); box-shadow:var(--shadow-s);
  overflow:hidden;
}
.tab-btns{
  display:flex; border-bottom:2px dashed var(--green-mid);
  overflow-x:auto;
}
.tab-btn{
  flex:none; padding:16px 26px; font-size:15px; font-weight:800;
  color:var(--body); background:transparent; position:relative;
  transition:color .2s ease, background .2s ease;
}
.tab-btn:hover{ color:var(--green-deep); }
.tab-btn.is-active{
  color:var(--green-deep);
  background:var(--green-soft);
}
.tab-btn.is-active::after{
  content:""; position:absolute; left:18px; right:18px; bottom:-2px;
  height:4px; border-radius:2px;
  background:linear-gradient(90deg,var(--green),var(--green-deep));
}
.tab-panels{ padding:30px; }
.tab-panel{ animation:panelIn .35s ease; }
@keyframes panelIn{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:none; }
}
.panel-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:32px; align-items:center; }
.panel-photo img{ border-radius:var(--r-l); }
.panel-text h3{ margin-bottom:14px; }
.panel-text ul li{
  position:relative; padding:8px 0 8px 28px; font-size:14.5px;
  border-bottom:1px dashed var(--yellow-soft);
}
.panel-text ul li:last-child{ border-bottom:0; }
.panel-text ul li::before{
  content:""; position:absolute; left:2px; top:14px;
  width:13px; height:13px; border-radius:50%;
  background:var(--green-mid);
}
.panel-text a{ color:var(--pink-deep); font-weight:700; }

/* ---------- ④ 服务承诺 ---------- */
.f-promise{ padding:64px 0 10px; }
.promise-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.promise{
  border-radius:var(--r-l); padding:26px 22px;
  border:2px dashed transparent;
  transition:transform .25s ease;
}
.promise:hover{ transform:translateY(-5px); }
.promise b{
  font-size:30px; font-weight:800; opacity:.5; line-height:1;
}
.promise h3{ font-size:17px; margin:10px 0 8px; }
.promise p{ margin:0; font-size:13.5px; }
.promise-y{ background:var(--yellow-soft); border-color:var(--yellow); }
.promise-p{ background:var(--pink-soft); border-color:var(--pink-mid); }
.promise-g{ background:var(--green-soft); border-color:var(--green-mid); }
.promise-y b{ color:var(--yellow-deep); }
.promise-p b{ color:var(--pink-deep); }
.promise-g b{ color:var(--green-deep); }

/* ---------- ⑤ 交付节奏（三节点大卡） ---------- */
.f-step{ padding:64px 0 10px; }
.fstep-row{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  counter-reset:fstep;
}
.fstep-row li{
  background:var(--white); border-radius:var(--r-l);
  padding:28px 26px; box-shadow:var(--shadow-s);
  position:relative; overflow:hidden;
}
.fstep-row li::after{
  counter-increment:fstep; content:counter(fstep,decimal-leading-zero);
  position:absolute; right:16px; top:8px;
  font-size:44px; font-weight:800; opacity:.08; color:var(--ink);
}
.fstep-row h3{ font-size:19px; margin-bottom:8px; }
.fstep-row p{ margin:0; font-size:14px; }

/* ---------- ⑥ FAQ ---------- */
.f-faq{ padding:64px 0 10px; }
.f-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(--pink-mid); padding:6px 24px;
}
.faq-item[open]{ border-color:var(--green-mid); }
.faq-item summary{
  cursor:pointer; font-weight:800; color:var(--ink);
  padding:14px 34px 14px 0; list-style:none; position:relative;
}
.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(--green-deep);
  border-bottom:2.5px solid var(--green-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 ---------- */
.f-cta{ padding:64px 0 10px; }
.f-cta-inner{
  text-align:center; border-radius:var(--r-xl);
  background:linear-gradient(135deg, var(--green-soft) 0%, var(--cream) 55%, var(--pink-soft) 100%);
  border:2px dashed var(--green-mid);
  padding:64px 24px;
}
.f-cta-btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:20px; }

/* ================= 响应式 ================= */
@media (max-width:1023.98px){
  .who3{ grid-template-columns:1fr; }
  .panel-grid{ grid-template-columns:1fr; gap:20px; }
  .promise-row{ grid-template-columns:1fr 1fr; }
  .fstep-row{ grid-template-columns:1fr; }
}
@media (max-width:767.98px){
  .f-hero-card{ padding:26px 18px; margin:-44px 10px 0; }
  .tab-panels{ padding:20px 14px; }
  .tab-btn{ padding:13px 18px; font-size:14px; }
  .promise-row{ grid-template-columns:1fr; }
  .f-hero-btns .btn{ width:100%; }
  .f-cta-btns .btn{ width:100%; }
}
