/* HanAnHua v161 — touch-first map for phones; preserve desktop interactions. */
.han-mobile-map-explorer{display:none}
@media (max-width:700px){
  /* Map pins remain interactive; popup is now a separate card BELOW the map. */
  .taiwan-map-final-stage #taiwan-map-tooltip{display:none!important}
  .taiwan-map-final-stage .han-map-label-overlay{display:none!important}
  #taiwan-partner-map-stage[data-active-map-filter] .map-city-shared-label,
  #taiwan-partner-map-stage[data-active-map-filter] .taiwan-map-hotspots .taiwan-map-hotspot .map-city-label{display:none!important}
  .taiwan-map-final-stage .taiwan-map-hotspot{
    width:clamp(28px,8vw,40px)!important;height:clamp(28px,8vw,40px)!important;
    min-width:0!important;min-height:0!important;
  }
  .taiwan-map-final-stage .taiwan-map-hotspot .map-marker{
    width:clamp(24px,6.6vw,34px)!important;
    height:clamp(24px,6.6vw,34px)!important;
    min-width:0!important;min-height:0!important;
  }
  .taiwan-map-final-stage .taiwan-map-hotspot.is-active .map-marker{
    outline:3px solid #fff;outline-offset:2px;
    box-shadow:0 0 0 5px #f5b900,0 3px 6px rgba(0,0,0,.22)!important;
  }
  .partner-showcase-head h3{font-size:clamp(29px,8vw,43px)!important;line-height:1.09!important;overflow-wrap:normal;word-break:normal}
  .taiwan-map-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:12px!important}
  .taiwan-map-filter .map-filter{font-size:clamp(11px,3vw,13px)!important;min-height:45px!important;padding:7px 6px!important;line-height:1.24}
  .taiwan-map-help{display:none!important}
  .han-mobile-map-explorer{display:block;width:100%;margin-top:12px;min-width:0;}
  .han-mobile-map-selector{min-width:0}
  .han-mobile-map-selector-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 2px 9px}
  .han-mobile-map-selector-head strong{font-size:15px;font-weight:900;color:#171717}
  .han-mobile-map-selector-head span{font-size:11px;font-weight:650;color:#536579;line-height:1.35}
  .han-mobile-map-cities{
    display:flex;gap:8px;overflow-x:auto;padding:2px 2px 11px;min-width:0;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
    scrollbar-width:thin;scrollbar-color:#d0c5a2 transparent;
  }
  .han-mobile-map-city{
    flex:none;min-height:42px;padding:9px 14px;border:1.5px solid #25303a;border-radius:999px;
    background:#fff;color:#173146;font-family:inherit;font-size:13px;font-weight:800;line-height:1.25;white-space:nowrap;
    cursor:pointer;scroll-snap-align:start;box-shadow:2px 2px 0 rgba(0,0,0,.13);
    -webkit-tap-highlight-color:transparent;
  }
  .han-mobile-map-city.is-active{background:#ffd12a;color:#151515;box-shadow:2px 2px 0 #151515}
  .han-mobile-map-city:focus-visible,.han-mobile-map-close:focus-visible{outline:3px solid #ed642d;outline-offset:2px}
  .han-mobile-map-result{width:100%;max-width:100%;margin-top:7px;padding:16px 17px 18px;border:2px solid #1f2a31;
    border-radius:20px;background:#fff;color:#14212c;box-shadow:4px 5px 0 #f5ca35;min-width:0}
  .han-mobile-map-result[hidden]{display:none!important}
  .han-mobile-map-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;
    border-bottom:1px solid #e4e8ec}
  .han-mobile-map-result-heading{min-width:0;flex:1}
  .han-mobile-map-result-kicker{display:block;color:#b24e2a;text-transform:uppercase;letter-spacing:.045em;
    font-weight:900;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
  .han-mobile-map-result-heading h4{margin:3px 0 0!important;padding:0!important;font-size:clamp(21px,6vw,27px)!important;
    line-height:1.12!important;color:#101820;overflow-wrap:anywhere}
  .han-mobile-map-close{flex:0 0 42px;display:grid;place-items:center;width:42px;height:42px;
    border:1px solid #abb6be;border-radius:50%;background:#f7f8f9;color:#1e2933;
    font-size:29px;line-height:1;cursor:pointer}
  .han-mobile-map-result-list{list-style:none;padding:0;margin:6px 0 0;min-width:0}
  .han-mobile-map-result-list li{position:relative;margin:0;padding:9px 0 9px 17px;font-size:14px;font-weight:700;line-height:1.4;
    border-bottom:1px solid #eef0f1;overflow-wrap:anywhere}
  .han-mobile-map-result-list li:last-child{border-bottom:0}
  .han-mobile-map-result-list li:not(.map-partner-group-label)::before{content:"";position:absolute;top:17px;left:1px;
    background:#f9c21c;border-radius:50%;width:7px;height:7px}
  .han-mobile-map-result-list li a{display:inline!important;font:inherit;color:#1b3045;text-decoration:underline;
    text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
  .han-mobile-map-result-list li.map-partner-group-label{padding:13px 0 5px;margin-top:3px;border-bottom:1px solid #dce1e5;
    font-size:15px;font-weight:900;color:#273e50}
  .han-mobile-map-result-list li.map-partner-group-label strong{font:inherit}
  .han-mobile-map-result-list li.group-industry{color:#a84b22}
  .han-mobile-map-result-list li.group-agriculture{color:#23744b}
}
@media(max-width:380px){
 .taiwan-map-filter .map-filter{font-size:11px!important}
 .han-mobile-map-result{padding:14px}
 .han-mobile-map-selector-head{gap:3px}
}
@media(prefers-reduced-motion:reduce){.han-mobile-map-cities{scroll-behavior:auto}}
