html{min-width:1200px; min-height:100%;}
body.info-map-page{min-width:1200px; min-height:100%; overflow-x:hidden; overflow-y:auto;}
.info-map-page{background:#f6f7f9;}
.info-map-page .topInfo, .info-map-page .nav_box, .info-map-page .header, .info-map-page .nav_bg, .info-map-page .c-top, .info-map-page .c-nav{position:relative; z-index:3000;}
.info-map-page .dt-site-header{z-index:3000;}

.info-map-box{position:relative; z-index:1; min-height:calc(100vh - 64px); display:flex; flex-direction:column; overflow:visible; background:#fff;}
.info-map-toolbar{width:100%; max-width:96rem; flex:0 0 auto; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin:0 auto; padding:32px 24px 28px; background:#fff; border-bottom:1px solid #e5e7eb; box-sizing:border-box;}
.info-map-inner{display:flex; flex-direction:column;}
.info-map-breadcrumb{font-size:13px; color:#999; margin-bottom:12px;}
.info-map-breadcrumb a{color:#666; text-decoration:none; transition:color .15s;}
.info-map-breadcrumb a:hover{color:#008e3e;}
.info-map-breadcrumb-sep{margin:0 6px; color:#ccc;}
.info-map-title h1{font-size:28px; line-height:1.3; font-weight:700; color:#111; margin:0 0 8px;}
.info-map-title p{font-size:14px; line-height:1.6; color:#666; margin:0; max-width:600px;}
.info-map-search{width:360px; height:40px; display:flex; align-items:center; border:1px solid #b9dfca; border-radius:8px; background:#fff; overflow:hidden; box-sizing:border-box;}
.info-map-search input{height:38px; line-height:38px; flex:1; border:0; outline:0; padding:0 12px; font-size:14px; color:#111827; background:transparent; box-sizing:border-box;}
.info-map-search button{width:76px; height:40px; border:0; background:#15803d; color:#fff; font-size:14px; cursor:pointer;}
.info-map-search button:hover{background:#166534;}
.info-map-cats{height:58px; flex:0 0 58px; display:flex; align-items:center; padding:10px 24px; background:#fff; border-bottom:none; box-sizing:border-box; overflow:visible;}
.info-map-cats .category-panel{display:flex; align-items:center; gap:10px; width:100%; max-width:96rem; height:100%; margin:0 auto; overflow:visible;}
.info-map-cats .category-panel::-webkit-scrollbar{height:0;}
.info-map-cats .qu{display:flex; align-items:center; gap:10px; width:100%; margin:0; padding:0; white-space:nowrap; overflow:visible;}
.info-map-cats .map-cat-item{position:relative; height:34px; line-height:34px; padding:0 32px 0 15px; border-radius:999px; background:#ecfdf5; color:#166534; font-size:14px; cursor:pointer; box-sizing:border-box;}
.info-map-cats .map-cat-item:after{content:""; position:absolute; right:14px; top:14px; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor;}
.info-map-cats .map-cat-item[data-root-id=""]{padding-right:15px;}
.info-map-cats .map-cat-item[data-root-id=""]:after{display:none;}
.info-map-cats .map-cat-item:hover{background:#dff8ea; color:#14532d;}
.info-map-cats .map-cat-item.active{background:#15803d; color:#fff;}
.info-map-cats .cat-dropdown{position:absolute; left:0; top:100%; z-index:50; display:none; min-width:168px; max-height:310px; overflow-y:auto; padding:8px; margin-top:0; border:1px solid #b9dfca; border-radius:10px; background:#fff; box-shadow:0 18px 40px rgba(21,128,61,.18); box-sizing:border-box;}
.info-map-cats .map-cat-item:hover .cat-dropdown{display:block;}
.info-map-cats .map-cat-item.dropdown-closed:hover .cat-dropdown{display:none;}
.info-map-cats .cat-dropdown:before{content:""; position:absolute; left:0; right:0; top:-8px; height:8px;}
.info-map-cats .cat-option, .info-map-cats .cat-dropdown-loading{display:block; height:32px; line-height:32px; padding:0 10px; border-radius:7px; color:#255846; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; box-sizing:border-box;}
.info-map-cats .cat-option:hover, .info-map-cats .cat-option.active{background:#dcfce7; color:#15803d;}
.info-map-cats .cat-dropdown-loading{color:#7a9489; cursor:default;}
.info-map-workspace{width:100%; max-width:96rem; height:calc(100vh - 64px - 150px - 58px); min-height:520px; flex:0 0 auto; display:flex; gap:0; padding:0 24px; margin:0 auto; box-sizing:border-box; overflow:hidden;}
.info-map-workspace .map-area{position:relative; flex:1 1 auto; min-width:0; height:100%; border:0; border-right:1px solid #d7eadf; border-radius:0; overflow:hidden; background:#ddd; box-sizing:border-box;}
.info-map-workspace .map{position:absolute; inset:0; background:#ddd; z-index:1;}
.info-map-box .zoom-ctrl{position:absolute; z-index:12; right:16px; top:16px; width:36px; overflow:hidden; border:1px solid #d9dde5; border-radius:8px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.12);}
.info-map-box .zoom-ctrl span{display:block; width:36px; height:36px; line-height:34px; text-align:center; cursor:pointer; user-select:none; color:#111827; font-size:22px; font-weight:500; box-sizing:border-box;}
.info-map-box .zoom-ctrl span+span{border-top:1px solid #e5e7eb;}
.info-map-box .zoom-ctrl span:hover{background:#f3f4f6;}
.merchant-panel{width:390px; flex:0 0 390px; height:100%; display:flex; flex-direction:column; min-height:0; border:0; border-radius:0; background:#fff; overflow:hidden; box-sizing:border-box;}
.merchant-list{flex:1; min-height:0; overflow-y:auto; padding:0; box-sizing:border-box;}
.merchant-list::-webkit-scrollbar{width:8px;}
.merchant-list::-webkit-scrollbar-thumb{border-radius:999px; background:#cfd5de;}
.merchant-list::-webkit-scrollbar-track{background:transparent;}
.merchant-card{display:flex; gap:12px; padding:14px 16px; border:0; border-bottom:1px solid #e5f2eb; border-radius:0; background:#fff; cursor:pointer; box-sizing:border-box; transition:background .16s ease;}
.merchant-card+.merchant-card{margin-top:0;}
.merchant-card:hover, .merchant-card.active{background:#f3fbf6;}
.merchant-card .merchant-pic{width:84px; height:64px; flex:0 0 84px; border-radius:6px; overflow:hidden; background:#f1f3f5;}
.merchant-card .merchant-pic img{width:100%; height:100%; object-fit:cover;}
.merchant-card .merchant-info{min-width:0; flex:1;}
.merchant-card h3{margin:0; font-size:16px; line-height:22px; font-weight:700; color:#111827; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.merchant-card .merchant-type{display:inline-block; max-width:100%; height:22px; line-height:22px; margin-top:6px; padding:0 8px; border-radius:999px; background:#eef2f7; color:#4b5563; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; box-sizing:border-box;}
.merchant-card .merchant-address{margin:7px 0 0; font-size:13px; line-height:18px; color:#6b7280; max-height:36px; overflow:hidden;}
.merchant-card .merchant-link{display:inline-block; margin-top:6px; color:#15803d; font-size:13px; line-height:18px;}
.merchant-empty{height:100%; min-height:220px; display:flex; align-items:center; justify-content:center; color:#6b7280; font-size:14px; text-align:center;}
.info-map-box .bubble{user-select:none; cursor:pointer;}
.info-map-box .bubble .bubble-wrap{position:absolute; bottom:39px; left:-258px; display:none; z-index:2;}
.info-map-box .bubble .bubble-inner, .goBubble .bubble-inner{position:relative; width:496px; padding:18px; background:#fff; box-shadow:0 3px 8px rgba(156,156,156,.17); border:1px solid #e5e5e5; border-radius:4px; box-sizing:border-box;}
.info-map-box .bubble .bubble-inner .img, .goBubble .bubble-inner .img{width:118px; height:82px; overflow:hidden; float:left; background:#f3f3f3;}
.info-map-box .bubble .bubble-inner .img img, .goBubble .bubble-inner .img img{width:100%; height:100%; object-fit:cover;}
.info-map-box .bubble .bubble-inner .info, .goBubble .bubble-inner .info{margin-left:132px; padding-right:100px;}
.info-map-box .bubble .bubble-inner .name, .goBubble .bubble-inner .name{color:#333; font-weight:bold; font-size:17px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.info-map-box .bubble .bubble-inner .dres, .goBubble .bubble-inner .dres{margin-top:10px; font-size:13px; color:#999; line-height:20px; max-height:40px; overflow:hidden;}
.info-map-box .bubble .bubble-inner .btn, .goBubble .bubble-inner .btn{position:absolute; right:18px; top:36px; width:82px; height:32px; border-radius:4px; background:#f53a00; font-size:14px; text-align:center; line-height:32px; color:#fff;}
.info-map-box .bubble .arrow{position:absolute; left:50%; bottom:-9px; display:block; border-left:10px solid transparent; border-right:10px solid transparent; border-top:10px solid #fff; width:0; height:0; margin-left:-10px; z-index:10;}
.info-map-box .bubble .cycle{background:#4285f4; border-radius:50%; width:20px; height:20px; border:1px solid #1658c4; position:absolute; left:50%; margin-left:-10px; bottom:6px; z-index:1;}
.gm-style .gm-style-iw-d{overflow:hidden!important;}
.goBubble{position:relative;}
