/* 客户销售案例地图 · 3D 地球（首页新增，scoped .sg-） */
.sales-globe-sec{
  position:relative;
  box-sizing:border-box;
  padding:46px 6% 58px;
  background:radial-gradient(120% 120% at 50% 0%, #102a4c 0%, #0a1830 45%, #060d1a 100%);
  color:#eaf2ff;
  overflow:hidden;
}
.sg-inner{max-width:1440px;margin:0 auto;box-sizing:border-box;}
.sg-head{text-align:center;margin-bottom:14px;}
.sg-kicker{font:.72rem/1 'Segoe UI',system-ui,sans-serif;letter-spacing:.32em;color:#6fb1ff;text-transform:uppercase;margin:0 0 12px;}
.sg-title{font-size:clamp(26px,3.4vw,40px);font-weight:800;margin:0 0 14px;color:#fff;letter-spacing:.02em;}
.sg-sub{max-width:740px;margin:0 auto;font-size:clamp(14px,1.4vw,16px);line-height:1.85;color:#a9c2e6;}
.sg-stage{position:relative;width:100%;height:clamp(420px,calc(100vh - 198px),860px);margin:0 auto;cursor:grab;}
.sg-stage:active{cursor:grabbing;}
.sg-globe{position:absolute;inset:0;}
.sg-globe canvas{display:block;width:100%!important;height:100%!important;}
.sg-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 8%;color:#9fb6d6;font-size:15px;line-height:1.7;}
.sg-fallback[hidden]{display:none;}
.sg-list{margin-top:46px;}
.sg-cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.sg-case{background:rgba(255,255,255,.04);border:1px solid rgba(111,177,255,.18);border-radius:12px;padding:16px 18px;transition:transform .2s,border-color .2s,background .2s;min-width:0;}
.sg-case:hover{transform:translateY(-3px);border-color:rgba(255,179,71,.6);background:rgba(255,179,71,.06);}
.sg-case .sg-region{font-size:12px;letter-spacing:.18em;color:#ffb347;text-transform:uppercase;}
.sg-case .sg-name{font-size:17px;font-weight:700;color:#fff;margin-top:6px;}
.sg-case .sg-note{font-size:13px;color:#9fb6d6;margin-top:6px;line-height:1.6;}
.sg-hint{text-align:center;margin-top:28px;font-size:13px;color:#7f97bb;}
/* —— 名称标签叠加层 —— */
.sg-labels{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:2;}
.sg-label{position:absolute;white-space:nowrap;pointer-events:auto;cursor:pointer;
  font:inherit;font-size:12px;line-height:1;margin:0;padding:5px 10px;border-radius:20px;color:#fff;
  background:rgba(18,38,68,.82);border:1px solid rgba(255,179,71,.70);
  box-shadow:0 2px 8px rgba(0,0,0,.35);transition:background .15s,border-color .15s,transform .15s;}
.sg-case-label{max-width:min(280px,28vw);overflow:hidden;text-overflow:ellipsis;}
.sg-label:hover,.sg-label:focus{outline:none;background:rgba(255,179,71,.95);color:#1a1206;border-color:#ffb347;transform:translate(-50%,-100%) scale(1.06);z-index:10;}
.sg-region-label{background:rgba(58,123,213,.22);border-color:rgba(111,177,255,.85);font-weight:700;padding:6px 12px;font-size:13px;}
.sg-region-bar{position:absolute;top:12px;left:14px;z-index:3;display:none;flex-direction:column;gap:8px;pointer-events:auto;max-height:calc(100% - 170px);overflow-y:auto;padding-right:3px;}
.sg-overseas-bar{position:absolute;top:12px;left:14px;transform:none;z-index:3;display:none;flex-direction:column;gap:8px;pointer-events:auto;max-height:calc(50% - 20px);overflow-y:auto;padding-right:3px;}
.sg-region-bar::-webkit-scrollbar{width:5px;}
.sg-region-bar::-webkit-scrollbar-thumb{background:rgba(111,177,255,.4);border-radius:3px;}
.sg-region-bar .sg-region-label{position:static;transform:none !important;white-space:nowrap;}
.sg-region-bar .sg-region-label:hover{transform:none !important;}
.sg-overseas-bar .sg-region-label{position:static;transform:none !important;white-space:nowrap;background:rgba(180,80,255,.16);border-color:rgba(200,140,255,.75);}
.sg-overseas-bar .sg-region-label:hover{background:rgba(200,140,255,.95);color:#1a0620;border-color:#c88cff;}
.sg-region-list-header{position:absolute;top:calc(50% - 24px);left:14px;z-index:4;display:none;pointer-events:none;font-size:12px;color:#ff9a9a;background:rgba(60,12,12,.55);border:1px solid rgba(255,90,90,.45);border-radius:6px;padding:4px 9px;max-width:min(300px,72vw);}
.sg-region-list{position:absolute;top:calc(50% + 2px);left:14px;bottom:12px;z-index:3;display:none;flex-direction:column;gap:6px;pointer-events:auto;overflow-y:auto;padding-right:3px;max-width:min(300px,72vw);}
.sg-region-list::-webkit-scrollbar{width:4px;}
.sg-region-list::-webkit-scrollbar-thumb{background:rgba(111,177,255,.35);border-radius:2px;}
.sg-region-list .sg-region-list-item{position:relative !important;left:auto !important;top:auto !important;transform:none !important;display:block !important;white-space:normal;overflow:visible;max-width:100%;text-overflow:clip;line-height:1.35;padding:6px 10px 6px 22px;}
.sg-region-list .sg-region-list-item::before{content:"";position:absolute;left:9px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#ff3b3b;box-shadow:0 0 6px #ff3b3b;}
.sg-region-list .sg-region-list-item:hover{background:rgba(255,90,90,.22);}
.sg-region-label:hover,.sg-region-label:focus{background:rgba(111,177,255,.95);color:#061020;border-color:#6fb1ff;}

.sg-reset{position:absolute;top:12px;right:12px;left:auto;transform:none;bottom:auto;z-index:4;pointer-events:auto;cursor:pointer;
  font:inherit;font-size:12px;margin:0;padding:6px 12px;border-radius:20px;color:#cfe2ff;
  background:rgba(18,38,68,.6);border:1px solid rgba(111,177,255,.4);}
.sg-reset:hover{background:rgba(111,177,255,.28);color:#fff;}

/* —— 右侧客户列表面板 —— */
.sg-side-panel{position:absolute;top:44px;bottom:12px;right:12px;width:min(340px,36%);z-index:3;
  display:flex;flex-direction:column;pointer-events:auto;
  background:rgba(6,14,28,.78);border:1px solid rgba(111,177,255,.22);border-radius:12px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:hidden;}
.sg-side-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:14px;font-weight:700;color:#fff;
  background:rgba(58,123,213,.18);border-bottom:1px solid rgba(111,177,255,.18);}
.sg-side-head span{flex:1;}
.sg-side-toggle{cursor:pointer;pointer-events:auto;background:none;border:none;color:#6fb1ff;font-size:18px;line-height:1;padding:0 2px;margin-left:8px;transition:color .15s,transform .2s;}
.sg-side-toggle:hover{color:#fff;}
.sg-side-panel.collapsed{width:auto;min-width:auto;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.sg-side-panel.collapsed .sg-side-body{display:none;}
.sg-side-panel.collapsed .sg-side-head{background:transparent;border-bottom:none;padding:0;}
.sg-side-panel.collapsed .sg-side-head span{display:none;}
.sg-side-panel.collapsed .sg-side-toggle{transform:rotate(180deg);margin:0;padding:6px;border-radius:50%;background:rgba(6,14,28,.35);border:1px solid rgba(111,177,255,.25);color:#6fb1ff;}
.sg-side-body{flex:1;overflow-y:auto;padding:10px 12px;}
.sg-side-group{margin-bottom:10px;}
.sg-side-group.collapsed .sg-side-item{display:none;}
.sg-side-region{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;
  font-size:13px;font-weight:700;color:#6fb1ff;padding:8px 10px;border-radius:8px;
  background:rgba(111,177,255,.08);margin-bottom:6px;}
.sg-side-region span{display:none;}
.sg-side-region::before{content:'▼';font-size:10px;margin-right:6px;transition:transform .2s;}
.sg-side-group.collapsed .sg-side-region::before{transform:rotate(-90deg);}
.sg-side-item{display:block;width:100%;text-align:left;cursor:pointer;margin:0 0 5px;padding:7px 10px;
  border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  transition:background .15s,border-color .15s;}
.sg-side-item:hover,.sg-side-item:focus{background:rgba(255,179,71,.12);border-color:rgba(255,179,71,.4);outline:none;}
.sg-side-item.active{background:rgba(255,179,71,.22);border-color:rgba(255,179,71,.65);}
.sg-side-name{font-size:12px;font-weight:600;color:#fff;line-height:1.35;}
.sg-side-note{font-size:11px;color:#9fb6d6;margin-top:3px;line-height:1.4;}

/* —— 聚焦客户详情卡（放大下钻时显示区域 + 地址） —— */
.sg-detail{position:absolute;left:50%;right:auto;bottom:14px;z-index:4;pointer-events:none;
  width:min(300px,52%);max-width:300px;box-sizing:border-box;
  padding:10px 14px;border-radius:0;
  background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
  opacity:0;transform:translateX(-50%) translateY(8px);transition:opacity .25s,transform .25s;}
.sg-detail-region,.sg-detail-name,.sg-detail-row,.sg-detail-note,.sg-detail-coord{text-shadow:0 1px 3px rgba(0,0,0,.85);}
.sg-detail[hidden]{display:none;}
.sg-detail:not([hidden]){opacity:1;transform:translateX(-50%) translateY(0);}
.sg-detail-region{font-size:11px;letter-spacing:.16em;color:#ffb347;text-transform:uppercase;margin-bottom:6px;}
.sg-detail-name{font-size:18px;font-weight:800;color:#fff;line-height:1.25;margin-bottom:8px;}
.sg-detail-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;}
.sg-detail-key{flex:0 0 auto;font-size:11px;color:#6fb1ff;padding:0 4px 0 0;border:none;background:transparent;border-radius:0;}
.sg-detail-city{font-size:14px;font-weight:600;color:#eaf2ff;}
.sg-detail-note{font-size:12px;color:#a9c2e6;line-height:1.6;margin-bottom:6px;}
.sg-detail-coord{font-size:11px;color:#7f97bb;font-variant-numeric:tabular-nums;}

@media (max-width:767px){
  .sg-detail{left:10px;right:10px;bottom:10px;width:auto;max-width:none;padding:11px 13px;transform:none;}
  .sg-detail-name{font-size:16px;}
  .sg-overseas-bar{display:none;}
  .sg-region-list{top:calc(50% + 8px);max-width:min(220px,55vw);left:10px;}
  .sg-region-list-header{top:calc(50% - 18px);left:10px;max-width:min(220px,55vw);}
  .sg-reset{top:8px;right:8px;left:auto;transform:none;bottom:auto;padding:5px 10px;font-size:11px;}
  .sg-side-panel{position:absolute;top:44px;bottom:10px;right:10px;left:auto;width:min(220px,55vw);margin-top:0;max-height:none;border-radius:10px;}
  .sg-side-panel.collapsed{width:auto;min-width:auto;}
  .sg-side-head{padding:10px 12px;font-size:13px;}
  .sg-side-body{padding:8px 10px;}
  .sg-side-toggle{font-size:16px;}
}

@media (max-width:767px){
  .sales-globe-sec{padding:40px 5% 50px;}
  .sg-stage{height:clamp(320px,86vw,540px);}
  .sg-cases{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
  .sg-label{font-size:11px;padding:4px 7px;}
}
