/* ============================================================
   悟空 AICRM — GEO content pages helpers (geo.css)
   Layout components for the AI CRM knowledge / GEO pages.
   Builds on site.css tokens.
   ============================================================ */

/* breadcrumb chevron */
.crumb .sep{opacity:.5}

/* ---------- three-level knowledge-base subnav (dropdowns) ---------- */
section[id]{scroll-margin-top:128px}
.subnav-in{overflow:visible;flex-wrap:wrap;height:auto;min-height:56px;gap:2px}
.subnav .sub-item{position:relative;display:flex;align-items:center}
.subnav .sub-item>a{font-size:14px;font-weight:500;color:var(--ink-2);padding:8px 13px;border-radius:9px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;transition:background .15s,color .15s}
.subnav .sub-item:hover>a,.subnav .sub-item>a:hover{background:var(--light-2);color:var(--deep)}
.subnav .sub-item>a.on{background:var(--deep);color:#fff}
.subnav .sub-item>a.active{color:var(--deep);font-weight:600;background:var(--light)}
.subnav .kb-sep{width:1px;height:20px;background:var(--line);margin:0 9px;align-self:center;flex:0 0 auto}
.subnav .cv{width:12px;height:12px;opacity:.5;transition:transform .2s}
.subnav .sub-item:hover .cv{transform:rotate(180deg)}
.sub-drop{position:absolute;top:calc(100% + 7px);left:0;min-width:286px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:7px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:95}
.sub-drop::before{content:"";position:absolute;top:-7px;left:0;right:0;height:7px}
.subnav .sub-item:hover .sub-drop{opacity:1;visibility:visible;transform:none}
.subnav .sub-item:nth-last-child(-n+2) .sub-drop{left:auto;right:0}
.sub-drop a{display:block;padding:9px 12px;border-radius:9px;transition:background .15s}
.sub-drop a:hover{background:var(--light-2)}
.sub-drop a b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.sub-drop a:hover b{color:var(--deep)}
.sub-drop a span{display:block;font-size:11.5px;color:var(--ink-3);line-height:1.4;margin-top:1px}
@media(max-width:760px){.subnav-in{flex-wrap:nowrap;overflow-x:auto}.sub-drop{display:none}}

/* ---------- prose blocks ---------- */
.prose p{font-size:16px;color:var(--ink-2);line-height:1.8;max-width:70ch}
.prose p + p{margin-top:16px}
.prose p b,.prose p strong{color:var(--deep);font-weight:600}
.lead-lines{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.lead-line{display:flex;gap:13px;align-items:flex-start;font-size:16px;color:var(--ink-2);line-height:1.6;font-weight:500}
.lead-line .bx{width:24px;height:24px;border-radius:7px;flex:0 0 auto;background:var(--light);color:var(--deep);display:grid;place-items:center;margin-top:1px}
.lead-line .bx svg{width:14px;height:14px}
.lead-line b{color:var(--ink);font-weight:600}

/* ---------- checklist (2-col) ---------- */
.geo-check{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;list-style:none}
.geo-check.one{grid-template-columns:1fr}
.geo-check li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--ink-2);line-height:1.55}
.geo-check li svg{width:19px;height:19px;flex:0 0 auto;color:var(--mid);margin-top:2px}
.geo-check.warn li svg{color:#C98A1E}
.geo-check li b{color:var(--ink);font-weight:600}

/* ---------- example / AI callout ---------- */
.callout{background:linear-gradient(120deg,rgba(46,117,182,.07),rgba(110,107,230,.06));border:1px solid rgba(46,117,182,.16);border-radius:14px;padding:20px 22px;position:relative;margin-top:26px}
.callout .tg{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:.4px;color:#fff;background:linear-gradient(120deg,var(--mid),var(--violet));padding:4px 11px;border-radius:999px}
.callout p{font-size:14.5px;color:var(--ink-2);line-height:1.7;margin-top:12px}
.callout p b{color:var(--deep);font-weight:600}
.callout.plain{background:var(--bg-tint);border-color:var(--line-2)}
.callout.plain .tg{background:var(--deep)}

/* ---------- info / fact card ---------- */
.info-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.info-card::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--mid),var(--violet))}
.info-rows{padding:8px 4px}
.info-row{display:flex;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line-2);align-items:baseline}
.info-row:last-child{border-bottom:none}
.info-row .k{font-size:13px;font-weight:600;color:var(--ink-3);width:104px;flex:0 0 auto}
.info-row .v{font-size:15px;color:var(--ink);font-weight:500;line-height:1.5}
.info-row .v b{color:var(--deep);font-weight:700}
.info-row .v a{color:var(--mid);font-weight:600;font-family:var(--mono);font-size:13px;word-break:break-all}

