.amcan-lawmap{max-width:1200px;margin:0 auto;padding:24px 16px;box-sizing:border-box}
.amcan-lawmap__hero{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.amcan-lawmap__heroText h1{font-size:28px;line-height:1.2;margin:0 0 10px}
.amcan-lawmap__heroText .sub{font-size:15px;line-height:1.7;margin:0 0 14px;color:#333}
.amcan-lawmap__controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.ctrl{display:flex;gap:8px;align-items:center;background:#f7f7f7;border:1px solid #eee;border-radius:10px;padding:8px 10px}
.ctrl select{border:0;background:transparent;outline:none;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ddd;background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;cursor:pointer;text-decoration:none;color:#111}
.btn--primary{border-color:#111;background:#111;color:#fff}
.meta{font-size:12px;color:#666;margin:10px 0 0}
.meta .dot{margin:0 8px}

.amcan-lawmap__legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.legendItem{display:flex;align-items:center;gap:8px;font-size:13px;color:#333;background:#fafafa;border:1px solid #eee;border-radius:999px;padding:6px 10px}
.legendSwatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.08)}

.amcan-lawmap__map{background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden;min-height:380px;position:relative}
.amcan-lawmap__tooltip{position:absolute;pointer-events:none;opacity:0;transform:translate(-50%,-120%);background:rgba(0,0,0,.82);color:#fff;padding:6px 8px;border-radius:8px;font-size:12px;white-space:nowrap}

.amcan-lawmap__panel{margin-top:18px}
.amcan-lawmap__panelInner{border:1px solid #eee;border-radius:16px;padding:16px;background:#fff}
.amcan-lawmap__panelGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.card{border:1px solid #eee;border-radius:14px;padding:14px;background:#fafafa}
.card h3{margin:0 0 10px;font-size:16px}
.bullets{margin:0;padding-left:18px;line-height:1.7}
.muted{color:#666}
.small{font-size:12px}
.grade{display:inline-flex;gap:8px;align-items:center;margin:6px 0 10px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;border:1px solid rgba(0,0,0,.1);background:#fff}

.amcan-lawmap__cta{margin-top:18px}
.ctaBox{ border-radius:18px;padding:18px;background:#DAA76A;color:#fff}
.ctaBox h2{margin:0 0 10px}
.ctaBox p{margin:0 0 12px;line-height:1.7}
.ctaBtns{display:flex;gap:10px;flex-wrap:wrap}
.ctaBox .btn{border-color:rgba(255,255,255,.25);background:transparent;color:#fff}
.ctaBox .btn--primary{background:#fff;color:#111;border-color:#fff}

.amcan-lawmap__refs{margin-top:18px}
.refs{margin:8px 0 0;padding-left:18px;line-height:1.8}
.refs a{text-decoration:none}

@media (max-width: 980px){
  .amcan-lawmap__hero{grid-template-columns:1fr}
  .amcan-lawmap__panelGrid{grid-template-columns:1fr}
  .amcan-lawmap__map{min-height:340px}
}


 



/* =========================
   1) 地图置顶 + 放大（桌面端）
   追加到CSS最底部
   ========================= */

/* 桌面端：hero 改成单列布局，并指定顺序：地图在上、文字在下 */
@media (min-width: 981px){
  .amcan-lawmap__hero{
    grid-template-columns: 1fr;     /* 取消两列 */
    grid-template-areas:
      "map"
      "text";                       /* 地图在上 */
    gap: 22px;
  }

  .amcan-lawmap__heroMap{ grid-area: map; }
  .amcan-lawmap__heroText{ grid-area: text; }

  /* 地图容器更大 */
  .amcan-lawmap__map{
    min-height: 680px;              /* 你想更大可改 720/760 */
  }
}

/* 超大屏：更大一点（覆盖你原来的 600px） */
@media (min-width: 1200px){
  .amcan-lawmap__map{
    min-height: 760px;
  }
}



