/* 联络页地图：深色科技风 */

/* ---------- 解除原整屏布局，改为自然文档流 ---------- */
.contactmain{position:relative !important;}
.contactcon{position:static !important;top:auto !important;margin:0 !important;padding:96px 20px 30px !important;}
.contactcontent{width:1180px !important;max-width:100%;margin:0 auto !important;overflow:visible !important;}
.contactfoot{position:static !important;}
.contactbg{position:fixed !important;z-index:1 !important;}

/* ---------- 上部：左信息 / 右留言 ---------- */
.mdcx{display:grid;grid-template-columns:400px 1fr;gap:36px;align-items:start;margin-bottom:34px;}

.mdcleft .contactwa{padding:0 0 30px;border-bottom:1px solid rgba(255,255,255,.35);}
.mdcleft .contactwa h1{font-size:1.6em;letter-spacing:3px;}
.mdcleft .contactwa h2{font-size:2.2em;}
.mdcleft .contactwa h3,.mdcleft .contactwa h4{opacity:.85;}

.mdcic{display:flex;flex-direction:column;gap:14px;margin-top:26px;}
.mdcicbox{
  background:rgba(10,25,35,.55);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.18);
  border-left:3px solid transparent;
  border-radius:12px;padding:16px 20px;
  transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.mdcicbox:hover{border-left-color:#2dd4bf;transform:translateX(4px);box-shadow:0 6px 22px rgba(0,0,0,.3);}
.mdcicbox .contactqqbt{color:rgba(255,255,255,.6);font-size:13px;letter-spacing:2px;margin-bottom:4px;}
.mdcicbox .contactqqnr{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mdcicbox .contactqqhm{color:#fff;font-size:16px;letter-spacing:.5px;}
.mdcicbox .contactqqzx a{
  padding:5px 14px;border-radius:14px;font-size:12px;color:#fff !important;
  background:linear-gradient(135deg,#5fbf5f,#2dd4bf);
  box-shadow:0 3px 10px rgba(45,212,191,.35);
  transition:transform .2s ease,box-shadow .2s ease;
}
.mdcicbox .contactqqzx a:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(45,212,191,.5);}

/* ---------- 右列：留言面板 ---------- */
.mdcright{
  background:rgba(10,25,35,.55);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;padding:26px 28px 24px;
}
.mdcright h2{
  font-size:20px;color:#fff;font-weight:600;letter-spacing:2px;
  margin-bottom:18px;position:relative;padding-left:14px;
}
.mdcright h2::before{
  content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;
  background:linear-gradient(135deg,#5fbf5f,#2dd4bf);border-radius:4px;
}
.mdcright h2 span{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:4px;margin-left:10px;font-weight:400;}

.mdcright .gbin,.mdcright .gbta{
  background:rgba(0,0,0,.28) !important;
  border:1px solid rgba(255,255,255,.2) !important;
  color:#eee !important;border-radius:8px !important;
}
.mdcright .gbin::placeholder,.mdcright .gbta::placeholder{color:rgba(255,255,255,.45);}
.mdcright .gbcodebox .codeimg{border-radius:8px;}
.mdcright form{margin-bottom:20px;}

.mdmsglist{display:flex;flex-direction:column;gap:10px;}
.mdmsglist:empty{display:none;}
.mdmsglist::after{
  content:"暂无留言，来抢沙发～";
  display:none;color:rgba(255,255,255,.45);font-size:13px;
}
.mdmsglist:not(:empty){border-top:1px dashed rgba(255,255,255,.18);padding-top:16px;}
.mdmsglist:not(:empty)::before{
  content:"最近留言";display:block;color:rgba(255,255,255,.55);
  font-size:13px;letter-spacing:2px;margin-bottom:10px;
}
.gbookitem{background:rgba(0,0,0,.22) !important;border:1px solid rgba(255,255,255,.12) !important;}

/* ---------- 地图 ---------- */
.mdmap{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 12px 44px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.16);}
#mdmapcanvas{height:400px;background:#0d1b2a;}

/* 瓦片调成深色科技风 */
#mdmapcanvas .leaflet-tile-pane{
  filter:grayscale(.88) invert(.92) contrast(.88) hue-rotate(185deg) brightness(.92) saturate(1.4);
}

/* 脉冲定位点 */
.mdpin{position:relative;width:22px;height:22px;}
.mdpin i{
  position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;
  background:linear-gradient(135deg,#5fbf5f,#2dd4bf);
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;box-shadow:0 0 10px rgba(45,212,191,.9);z-index:2;
}
.mdpin::before{
  content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;
  border-radius:50%;background:rgba(45,212,191,.45);
  animation:mdping 1.8s ease-out infinite;
}
@keyframes mdping{
  0%{transform:scale(.5);opacity:.9;}
  100%{transform:scale(2.6);opacity:0;}
}

/* 提示气泡 */
.mdtip.leaflet-tooltip{
  background:rgba(10,25,35,.92);color:#e8f6f2;border:1px solid rgba(45,212,191,.4);
  border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.4);font-size:12px;padding:6px 10px;
}
.mdtip.leaflet-tooltip-top::before{border-top-color:rgba(45,212,191,.4);}

/* 缩放按钮 */
#mdmapcanvas .leaflet-bar a{
  background:rgba(13,27,42,.9);color:#bfe9de;border-color:rgba(255,255,255,.15);
  backdrop-filter:blur(6px);
}
#mdmapcanvas .leaflet-bar a:hover{background:rgba(45,212,191,.25);color:#fff;}

/* 地址信息卡 */
.mdmapcard{
  position:absolute;left:16px;bottom:16px;z-index:500;
  background:rgba(10,25,35,.88);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(45,212,191,.35);
  border-radius:12px;padding:16px 18px;max-width:320px;
  box-shadow:0 8px 26px rgba(0,0,0,.45);
  display:flex;flex-direction:column;gap:6px;line-height:1.5;
}
.mdmapcard b{color:#fff;font-size:15px;font-weight:600;letter-spacing:.5px;}
.mdmapcard span{color:rgba(255,255,255,.75);font-size:13px;}
.mdmapcard a{
  margin-top:4px;align-self:flex-start;
  padding:6px 16px;border-radius:16px;font-size:13px;color:#fff !important;
  background:linear-gradient(135deg,#5fbf5f,#2dd4bf);
  box-shadow:0 3px 12px rgba(45,212,191,.4);
  transition:transform .2s ease,box-shadow .2s ease;
}
.mdmapcard a:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(45,212,191,.55);}

@media (max-width:768px){
  #mdmapcanvas{height:300px;}
  .mdmapcard{left:10px;bottom:10px;right:10px;max-width:none;}
}
@media (max-width:1180px){
  .mdcx{grid-template-columns:1fr;gap:26px;}
  .mdcic{flex-direction:row;flex-wrap:wrap;}
  .mdcicbox{flex:1 1 240px;}
}
