/* HanAnHua v106 — responsive unified partner map/list */
.map-city-shared-label{display:none!important}

.taiwan-map-hotspot.combined{
  --ring:rgba(70,157,201,.72)!important;
}

.taiwan-map-hotspot.combined .map-marker{
  background:linear-gradient(135deg,#63b1d6 0%,#3a88bb 100%)!important;
  border-color:#fff!important;
  color:#fff!important;
  box-shadow:0 5px 16px rgba(58,136,187,.24)!important;
}
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot .map-marker{
  width:clamp(32px,3vw,50px)!important;
  height:clamp(32px,3vw,50px)!important;
  min-width:clamp(32px,3vw,50px)!important;
  border-width:clamp(2px,.24vw,4px)!important;
}
.taiwan-map-final-stage[data-active-map-filter="all"] .map-marker-icon{
  font-size:clamp(13px,1.3vw,21px)!important;
  line-height:1!important;
}

.partner-columns{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
.partner-panel[hidden]{display:none!important}
.partner-panel-all{display:none}
.partner-showcase.partner-filter-ready .partner-panel-all:not([hidden]){display:block}
.partner-showcase.partner-filter-ready .partner-panel-hotel:not([hidden]),
.partner-showcase.partner-filter-ready .partner-panel-industry:not([hidden]){display:block}
.partner-symbol-all{background:linear-gradient(135deg,#63b1d6,#3a88bb)!important;color:#fff!important}

.all-partner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.all-partner-row{
  position:relative;display:grid!important;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;
  gap:14px;min-width:0;min-height:98px;padding:10px 42px 10px 10px!important;
  border:1px solid rgba(24,55,78,.12);border-radius:14px;background:#fff;color:inherit;text-decoration:none;
  box-shadow:0 5px 15px rgba(22,48,68,.05);overflow:hidden;
}
.all-partner-row:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(22,48,68,.09)}
.all-partner-row .partner-thumb-wrap{width:104px!important;height:78px!important;min-width:104px!important;border-radius:11px!important;overflow:hidden}
.all-partner-row .partner-thumb-wrap img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.all-partner-row .partner-row-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.all-partner-row .partner-row-copy strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.all-partner-row .partner-row-copy>span:not(.partner-category-badge){font-size:12px;line-height:1.35;color:#647583}
.partner-category-badge{display:inline-flex!important;width:auto!important;max-width:100%;padding:3px 8px;border-radius:999px;font-size:10px!important;line-height:1.2!important;font-weight:800;letter-spacing:.02em;margin-top:2px}
.category-hotel .partner-category-badge{background:#fff4c8;color:#805b00}
.category-industry .partner-category-badge{background:#ffe7d8;color:#88411a}
.partner-card-meta{font-size:11px;color:#8d6c13;white-space:nowrap;align-self:center}
.all-partner-row .partner-site-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.all-partner-list:not(.is-expanded)>.partner-extra-item{display:none!important}

@media (max-width:920px){
  .all-partner-list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .partner-columns{gap:12px!important}
  .partner-panel{padding-left:12px!important;padding-right:12px!important}
  .all-partner-row{grid-template-columns:84px minmax(0,1fr);min-height:84px;gap:11px;padding:8px 36px 8px 8px!important}
  .all-partner-row .partner-thumb-wrap{width:84px!important;height:68px!important;min-width:84px!important}
  .partner-card-meta{display:none}
  .all-partner-row .partner-site-arrow{right:11px}
}
@media (max-width:980px){
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot .map-marker{
    width:clamp(28px,5.2vw,42px)!important;
    height:clamp(28px,5.2vw,42px)!important;
    min-width:clamp(28px,5.2vw,42px)!important;
  }
  .taiwan-map-final-stage[data-active-map-filter="all"] .map-marker-icon{
    font-size:clamp(11px,2.3vw,17px)!important;
  }
}
@media (max-width:560px){
  .taiwan-map-filter{grid-template-columns:1fr!important;gap:7px!important}
  .taiwan-map-filter .map-filter{width:100%!important;justify-content:center!important;min-height:42px!important}
}
@media (max-width:390px){
  .all-partner-row{grid-template-columns:72px minmax(0,1fr);gap:9px;padding-left:7px!important}
  .all-partner-row .partner-thumb-wrap{width:72px!important;height:62px!important;min-width:72px!important}
  .all-partner-row .partner-row-copy strong{font-size:13px}
}

/* v109 — All-partners mode: show city names and match hotel/industry card scale. */
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot .map-city-label{
  display:block!important;
  font-size:clamp(11px,1.05vw,16px)!important;
  padding:6px 10px 7px!important;
  white-space:nowrap!important;
  z-index:18!important;
}

.all-partner-row{
  grid-template-columns:128px minmax(0,1fr) auto!important;
  gap:18px!important;
  min-height:124px!important;
  padding:14px 48px 14px 18px!important;
  border:2px solid var(--ink)!important;
  border-radius:17px!important;
  background:var(--cream)!important;
  box-shadow:none!important;
}
.all-partner-row:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 0 rgba(15,61,104,.08)!important;
}
.all-partner-row .partner-thumb-wrap{
  width:128px!important;
  height:92px!important;
  min-width:128px!important;
  border-radius:16px!important;
  border:2px solid var(--ink)!important;
}
.all-partner-row .partner-row-copy{gap:0!important}
.all-partner-row .partner-row-copy strong{
  font-family:var(--display)!important;
  font-size:clamp(18px,1.55vw,24px)!important;
  line-height:1.06!important;
}
.all-partner-row .partner-row-copy>span:not(.partner-category-badge){
  margin-top:8px!important;
  font-size:clamp(13px,1vw,15px)!important;
  font-weight:800!important;
  line-height:1.32!important;
}
.category-industry .partner-row-copy>span:not(.partner-category-badge){
  font-size:clamp(14px,1.06vw,16px)!important;
  color:#41505d!important;
}
.partner-category-badge{
  margin-top:8px!important;
  padding:5px 10px!important;
  font-size:11px!important;
  font-weight:900!important;
}
.category-hotel .partner-card-meta{
  font-size:clamp(19px,1.7vw,25px)!important;
  letter-spacing:1px!important;
  color:#e39b00!important;
  text-shadow:1px 1px 0 var(--ink)!important;
  font-weight:900!important;
}
.category-industry .partner-card-meta{
  font-size:clamp(14px,1.08vw,17px)!important;
  line-height:1.28!important;
  font-weight:900!important;
  color:#5e6a76!important;
  white-space:normal!important;
  max-width:190px;
  text-align:right;
}

@media(max-width:980px){
  .all-partner-row{grid-template-columns:112px minmax(0,1fr) auto!important;min-height:112px!important}
  .all-partner-row .partner-thumb-wrap{width:112px!important;height:82px!important;min-width:112px!important}
}
@media(max-width:720px){
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot .map-city-label{
    display:block!important;
    font-size:10px!important;
    padding:4px 7px 5px!important;
    left:calc(50% + 22px)!important;
  }
  .all-partner-row{
    grid-template-columns:96px minmax(0,1fr)!important;
    min-height:108px!important;
    gap:12px!important;
    padding:12px 40px 12px 12px!important;
  }
  .all-partner-row .partner-thumb-wrap{width:96px!important;height:76px!important;min-width:96px!important;border-radius:13px!important}
  .partner-card-meta{grid-column:2!important;justify-self:start!important;text-align:left!important;margin-top:2px!important}
  .category-hotel .partner-card-meta{font-size:19px!important}
  .category-industry .partner-card-meta{font-size:14px!important;line-height:1.26!important;max-width:none}
  .category-industry .partner-row-copy>span:not(.partner-category-badge){font-size:13px!important}
}
@media(max-width:430px){
  .all-partner-row{grid-template-columns:88px minmax(0,1fr)!important}
  .all-partner-row .partner-thumb-wrap{width:88px!important;height:72px!important;min-width:88px!important}
  .all-partner-row .partner-row-copy strong{font-size:16px!important}
  .all-partner-row .partner-row-copy>span:not(.partner-category-badge){font-size:12px!important}
  .category-industry .partner-card-meta{font-size:13px!important;line-height:1.24!important}
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot .map-city-label{
    font-size:9px!important;
    padding:3px 6px 4px!important;
    left:calc(50% + 19px)!important;
  }
}

/* Keep neighboring city labels readable in the unified map. */
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="newtaipei"] .map-city-label,
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="keelung"] .map-city-label,
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="hsinchu"] .map-city-label{
  left:auto!important;
  right:calc(50% + 23px)!important;
}
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="yilan"] .map-city-label,
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="taichung"] .map-city-label,
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="tainan"] .map-city-label,
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="kaohsiung"] .map-city-label,
.taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="pingtung"] .map-city-label{
  right:auto!important;
  left:calc(50% + 23px)!important;
}
@media(max-width:430px){
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="newtaipei"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="keelung"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="hsinchu"] .map-city-label{
    right:calc(50% + 19px)!important;
  }
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="yilan"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="taichung"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="tainan"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="kaohsiung"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="pingtung"] .map-city-label{
    left:calc(50% + 19px)!important;
  }
}

/* Mobile city labels remain readable without crowding neighboring pins. */
@media(max-width:700px){
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot .map-city-label{
    display:block!important;
    opacity:1!important;
    background:#fff!important;
    color:#0f3d68!important;
    border:1.5px solid rgba(15,61,104,.22)!important;
    box-shadow:0 3px 9px rgba(11,55,82,.16)!important;
    font-size:10.5px!important;
    font-weight:900!important;
    line-height:1!important;
    padding:5px 7px 6px!important;
  }
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="newtaipei"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="hsinchu"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="kaohsiung"] .map-city-label{
    left:auto!important;
    right:calc(50% + 20px)!important;
  }
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="keelung"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="yilan"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="taichung"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="tainan"] .map-city-label,
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot[data-city-key="pingtung"] .map-city-label{
    right:auto!important;
    left:calc(50% + 20px)!important;
  }
}
@media(max-width:430px){
  .taiwan-map-final-stage[data-active-map-filter="all"] .taiwan-map-hotspot .map-city-label{
    font-size:9.5px!important;
    padding:4px 6px 5px!important;
  }
}

/* v127 — All-partners map pins use exactly the same responsive marker scale as Hotel & Resort / Industry & Manufacturing. */