/* ---------- horizontal step flow ---------- */
.flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;counter-reset:fl}
.flow .step{flex:1 1 150px;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px 16px 18px;box-shadow:var(--shadow-sm);position:relative}
.flow .step .n{font-family:var(--display);font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--mid),var(--deep));width:24px;height:24px;border-radius:7px;display:grid;place-items:center;margin-bottom:11px}
.flow .step b{font-size:14.5px;font-weight:700;display:block;margin-bottom:5px;letter-spacing:-.2px}
.flow .step p{font-size:12.5px;color:var(--ink-2);line-height:1.55}
.flow .arrow{align-self:center;color:#bcccdb;flex:0 0 auto}
.flow .arrow svg{width:20px;height:20px}

/* ---------- glossary deflist ---------- */
.deflist{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.def{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow-sm)}
.def dt{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.2px;display:flex;align-items:center;gap:9px;margin-bottom:9px}
.def dt .mk{font-family:var(--display);font-size:11px;font-weight:700;color:var(--mid);background:var(--light);padding:3px 8px;border-radius:6px}
.def dd{font-size:14px;color:var(--ink-2);line-height:1.7}

/* ---------- mini quote cards (roles / scenarios) ---------- */
.scn{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.scn-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.scn-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.scn-card .hd{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.scn-card .hd .ic{width:42px;height:42px;border-radius:11px;background:var(--light);color:var(--deep);display:grid;place-items:center;flex:0 0 auto}
.scn-card .hd .ic svg{width:21px;height:21px}
.scn-card .hd b{font-size:17px;font-weight:700}
.scn-card .hd span{font-size:12.5px;color:var(--ink-3);display:block;margin-top:1px}
.scn-card p{font-size:14px;color:var(--ink-2);line-height:1.7}

/* ---------- io blocks (输入/输出) ---------- */
.io{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch}
.io .col{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-sm)}
.io .col h5{font-size:13px;font-weight:700;color:var(--ink-3);letter-spacing:.3px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.io .col.out{border-color:rgba(46,117,182,.3);background:linear-gradient(180deg,rgba(46,117,182,.04),#fff)}
.io .col.out h5{color:var(--deep)}
.io .col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.io .col li{font-size:13.5px;color:var(--ink-2);line-height:1.5;padding-left:16px;position:relative}
.io .col li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:2px;background:var(--mid)}
.io .col p{font-size:13.5px;color:var(--ink-2);line-height:1.7}
.io .mid{align-self:center;color:#bcccdb}
.io .mid svg{width:26px;height:26px}

/* ---------- chip tags ---------- */
.chips-row{display:flex;flex-wrap:wrap;gap:9px}
.chip-tag{font-size:13px;font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:999px}
.chip-tag.fill{background:var(--light-2);border-color:var(--line-2)}

/* ---------- related links / next ---------- */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rel-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.rel-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cfdded}
.rel-card .rc-cat{font-size:11.5px;font-weight:600;color:var(--mid);letter-spacing:.3px}
.rel-card h4{font-size:16px;font-weight:700;margin:8px 0 6px;letter-spacing:-.2px;line-height:1.3}
.rel-card p{font-size:13px;color:var(--ink-3);line-height:1.55}
.rel-card .go{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--mid);margin-top:12px}
.rel-card .go svg{width:14px;height:14px;transition:transform .15s}
.rel-card:hover .go svg{transform:translateX(3px)}

/* ---------- hub (学习中心) ---------- */
.hub-cat{margin-top:56px}
.hub-cat:first-of-type{margin-top:0}
.hub-cat-head{display:flex;align-items:center;gap:13px;margin-bottom:22px}
.hub-cat-head .ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--mid),var(--deep));color:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 6px 14px rgba(31,78,121,.22)}
.hub-cat-head .ic svg{width:22px;height:22px}
.hub-cat-head h3{font-size:22px;font-weight:700;letter-spacing:-.3px}
.hub-cat-head span{font-size:13.5px;color:var(--ink-3);display:block;margin-top:2px}
.hub-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hub-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.hub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cfdded}
.hub-card h4{font-size:16.5px;font-weight:700;letter-spacing:-.2px;line-height:1.32;margin-bottom:8px}
.hub-card p{font-size:13px;color:var(--ink-2);line-height:1.6;flex:1}
.hub-card .go{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--mid);margin-top:14px}
.hub-card .go svg{width:14px;height:14px;transition:transform .15s}
.hub-card:hover .go svg{transform:translateX(3px)}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .geo-check,.deflist,.scn,.hub-cards,.rel-grid{grid-template-columns:1fr}
  .io{grid-template-columns:1fr;gap:12px}
  .io .mid{transform:rotate(90deg)}
  .flow .arrow{transform:rotate(90deg)}
  .flow .step{flex-basis:100%}
}
