/* ---------------------------------------------------------------------
   doc-page.css — 「宝宝证件」详情页新增版式
   新增文件，只含新 class，不覆盖 site.css / page.css 任何既有规则。
   仅在 doc-*.html 引入。
   --------------------------------------------------------------------- */

/* 流程链：后台一条 = 一格，自动带箭头，无需画图。
   用固定栅格（桌面 3 列 / 平板 2 列 / 手机 1 列）而非 flex-wrap，
   这样「哪一格是行末」是确定的，可以精确地不画箭头。 */
.flowchain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 34px;list-style:none;margin:0 0 24px;padding:0}
.flowchain>li{position:relative;display:flex;align-items:center;padding:12px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:15px;font-weight:600;line-height:1.5;color:var(--navy-800)}
.flowchain>li:not(:last-child)::after{content:"→";position:absolute;right:-34px;top:50%;transform:translateY(-50%);width:34px;text-align:center;font-size:16px;color:var(--coral-500);line-height:1}
.flowchain>li:nth-child(3n)::after{content:none}

/* 流程小标题（出生纸办理流程：／大致流程：） */
.prose .kicker-sm{margin:24px 0 12px;font-size:16px;font-weight:700;color:var(--coral-700)}
/* 「特点：」说明行 */
.prose .note-line{margin:0 0 32px;padding:16px 20px;background:var(--off-white);border-left:4px solid var(--navy-600,#2c4464);border-radius:0 12px 12px 0}

/* 对比表 */
.compare-wrap{overflow-x:auto;margin:32px 0;background:#fff;border:1px solid var(--line);border-radius:16px}
.compare-table{width:100%;border-collapse:collapse;min-width:560px}
.compare-table th,.compare-table td{padding:14px 20px;text-align:left;font-size:15px;line-height:1.7;border-bottom:1px solid var(--line)}
.compare-table thead th{font-weight:700;color:var(--navy-800);background:var(--navy-050,#eef2f7);border-bottom:2px solid var(--navy-800)}
.compare-table tbody th{font-weight:600;color:var(--navy-800);white-space:nowrap}
.compare-table tbody td{color:var(--text-body)}
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}

/* 编号列表：1./2./3. 带橙色序号圆点，后台加一项自动编号 */
.prose ol.numbered{list-style:none;counter-reset:num;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:20px}
.prose ol.numbered>li{counter-increment:num;position:relative;padding:22px 26px 22px 68px;background:#fff;border:1px solid var(--line);border-radius:16px}
.prose ol.numbered>li::before{content:counter(num);position:absolute;left:24px;top:22px;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--coral-500);color:#fff;font-family:var(--font-latin);font-size:15px;font-weight:700;line-height:1}
.prose ol.numbered>li>h3{margin:0 0 6px;font-size:19px;line-height:1.5}
.prose ol.numbered>li>p{margin:0}
.prose ol.numbered--tight>li{padding-block:18px}

/* 段中 CTA 块 */
.inline-cta{margin:36px 0 8px;padding:32px 36px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 2px rgba(27,58,95,.05),0 8px 24px rgba(27,58,95,.07);border-top:6px solid var(--coral-500)}
.inline-cta>h3{margin:0 0 10px;font-size:22px;line-height:1.45}
.inline-cta>p{margin:0 0 20px}
.inline-cta .btn{align-self:flex-start}
.inline-cta--wide{max-width:820px;margin-inline:auto;text-align:center}
.inline-cta--wide .btn{margin-inline:auto}
.prose>section.section--continuation{margin-top:-24px}

/* FAQ 纵向单列（详情页用） */
.faq--stack{display:flex;flex-direction:column;gap:12px}

/* 结尾证件链条：同样用固定栅格，行末不会挂多余的分隔点 */
.doc-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:14px 30px;list-style:none;margin:0 auto;padding:0;max-width:900px}
.doc-chain>li{position:relative;padding:14px 22px;background:var(--surface-band,#e6e0d6);border-radius:999px;font-size:16px;font-weight:600;color:var(--navy-800);text-align:center}
.doc-chain>li:not(:last-child)::after{content:"·";position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:20px;text-align:center;color:var(--coral-500);font-weight:700}
.doc-chain>li:nth-child(3n)::after{content:none}
.doc-chain__after{max-width:820px;margin-inline:auto;text-align:center}

@media (max-width:1024px){
  .flowchain,.doc-chain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flowchain>li:nth-child(3n)::after,.doc-chain>li:nth-child(3n)::after{content:"→"}
  .doc-chain>li:nth-child(3n)::after{content:"·"}
  .flowchain>li:nth-child(2n)::after,.doc-chain>li:nth-child(2n)::after{content:none}
}
@media (max-width:720px){
  .flowchain,.doc-chain{grid-template-columns:1fr;gap:30px 0}
  .flowchain>li:nth-child(n)::after,.doc-chain>li:nth-child(n)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-24px;transform:translateX(-50%);width:auto}
  .flowchain>li:last-child::after,.doc-chain>li:last-child::after{content:none}
  .doc-chain>li{justify-self:stretch}
  .inline-cta{padding:24px}
  .prose ol.numbered>li{padding:56px 20px 20px}
  .prose ol.numbered>li::before{left:20px;top:18px}
}

/* 最近案例块（旅行证页，后台只需填天数与日期行） */
.case-box{margin:28px 0 8px;padding:26px 30px;background:var(--navy-800);border-radius:16px;color:#fff}
.prose .case-box__label,.case-box__label{margin:0 0 10px;font-family:var(--font-latin);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-400,#ff8f63)}
.prose .case-box__big,.case-box__big{margin:0 0 12px;font-size:24px;font-weight:700;line-height:1.4;color:#fff}
.prose .case-box__line,.case-box__line{margin:0 0 4px;font-size:15px;line-height:1.8;color:#dde5ee}
.prose .case-box__line:last-child,.case-box__line:last-child{margin-bottom:0}

/* 五列使领馆对比表 */
.compare-table--wide{min-width:820px}
.compare-table--wide th,.compare-table--wide td{padding:14px 18px;font-size:14px;vertical-align:top}
.compare-table td.hl{font-weight:700;color:var(--coral-700)}
.compare-table--wide td.hl{white-space:nowrap}

/* 数据来源说明（浅色版 case-box） */
.case-box--note{background:var(--off-white);border:1px solid var(--line)}
.prose .case-box--note .case-box__line{color:var(--text-body)}

/* 正文项目符号列表 */
.prose ul.bullets{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}
.prose ul.bullets>li{position:relative;padding-left:22px;font-size:16px;line-height:1.85;color:var(--text-body)}
.prose ul.bullets>li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--coral-500)}

/* 正文中的资料出处标注（客户原稿保留的来源名） */
/* .src 可以是纯文字，也可以是指向出处的链接 */
.prose a.src{text-decoration:none}
.prose a.src:hover{background:var(--navy-100,#dee6ef);color:var(--navy-800)}
.prose .src{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:6px;background:var(--navy-050,#eef2f7);font-family:var(--font-latin);font-size:13px;font-weight:600;line-height:1.6;color:var(--navy-600,#2c4464);vertical-align:2px;white-space:nowrap}
.prose .note-line .src{background:#fff}
/* 需要单独立出来的关键句 */
.prose .statement{margin:20px 0;padding:18px 24px;background:#fff;border-left:4px solid var(--coral-500);border-radius:0 12px 12px 0;font-size:17px;font-weight:600;line-height:1.75;color:var(--navy-800)}
/* 目的地页头图用占位框时撑满原有比例 */
.page-media image-slot{display:block;width:100%;aspect-ratio:822/324}

/* 只有一句话 + 按钮的 CTA（原稿就是一行） */
.inline-cta--line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.inline-cta--line>p{margin:0;font-size:18px;line-height:1.7;color:var(--navy-800);max-width:46ch}

/* 目的地名称：页面顶端显眼标识 */
.dest-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin:18px 0 10px}
.dest-name b{font-size:clamp(34px,4vw,50px);font-weight:700;line-height:1.15;color:var(--navy-800);letter-spacing:.02em}
.dest-name span{font-family:var(--font-latin);font-size:clamp(15px,1.5vw,19px);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-700)}

/* 首页目的地卡使用占位框时保持与其它卡同比例 */
.dest-card__media image-slot{display:block;width:100%;aspect-ratio:822/324}

/* 常见问题页：分组来源说明 */
.faq-group__from{margin:-8px 0 16px;font-size:14px;line-height:1.7;color:var(--text-body)}
.faq-group__from a{color:var(--coral-700);text-decoration:underline;text-underline-offset:3px}

/* 待提供内容的占位标记（上线前应全部替换或删除） */
.prose .placeholder{color:var(--slate,#6b7a8a);font-style:italic}
.prose .placeholder::before{content:"待提供";margin-right:10px;padding:2px 9px;border-radius:6px;background:var(--navy-050,#eef2f7);font-family:var(--font-latin);font-size:12px;font-style:normal;font-weight:700;letter-spacing:.06em;color:var(--navy-600,#2c4464);vertical-align:2px}
.prose .wip{display:flex;gap:16px;align-items:flex-start;margin:0 0 32px;padding:22px 26px;background:var(--navy-100,#dee6ef);border-left:5px solid var(--navy-600,#2c4464);border-radius:0 20px 20px 0}
.prose .wip .icon{width:24px;height:24px;flex:0 0 auto;color:var(--navy-600,#2c4464);margin-top:2px}
.prose .wip b{display:block;margin-bottom:6px;font-size:17px;color:var(--navy-800)}
.prose .wip p{margin:0;font-size:15px;line-height:1.8;color:var(--text-body)}
