/* regen.css — S03 页面重生成样式 */

/* 版式原型 */
.proto-A { /* 左文右图 */ }
.proto-B { /* 右文左图 */ }
.proto-C { /* 通栏大图 */ }
.proto-D { /* 三栏卡片 */ }
.proto-E { /* 时间线 */ }
.proto-F { /* 数据条 */ }
.proto-G { /* 图文错位 */ }

/* 两栏布局 */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.grid-2.rev { direction: rtl; }
.grid-2.rev > * { direction: ltr; }

/* 三栏卡片 */
.cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 24px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 24px; transition: box-shadow .2s, transform .2s; }
.card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }

/* 时间线 */
.steps { list-style: none; padding: 0; margin: 24px 0; counter-reset: step; }
.steps li { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.steps li:last-child { border-bottom: none; }
.steps .num { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--navy); color: #fff; font-size: 14px; font-weight: 600; flex-shrink: 0; }
.steps p { margin: 0; flex: 1; }

/* 图文错位 */
.band { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; align-items: center; }
.band-txt h2 { margin-bottom: 12px; }
.band-side { display: flex; justify-content: flex-end; }
.chip { display: inline-block; padding: 8px 16px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); font-size: 14px; color: var(--ink-soft); }

/* 链接墙 */
.linkwall { list-style: none; padding: 0; margin: 24px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.linkwall a { display: block; padding: 12px 16px; border-radius: 8px; background: var(--paper); border: 1px solid var(--line); color: var(--navy); text-decoration: none; font-size: 14px; transition: background .2s; }
.linkwall a:hover { background: #fff; }

/* 报价表单 */
.quote-form { max-width: 640px; margin: 24px auto; padding: 32px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; }
.form-row { margin-bottom: 16px; }
.form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 500; color: var(--ink); }
.form-row input[type="text"], .form-row input[type="email"], .form-row textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 15px; font-family: inherit; background: #fff; color: var(--ink); }
.form-row input:focus, .form-row textarea:focus { outline: 2px solid var(--navy); outline-offset: 1px; border-color: var(--navy); }
.form-row.consent { font-size: 13px; color: var(--ink-soft); }
.form-row.consent label { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; }
.form-row.consent input { margin-top: 3px; }
.btn { display: inline-block; padding: 12px 24px; border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; border: none; cursor: pointer; transition: background .2s; }
.btn-primary { background: var(--navy); color: #fff; }
.btn-primary:hover { background: var(--navy-soft); }

/* 客户评价 */
.testimonial-text { font-style: italic; color: var(--ink-soft); margin-bottom: 12px; }
.testimonial-author { margin: 0; }
.testimonial-author strong { display: block; color: var(--ink); }
.testimonial-author span { font-size: 13px; color: var(--ink-soft); }

/* 案例 */
.case-result { margin-top: 12px; font-size: 13px; color: var(--green); font-weight: 500; }

/* 响应式 */
@media (max-width: 768px) {
  .grid-2 { grid-template-columns: 1fr; gap: 24px; }
  .cards-3 { grid-template-columns: 1fr; }
  .band { grid-template-columns: 1fr; }
  .linkwall { grid-template-columns: 1fr; }
  .quote-form { padding: 20px; }
}
/* UI-PATCH-20261111-A2A3A6 reduced-motion */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* UI-PATCH-20261111-A2A3A6 focus-visible */
:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}
:focus{outline:2px solid #1d4ed8;outline-offset:2px}

/* ==== 正文阅读宽度（2026-11-11 UI 修复） ==== */
@media (min-width:1000px){
  .content-body{max-width:880px !important;margin:0 auto !important;padding:56px 32px 64px !important}
}
.content-body p{max-width:70ch;line-height:1.8;font-size:1.06rem;margin:0 0 1.3em;color:#33404f}
.content-body h2{max-width:70ch;line-height:1.25;margin:2.2em 0 .7em}
.content-body h2:first-child{margin-top:0}
.content-body ul,.content-body ol{max-width:70ch}
@media (max-width:999px){.content-body p,.content-body h2{max-width:none;font-size:1rem}}
/* ==== /正文阅读宽度 ==== */
