/* 新中式月窗 | AI福利方案舱 — Modal（始终完整落在视口内） */
.apm-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(43,32,24,.30);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease}
.apm-overlay.is-open{opacity:1;visibility:visible}

/* 弹窗外壳：固定高度 = min(860px, 视口高-40px)；左右两栏；主体继承高度，不整体滚动 */
.apm-modal{position:relative;display:flex;flex-direction:column;width:min(1440px,calc(100vw - 48px));height:min(860px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);background:#FFFDF8;border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(60,45,30,.18),0 6px 22px rgba(60,45,30,.10);transform:translateY(18px);opacity:0;transition:transform .32s ease,opacity .32s ease}
.apm-overlay.is-open .apm-modal{transform:translateY(0);opacity:1}
.apm-modal *{box-sizing:border-box}

/* 关闭按钮：轻盈细线圆 */
.apm-close{position:absolute;top:14px;right:14px;z-index:7;width:36px;height:36px;border-radius:50%;border:1px solid rgba(120,90,65,.10);background:rgba(255,253,248,.66);color:#9a8a76;font-size:18px;font-weight:300;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.apm-close:hover{background:#FBF1DF;color:#6a5d4c}
.apm-close:focus-visible{outline:2px solid #D6A55B;outline-offset:2px}

/* 桌面双栏：左 34% / 右 66%（填写态），主体继承弹窗高度；左固定、右独立滚动 */
.apm-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:34% 66%}
/* 各状态左右比例：分析 32/68 | 结果 30/70（结果页需更多空间展示推荐内容） */
.apm-modal.is-loading .apm-grid{grid-template-columns:32% 68%}
.apm-modal.is-result .apm-grid{grid-template-columns:30% 70%}

/* 左侧：真实月窗视觉（图片覆盖 + 柔和蒙版） */
.apm-visual{position:relative;overflow:hidden;background:#F8F0DF}
.apm-visual-img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) brightness(1.02)}
.apm-visual::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(255,250,242,.12);pointer-events:none}
.apm-visual-gradient{position:absolute;left:0;right:0;bottom:0;height:62%;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(255,253,248,.86),rgba(255,253,248,0))}
/* 左视觉右边缘 30px 暖白渐变，柔化与右侧表单的垂直切割 */
.apm-visual-edge{position:absolute;top:0;right:0;bottom:0;width:30px;z-index:1;pointer-events:none;background:linear-gradient(to right,rgba(255,253,249,0),#FFFDF9)}
.apm-visual-text{position:absolute;left:clamp(28px,3vw,44px);bottom:clamp(26px,4vh,42px);z-index:2;max-width:86%}
.apm-eyebrow{font-size:clamp(11px,1vw,13px);letter-spacing:.16em;color:#B68855;margin-bottom:clamp(8px,1.4vh,14px)}
.apm-vtitle{margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.5;font-weight:600;color:#49352A;letter-spacing:.01em}
.apm-vsub{margin:clamp(6px,1vh,10px) 0 0;font-size:clamp(12px,1vw,14px);line-height:1.8;color:#8a7c6b;font-weight:400}
.apm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(12px,1.6vh,20px)}
.apm-tags span{font-size:12px;color:#7a6a56;background:rgba(255,253,248,.55);border:1px solid rgba(120,90,65,.12);padding:5px 12px;border-radius:999px}

/* 右侧需求区：独立滚动（左侧固定，右侧单独滚动，不裁切） */
.apm-panel{flex:1 1 auto;padding:clamp(22px,2.4vh,30px) clamp(24px,2.2vw,36px);min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(173,136,92,.25) transparent;scrollbar-gutter:stable}
.apm-panel::-webkit-scrollbar{width:6px}
.apm-panel::-webkit-scrollbar-track{background:transparent}
.apm-panel::-webkit-scrollbar-thumb{background:rgba(173,136,92,.25);border-radius:999px}
.apm-eyebrow2{display:inline-block;font-size:12px;letter-spacing:.16em;color:#B68855;background:rgba(182,136,85,.10);border:1px solid rgba(182,136,85,.18);padding:4px 11px;border-radius:999px;margin-bottom:clamp(6px,1vh,10px)}
.apm-ptitle{margin:0 0 clamp(3px,0.6vh,6px);font-size:clamp(20px,1.7vw,26px);font-weight:700;color:#3F3028;letter-spacing:.01em;line-height:1.3}
.apm-psub{margin:0 0 clamp(12px,1.6vh,16px);font-size:clamp(13px,1vw,14.5px);color:#9a8c7c;line-height:1.7}

/* 右侧头部：固定不滚动（随内容滚动时吸附顶部，背景与弹窗同色无缝衔接；关闭按钮 z-index 更高始终可见） */
.apm-head{position:sticky;top:0;z-index:4;background:#FFFDF8;padding:2px 0 8px;margin-bottom:2px}

.apm-group{margin-bottom:15px}
.apm-group-h{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.apm-group-t{font-size:15.5px;font-weight:700;color:#3F3028}
.apm-group-s{font-size:11.5px;color:#c2b6a6}

/* ============ 统一可选按钮：企业规模 / 人均预算 / 方案偏好 ============ */
.apm-opts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.apm-prefs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.choice-option{position:relative;display:block;cursor:pointer}
.choice-option input{position:absolute;opacity:0;width:0;height:0}

/* 可见面：默认统一暖白（淡香槟金基底） */
.co-face{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  height:44px;padding:0 10px;
  border:1px solid #E7DCCD;border-radius:12px;
  background:#FFFDF9;color:#5F5046;
  font-size:14px;line-height:1.2;white-space:nowrap;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
/* 键盘 focus：默认淡香槟金低透明 ring（outline:none）；企业规模/预算改用各自主题色（见下方 .apm-opts） */
.choice-option input:focus-visible + .co-face{outline:none;box-shadow:0 0 0 3px rgba(198,154,82,.14)}

/* active 点击：回落，不弹跳 */
.choice-option:active .co-face{transform:translateY(0)}

/* ============ 企业规模 / 人均预算：六色循环（左→右） ============
   香槟金 → 雾霾蓝 → 奶茶杏 → 灰玫瑰 → 鼠尾草绿 → 雾紫
   默认统一暖白（继承 .co-face 基础）；仅 hover / selected 才显对应淡彩，打开不六彩齐放 */
.apm-opts .choice-option{
  --choice-primary:#C69A52;--choice-hover:#FBF3E5;--choice-selected:#F7E9CF;--choice-border:#D9B77D;
  --choice-text:#775C31;--choice-ring:rgba(198,154,82,.16);
}
.apm-opts .choice-option:nth-child(2){
  --choice-primary:#86A8B7;--choice-hover:#EFF6F8;--choice-selected:#E8F1F4;--choice-border:#AAC8D3;
  --choice-text:#50646E;--choice-ring:rgba(134,168,183,.16);
}
.apm-opts .choice-option:nth-child(3){
  --choice-primary:#CFA07F;--choice-hover:#FBF0E9;--choice-selected:#F8E8DD;--choice-border:#DDB99F;
  --choice-text:#805E4A;--choice-ring:rgba(207,160,127,.16);
}
.apm-opts .choice-option:nth-child(4){
  --choice-primary:#C6A0AE;--choice-hover:#FAF2F5;--choice-selected:#F3E4EA;--choice-border:#D7B5C0;
  --choice-text:#776068;--choice-ring:rgba(198,160,174,.16);
}
.apm-opts .choice-option:nth-child(5){
  --choice-primary:#91AA94;--choice-hover:#F1F6F1;--choice-selected:#E6EFE5;--choice-border:#B6CBB8;
  --choice-text:#576659;--choice-ring:rgba(145,170,148,.16);
}
.apm-opts .choice-option:nth-child(6){
  --choice-primary:#A99AB8;--choice-hover:#F5F1F7;--choice-selected:#ECE5F1;--choice-border:#C5B7CF;
  --choice-text:#655C6E;--choice-ring:rgba(169,154,184,.16);
}

/* hover：对应主题淡彩背景，边框/文字随主题；不显著上浮（避免顶边被裁切） */
.apm-opts .choice-option:hover .co-face{
  background:var(--choice-hover);border-color:var(--choice-border);color:var(--choice-text);
  box-shadow:0 4px 14px rgba(70,50,35,.05);transform:none;
}
/* selected：对应主题更明确一级 + 右侧小 ✓（伪元素绝对定位，不参与布局，文字仍居中） */
.apm-opts .choice-option.is-selected .co-face{
  background:var(--choice-selected);border-color:var(--choice-primary);color:var(--choice-text);
  font-weight:600;box-shadow:inset 0 0 0 1px rgba(0,0,0,.025);padding-right:34px;
}
.apm-opts .choice-option.is-selected .co-face::after{
  content:"✓";position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font-size:15px;font-weight:600;color:var(--choice-primary);
}
/* selected 再次 hover：保持 selected 底色，仅阴影略增强（绝不退回普通 hover 色，识别态不丢失） */
.apm-opts .choice-option.is-selected:hover .co-face{
  background:var(--choice-selected);border-color:var(--choice-primary);color:var(--choice-text);
  box-shadow:0 4px 14px rgba(70,50,35,.08);transform:none;
}
/* focus-visible：对应主题色低透明 ring（outline:none） */
.apm-opts .choice-option input:focus-visible + .co-face{
  outline:none;box-shadow:0 0 0 3px var(--choice-ring);
}
.apm-pref-box{display:flex;align-items:center;gap:10px;height:48px;padding:0 13px;border-radius:14px}
.apm-pref .num{font-weight:700;color:var(--c);font-size:15px;font-variant-numeric:tabular-nums}
.apm-pref .pname{font-size:14px}
.apm-pref .apm-check{
  margin-left:auto;display:none;width:18px;height:18px;border-radius:50%;
  background:var(--soft);color:var(--c);font-size:12px;font-weight:600;align-items:center;justify-content:center;
}

/* —— 方案偏好主题修饰（仅注入颜色变量，布局 / 动效继承自公共 .choice-option）—— */
.choice-option--gift-card{--c:#C69A52;--soft:#F7E9CF;--bd:#DFC291}
.choice-option--physical{--c:#CFA07F;--soft:#F8E8DD;--bd:#E3C1AB}
.choice-option--platform{--c:#86A8B7;--soft:#E8F1F4;--bd:#BCD4DD}

/* 方案偏好默认（未选中）：统一暖白，不显示 ✓，不看像已被选中 */
.choice-option--gift-card .co-face,
.choice-option--physical .co-face,
.choice-option--platform .co-face{background:#FFFDF9;border-color:#E7DCCD;color:#57483F}

/* 方案偏好 hover：独立淡彩（hover 不显示 ✓） */
.choice-option--gift-card:hover .co-face{background:#FBF3E5;border-color:#D9B77D;color:#6E5230;box-shadow:0 5px 16px rgba(70,50,35,.06);transform:translateY(-1px)}
.choice-option--physical:hover .co-face{background:#FBF0E9;border-color:#DDB99F;color:#6E4F3C;box-shadow:0 5px 16px rgba(70,50,35,.06);transform:translateY(-1px)}
.choice-option--platform:hover .co-face{background:#EFF6F8;border-color:#AAC8D3;color:#3F5C66;box-shadow:0 5px 16px rgba(70,50,35,.06);transform:translateY(-1px)}

/* 方案偏好 selected：比 hover 深一级，并显示 ✓ */
.choice-option--gift-card.is-selected .co-face{background:#F7E9CF;border-color:#C69A52;color:#79572C}
.choice-option--physical.is-selected .co-face{background:#F8E8DD;border-color:#CFA07F;color:#805E4A}
.choice-option--platform.is-selected .co-face{background:#E8F1F4;border-color:#86A8B7;color:#506E7A}
.choice-option--gift-card.is-selected:hover .co-face{background:#F7E9CF;border-color:#B8853E;color:#79572C;box-shadow:0 5px 16px rgba(70,50,35,.08),inset 0 0 0 1px rgba(198,154,82,.10);transform:translateY(-1px)}
.choice-option--physical.is-selected:hover .co-face{background:#F8E8DD;border-color:#B98A66;color:#805E4A;box-shadow:0 5px 16px rgba(70,50,35,.08),inset 0 0 0 1px rgba(207,160,127,.10);transform:translateY(-1px)}
.choice-option--platform.is-selected:hover .co-face{background:#E8F1F4;border-color:#6E96A6;color:#506E7A;box-shadow:0 5px 16px rgba(70,50,35,.08),inset 0 0 0 1px rgba(134,168,183,.10);transform:translateY(-1px)}

/* 方案偏好 selected：编号加粗、右侧小 ✓（用对应主题 primary，不用黑色 / 品牌橙） */
.choice-option.is-selected .apm-check{display:inline-flex}
.choice-option--gift-card.is-selected .num,
.choice-option--physical.is-selected .num,
.choice-option--platform.is-selected .num{font-weight:700}

/* 方案偏好 focus-visible：对应主题色低透明 ring */
.choice-option--gift-card input:focus-visible + .co-face{box-shadow:0 0 0 3px rgba(198,154,82,.16)}
.choice-option--physical input:focus-visible + .co-face{box-shadow:0 0 0 3px rgba(207,160,127,.16)}
.choice-option--platform input:focus-visible + .co-face{box-shadow:0 0 0 3px rgba(134,168,183,.16)}

/* 联系方式 */
.apm-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 14px}
.apm-field{display:flex;flex-direction:column;gap:6px}
.apm-field.full{grid-column:1 / -1}
.apm-field label{font-size:13px;font-weight:600;color:#5b4f40}
.apm-field .apm-req{color:#E75D16}
.apm-field .apm-opt2{color:#b0a290;font-size:12px;font-weight:400}
.apm-field input{height:48px;padding:0 15px;border:1px solid #E6DCC8;border-radius:16px;font-size:14px;background:#FFFDF8;color:#3a2c1e;transition:border-color .2s,box-shadow .2s}
.apm-field input::placeholder{color:#C3B8AA}
.apm-field input:focus{outline:none;border-color:#D6A55B;box-shadow:0 0 0 4px rgba(214,165,91,.12)}
.apm-err{color:#d23b3b;font-size:12px;display:none}
.apm-err.show{display:block}

/* 其他礼品需求（选填） */
.apm-textarea-wrap{position:relative}
.apm-other{width:100%;height:70px;resize:none;padding:11px 13px;border:1px solid #E6DCC8;border-radius:14px;font-family:inherit;font-size:14px;line-height:1.6;color:#3a2c1e;background:#FFFDF8;transition:border-color .2s,box-shadow .2s}
.apm-other::placeholder{color:#C3B8AA}
.apm-other:focus{outline:none;border-color:#D6A55B;box-shadow:0 0 0 4px rgba(214,165,91,.12)}
.apm-count{position:absolute;right:11px;bottom:9px;font-size:11px;color:#c2b6a6;pointer-events:none}

/* 提交区：默认自然排列（CTA 在公司名称下方，不强制 sticky）；仅矮屏（≤820px）才常驻底部 */
.apm-submit-area{position:static;z-index:5;margin-top:6px;padding-top:16px;background:linear-gradient(to top,#FFFDF8 74%,rgba(255,253,248,0))}
.apm-submit{width:100%;height:56px;border-radius:18px;background:linear-gradient(135deg,#E07C2E 0%,#F2A655 100%);color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 22px rgba(231,106,27,.20)}
.apm-submit:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(231,106,27,.23)}
.apm-submit:focus-visible{outline:2px solid #C9530E;outline-offset:2px}
.apm-note{margin:12px 0 0;text-align:center;color:#9A897D;font-size:11.5px;line-height:1.7}

/* ============ 结果页（AI 方案输出） ============ */
.apm-result-view[hidden]{display:none}
.apm-result-view{height:100%}

/* 生成中：安静的 AI 分析过渡（仅出现在提交→结果之间的约 1~2 秒） */
.apm-loading-phase{padding:0;display:flex;flex-direction:column;margin:auto 0}
.apm-loading-phase .apm-ptitle{font-size:clamp(19px,1.5vw,23px)}
.apm-loading-phase .apm-psub{margin-bottom:clamp(2px,0.5vh,6px)}

/* 极简步骤进度线：企业分析 → 预算匹配 → 方案生成 */
.apm-progress{position:relative;margin:clamp(14px,2vh,22px) 6px}
.apm-progress-track{position:absolute;left:20px;right:20px;top:15px;height:2px;background:#EBE2D2;border-radius:2px}
.apm-progress-fill{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,#DCBF86,#9DB07F);border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1)}
.apm-progress-nodes{position:relative;display:flex;justify-content:space-between}
.apm-pnode{display:flex;flex-direction:column;align-items:center;gap:clamp(7px,1vh,9px);flex:1;font-size:clamp(11px,1vw,12px);color:#BCAE9C;transition:color .3s}
.apm-pdot{width:clamp(26px,2.4vw,30px);height:clamp(26px,2.4vw,30px);border-radius:50%;background:#FFFDF8;border:2px solid #E3D8C7;display:grid;place-items:center;font-size:clamp(10px,0.9vw,11px);font-weight:700;color:#C2B6A6;font-variant-numeric:tabular-nums;transition:border-color .35s,background .35s,color .35s}
.apm-pnode.is-active{color:#5E5047}
.apm-pnode.is-active .apm-pdot{border-color:#D6A55B;color:#B6893C;animation:breathe 1.9s ease-in-out infinite}
.apm-pnode.is-done{color:#6a5d4c}
.apm-pnode.is-done .apm-pdot{border-color:#9DB07F;background:#9DB07F;color:#fff}

/* 三步详细状态：未开始浅灰 / 进行中暖金呼吸 / 已完成细线 ✓ 暖金绿 */
.apm-stages{display:flex;flex-direction:column;margin-top:2px}
.apm-stage{display:flex;gap:14px;padding:clamp(10px,1.3vh,13px) 2px;border-bottom:1px solid #F1EADC}
.apm-stage:last-child{border-bottom:none}
.apm-stage-dot{position:relative;width:9px;height:9px;border-radius:50%;background:#D8CDBE;flex:none;margin-top:6px;transition:background .3s}
.apm-stage.is-active .apm-stage-dot{background:#D6A55B;animation:breathe 1.9s ease-in-out infinite}
.apm-stage.is-done .apm-stage-dot{background:#9DB07F}
.apm-stage.is-done .apm-stage-dot::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:7px;font-weight:700;color:#fff}
.apm-stage-main{flex:1}
.apm-stage-name{font-size:clamp(13px,1.1vw,14.5px);font-weight:600;color:#BCAE9C;transition:color .3s}
.apm-stage.is-active .apm-stage-name{color:#5E5047}
.apm-stage.is-done .apm-stage-name{color:#6a5d4c}
.apm-stage-desc{margin-top:2px;font-size:clamp(12px,1vw,13px);color:#C2B6A6;transition:color .3s}
.apm-stage.is-active .apm-stage-desc{color:#9a8c7c}
.apm-stage.is-done .apm-stage-desc{color:#8a7c6b}

/* 生成中：本次需求摘要（极轻浅米色） */
.apm-loading-summary{margin-top:clamp(12px,1.6vh,18px);padding:13px 15px;background:#F8F1E4;border:1px solid #EADFCB;border-radius:14px}
.apm-loading-sum-h{font-size:11.5px;letter-spacing:.04em;color:#9a8c7c;margin-bottom:7px}
.apm-loading-sum-body{font-size:13.5px;color:#6a5d4c;line-height:1.6}
.apm-loading-sum-body .apm-ls-sep{color:#CDB894;margin:0 6px}

.apm-stage-done{display:none;margin-top:16px;color:#7E9A66;font-size:14.5px;font-weight:600}
.apm-stage-done::before{content:"✓";margin-right:8px;font-weight:600}

@keyframes breathe{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}
/* 送入场：仅 opacity + translateY（无旋转/弹跳/缩放） */
.apm-loading-phase,.apm-result-body{animation:apmFadeUp .34s ease both}
@keyframes apmFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* 结果正文：flex 纵向布局 —— Header 固定 + 中间滚动区 + Footer 正常参与文档流（不悬浮覆盖内容） */
.apm-result-body{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
.apm-result-body[hidden]{display:none}
/* 结果页 Header：不滚动，作为独立固定层（实底、高 z-index），彻底遮住下方滚动内容，杜绝穿透/残字 */
.apm-result-body > .apm-head{position:relative;top:auto;z-index:20;background:#FFFDF8;padding:2px 20px 10px;margin-bottom:2px}
.apm-result-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 20px 18px;overscroll-behavior:contain;scroll-behavior:smooth;background:#FFFDF8;position:relative;z-index:1;isolation:isolate;scrollbar-width:thin;scrollbar-color:rgba(173,136,92,.25) transparent}
.apm-result-scroll::-webkit-scrollbar{width:6px}
.apm-result-scroll::-webkit-scrollbar-track{background:transparent}
.apm-result-scroll::-webkit-scrollbar-thumb{background:rgba(173,136,92,.25);border-radius:999px}
.apm-summary{display:flex;flex-wrap:wrap;align-items:center;margin:14px 0 18px;padding:11px 14px;background:#F8F1E4;border:1px solid #EADFCB;border-radius:14px}
.apm-sum-item{position:relative;padding:2px 14px;font-size:13px;color:#6a5d4c}
.apm-sum-item:first-child{padding-left:2px}
.apm-sum-item + .apm-sum-item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:#D8CDBE}

/* 三套推荐卡 */
.apm-dirs{display:flex;flex-direction:column;gap:15px;margin-top:4px}
.apm-dir{position:relative;border:1px solid #E8DDD2;border-left:3px solid var(--c);border-radius:18px;padding:22px 24px;background:#FFFDF9;transition:border-color .2s,background .2s}
.apm-dir--preferred{background:#FCF6EA;border-color:#E6CE9B;border-left:3px solid #E0BE78}
.apm-dir-head{display:flex;align-items:center;gap:12px}
.apm-dir-tag{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--bg);color:var(--c);font-weight:800;font-size:14px;flex:none}
.apm-dir--preferred .apm-dir-tag{background:#F3E4C4;color:#B6893C}
.apm-dir-titles{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.apm-dir-name{font-weight:700;color:#3F3028;font-size:16px}
.apm-dir-badge{font-size:11px;font-weight:700;color:#B6893C;background:#F6E9CC;border:1px solid #E9D3A0;padding:3px 9px;border-radius:999px}
.apm-dir-price{margin-top:12px;font-size:14px;font-weight:700;color:#A8702F}
.apm-dir-position{margin:8px 0 0;color:#6a5d4c;line-height:1.7;font-size:13.5px}
.apm-dir-block{margin-top:14px}
.apm-dir-block-t{font-size:12px;font-weight:700;color:#9a8c7c;letter-spacing:.04em;margin-bottom:7px}
.apm-dir-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.apm-dir-list li{position:relative;padding-left:16px;color:#5b4f40;font-size:13.5px;line-height:1.6}
.apm-dir-list li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:#CDB894}
.apm-dir--preferred .apm-dir-list li::before{background:#D9BE83}
.apm-dir-detail{margin-top:16px;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border:1px solid #E6D3AE;background:#FFFDF8;color:#B6893C;border-radius:12px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}
.apm-dir-detail:hover{background:#FBF1DF;border-color:#D9BE83}
.apm-dir-detail::after{content:"→";font-size:14px}
/* 各方案策略定位（明确 A/B/C 差异，不止换产品名） */
.apm-dir-strategy{margin-top:8px;font-size:12.5px;color:#9a8c7c;line-height:1.65}

/* 结果页底部 CTA（正常参与文档流，不悬浮覆盖内容） */
.apm-result-foot{flex:0 0 auto;position:relative;bottom:auto;z-index:20;margin-top:0;padding:16px 20px 14px;background:#FFFDF8;border-top:1px solid rgba(197,154,90,.16);box-shadow:0 -10px 28px rgba(83,57,35,.05)}
.apm-result-note{margin:0 0 12px;text-align:center;color:#9A897D;font-size:11.5px;line-height:1.7}
.apm-result-actions{display:flex;gap:12px;flex-wrap:wrap}
.apm-btn-primary,.apm-btn-ghost{height:54px;border-radius:16px;font-size:15px;font-weight:700;cursor:pointer;flex:1 1 150px;transition:transform .2s,box-shadow .2s,background .2s}
.apm-btn-primary{background:linear-gradient(135deg,#E07C2E 0%,#F2A655 100%);color:#fff;border:none;box-shadow:0 10px 22px rgba(231,106,27,.20)}
.apm-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(231,106,27,.23)}
.apm-btn-primary:focus-visible{outline:2px solid #C9530E;outline-offset:2px}
.apm-btn-ghost{background:#FFFDF8;color:#C06A1E;border:1px solid #E6A85C}
.apm-btn-ghost:hover{background:#FBF1DF}
.apm-btn-ghost:focus-visible{outline:2px solid #C9530E;outline-offset:2px}
.apm-back-link{display:block;width:100%;margin-top:10px;background:none;border:none;color:#9a8c7c;font-size:12.5px;cursor:pointer;text-align:center}
.apm-back-link:hover{color:#6a5d4c}

/* 结果态 / 生成态：左栏切换为“专属建议”文案 */
.apm-visual-text--result{display:none}
.apm-modal.is-result .apm-visual-text:not(.apm-visual-text--result),
.apm-modal.is-loading .apm-visual-text:not(.apm-visual-text--result){display:none}
.apm-modal.is-result .apm-visual-text--result,
.apm-modal.is-loading .apm-visual-text--result{display:block}
.apm-modal.is-result .apm-tags,
.apm-modal.is-loading .apm-tags{display:flex}
/* 生成中：右侧内容垂直居中，避免短内容在矮弹窗中顶部悬空 */
.apm-modal.is-loading .apm-panel{display:flex;flex-direction:column}
/* 结果态：右侧不再整体滚动，改由 .apm-result-scroll 内部滚动，且清零内边距避免与 Footer 内边距叠加 */
.apm-modal.is-result .apm-panel{padding:0;overflow:hidden}

/* 移动端顶部月窗装饰（桌面隐藏），使用真实图片 */
.apm-mobile-deco{display:none}
.apm-mobile-deco img{width:100%;height:100%;object-fit:cover;object-position:center 28%}

/* 六套低饱和淡彩主题色 */
.apm-scheme-1{--c:#C2A06A;--bg:#FCF5E9;--bd:#ECDCBE} /* 礼品卡券 | 淡金杏 */
.apm-scheme-2{--c:#8EACB9;--bg:#F1F7F9;--bd:#DDE8ED} /* 福利平台 | 淡青蓝 */
.apm-scheme-3{--c:#D49E7C;--bg:#FBF3EC;--bd:#EED9C7} /* 实物礼盒 | 淡暖橙 */
.apm-scheme-4{--c:#C8A4B0;--bg:#F8F3F6;--bd:#ECDAE0} /* 创意礼盒 | 淡藕粉 */
.apm-scheme-5{--c:#95AD98;--bg:#F2F7F2;--bd:#DDE8DC} /* API对接 | 淡鼠尾草绿 */
.apm-scheme-6{--c:#ADA2BC;--bg:#F6F3F9;--bd:#E5DEEB} /* 全案活动 | 淡紫灰 */

/* ============ 高度响应式（矮屏：左侧文案缩小、底留白减少、表单控件略矮） ============ */
@media (max-height:820px){
  .apm-visual-text{bottom:clamp(20px,3vh,30px)}
  .apm-vtitle{font-size:clamp(17px,1.4vw,20px)}
  .apm-vsub{line-height:1.7}
  .apm-tags{margin-top:14px}
  .apm-opt span{height:42px}
  .apm-pref-box{height:46px}
  .apm-other{height:60px;min-height:60px}
  .apm-field input{height:46px}
  .apm-submit{height:52px}
  /* 矮屏：CTA 常驻底部，并为滚动内容增加底部留白，保证任何输入框不被遮挡 */
  .apm-submit-area{position:sticky;bottom:0;padding-top:12px}
  .apm-form-view{padding-bottom:110px}
}

/* ============ 宽度响应式 ============ */

/* 1366~1599：整体略紧凑（左右比例由各状态类 is-loading/is-result 决定，弹窗外壳统一高度不变） */
@media (max-width:1599px){
  .apm-panel{padding:22px 28px 22px 30px}
  .apm-ptitle{font-size:clamp(19px,1.5vw,24px)}
  .apm-progress{margin:clamp(12px,1.6vh,18px) 4px}
  .apm-stage{padding:10px 2px}
}

/* ≤1280：标题与步骤区继续压缩（左右比例仍由状态类控制） */
@media (max-width:1280px){
  .apm-visual-text{left:28px}
  .apm-eyebrow2{margin-bottom:6px}
  .apm-psub{margin-bottom:12px}
  .apm-group{margin-bottom:11px}
  .apm-group-h{margin-bottom:7px}
  .apm-stage{padding:9px 2px}
  .apm-stage-name{font-size:13.5px}
}

/* ≤1024：上下布局，左侧视觉置顶（240~280px），右侧内容单独滚动 */
@media (max-width:1024px){
  .apm-grid{display:flex;flex-direction:column}
  .apm-visual{flex:none;height:clamp(220px,30vh,280px)}
  .apm-visual-text{bottom:22px;left:26px}
  .apm-panel{flex:1 1 auto;min-height:0;overflow-y:auto}
}

/* 单栏近全屏（≤768，手机） */
@media (max-width:768px){
  .apm-overlay{padding:8px}
  .apm-modal{width:calc(100% - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:22px}
  .apm-grid{display:flex;flex-direction:column}
  .apm-visual{display:none}
  .apm-mobile-deco{display:block;order:-1;height:120px;overflow:hidden;border-radius:22px 22px 0 0}
  .apm-panel{padding:22px 18px;overflow-y:auto;flex:1 1 auto;min-height:0}
  .apm-ptitle{font-size:21px}
  .apm-opts{display:grid;grid-template-columns:repeat(2,1fr)}
  .apm-opt span{display:flex}
  .apm-prefs{grid-template-columns:repeat(3,minmax(0,1fr))}

/* 手机窄屏（≤480）：方案偏好单列堆叠，每项约 48px，不挤压文字 */
@media (max-width:480px){
  .apm-prefs{grid-template-columns:1fr}
  .apm-pref-box{height:48px}
}
  .apm-fields{grid-template-columns:1fr}
  .apm-submit-area{position:sticky;bottom:0}
  .apm-form-view{padding-bottom:96px}
  .apm-result-actions{flex-wrap:wrap}
  .apm-btn-primary,.apm-btn-ghost{flex:1 1 100%}
}

@media (prefers-reduced-motion:reduce){
  .apm-overlay,.apm-modal,.apm-submit,.apm-btn-primary,.apm-btn-ghost,.apm-dir-detail,.apm-stage,.apm-stage-dot,.apm-progress-fill,.apm-pdot,.apm-pnode{transition:none}
  .apm-pnode.is-active .apm-pdot,.apm-stage.is-active .apm-stage-dot{animation:none}
  .apm-loading-phase,.apm-result-body{animation:none}
}
