.elementor-425541 .elementor-element.elementor-element-719746a{--display:flex;}@media(min-width:768px){.elementor-425541 .elementor-element.elementor-element-719746a{--width:80%;}}/* Start custom CSS for shortcode, class: .elementor-element-435bc45 *//* ===== TCL Store Locator / Tech Style ===== */
.tcl-store-locator-tech,
.tcl-store-locator-tech .asl-cont {
  --tcl-bg: #071826;
  --tcl-bg-2: #0b2233;
  --tcl-panel: rgba(255,255,255,0.06);
  --tcl-panel-2: rgba(255,255,255,0.08);
  --tcl-border: rgba(32,196,244,0.18);
  --tcl-glow: rgba(32,196,244,0.22);
  --tcl-text: #dbe7ef;
  --tcl-muted: #90a8b8;
  --tcl-accent: #d72600;
  --tcl-accent-hover: #f13a10;
  --tcl-cyan: #20c4f4;
  --tcl-radius: 14px;
  --tcl-shadow: 0 12px 28px rgba(0,0,0,0.28), 0 0 0 1px rgba(32,196,244,0.08);
  color: var(--tcl-text);
  font-family: "Inter", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
}

/* 頁面外層 */
.tcl-store-locator-tech {
  background:
    radial-gradient(circle at top right, rgba(32,196,244,0.08), transparent 28%),
    linear-gradient(180deg, #06131d 0%, #0a1d2c 100%);
  padding: 24px;
  border-radius: 18px;
}

/* 標題區可搭配頁面標題使用 */
.tcl-store-locator-tech .elementor-heading-title {
  color: #f4f8fb;
  letter-spacing: 0.02em;
  font-weight: 700;
}

/* Locator 主框 */
.tcl-store-locator-tech .asl-cont {
  background: transparent;
}

/* 左側面板 / 卡片區 */
.tcl-store-locator-tech .asl-cont .asl-panel,
.tcl-store-locator-tech .asl-cont .sl-main-cont,
.tcl-store-locator-tech .asl-cont .store-list,
.tcl-store-locator-tech .asl-cont .sl-store,
.tcl-store-locator-tech .asl-cont .sl-item,
.tcl-store-locator-tech .asl-cont .sl-addr-sec,
.tcl-store-locator-tech .asl-cont .sl-info,
.tcl-store-locator-tech .asl-cont .sl-list {
  background: var(--tcl-panel) !important;
  border: 1px solid var(--tcl-border) !important;
  border-radius: var(--tcl-radius) !important;
  box-shadow: var(--tcl-shadow);
  color: var(--tcl-text) !important;
  backdrop-filter: blur(10px);
}

/* 搜尋框 */
.tcl-store-locator-tech .asl-cont input[type="text"],
.tcl-store-locator-tech .asl-cont input[type="search"],
.tcl-store-locator-tech .asl-cont select {
  background: rgba(255,255,255,0.04) !important;
  color: var(--tcl-text) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.tcl-store-locator-tech .asl-cont input[type="text"]::placeholder,
.tcl-store-locator-tech .asl-cont input[type="search"]::placeholder {
  color: var(--tcl-muted) !important;
}

/* focus */
.tcl-store-locator-tech .asl-cont input[type="text"]:focus,
.tcl-store-locator-tech .asl-cont input[type="search"]:focus,
.tcl-store-locator-tech .asl-cont select:focus {
  border-color: rgba(32,196,244,0.65) !important;
  box-shadow: 0 0 0 4px rgba(32,196,244,0.12) !important;
  outline: none !important;
}

/* 門市數量列 / 區塊標題 */
.tcl-store-locator-tech .asl-cont .sl-header,
.tcl-store-locator-tech .asl-cont .sl-cat-title,
.tcl-store-locator-tech .asl-cont .sl-title,
.tcl-store-locator-tech .asl-cont .sl-count {
  color: #ffffff !important;
}

/* 門市卡片 */
.tcl-store-locator-tech .asl-cont .sl-item {
  margin-bottom: 14px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.tcl-store-locator-tech .asl-cont .sl-item:hover {
  transform: translateY(-2px);
  border-color: rgba(32,196,244,0.4) !important;
  box-shadow: 0 16px 32px rgba(0,0,0,0.32), 0 0 0 1px rgba(32,196,244,0.12), 0 0 24px rgba(32,196,244,0.08);
}

/* 店名 */
.tcl-store-locator-tech .asl-cont .sl-item h3,
.tcl-store-locator-tech .asl-cont .sl-item h4,
.tcl-store-locator-tech .asl-cont .sl-title {
  color: #f4f8fb !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
}

/* 地址 / 電話 / 時間 */
.tcl-store-locator-tech .asl-cont .sl-item p,
.tcl-store-locator-tech .asl-cont .sl-item span,
.tcl-store-locator-tech .asl-cont .sl-item li,
.tcl-store-locator-tech .asl-cont .sl-addr-sec,
.tcl-store-locator-tech .asl-cont .info-addr-inner {
  color: var(--tcl-muted) !important;
  line-height: 1.65;
}

/* 類別標籤感 */
.tcl-store-locator-tech .asl-cont .sl-cat,
.tcl-store-locator-tech .asl-cont .sl-category,
.tcl-store-locator-tech .asl-cont .sl-tag {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(32,196,244,0.08);
  border: 1px solid rgba(32,196,244,0.2);
  color: #b9eefe !important;
  font-size: 12px;
  font-weight: 600;
}

/* 按鈕 */
.tcl-store-locator-tech .asl-cont button,
.tcl-store-locator-tech .asl-cont .btn,
.tcl-store-locator-tech .asl-cont a.sl-btn,
.tcl-store-locator-tech .asl-cont .sl-btn {
  background: linear-gradient(135deg, #d72600 0%, #f23d12 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 20px rgba(215,38,0,0.24);
  font-weight: 700;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.tcl-store-locator-tech .asl-cont button:hover,
.tcl-store-locator-tech .asl-cont .btn:hover,
.tcl-store-locator-tech .asl-cont a.sl-btn:hover,
.tcl-store-locator-tech .asl-cont .sl-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(215,38,0,0.32);
}

/* 地圖區 */
.tcl-store-locator-tech .asl-cont .sl-map,
.tcl-store-locator-tech .asl-cont .asl-map,
.tcl-store-locator-tech .asl-cont .google-map {
  border-radius: 18px !important;
  overflow: hidden;
  border: 1px solid rgba(32,196,244,0.18);
  box-shadow: var(--tcl-shadow);
}

/* 定位彈窗 / 浮窗 */
.tcl-store-locator-tech .asl-cont .sl-popup,
.tcl-store-locator-tech .asl-cont .prompt-modal,
.tcl-store-locator-tech .asl-cont .sl-modal,
.tcl-store-locator-tech .asl-cont .modal-content {
  background: rgba(10, 22, 34, 0.92) !important;
  color: var(--tcl-text) !important;
  border: 1px solid rgba(32,196,244,0.2) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 48px rgba(0,0,0,0.45);
  backdrop-filter: blur(14px);
}

/* 分隔線 */
.tcl-store-locator-tech .asl-cont hr,
.tcl-store-locator-tech .asl-cont .sl-item + .sl-item {
  border-color: rgba(255,255,255,0.08) !important;
}

/* 手機版 */
@media (max-width: 767px) {
  .tcl-store-locator-tech {
    padding: 12px;
    border-radius: 14px;
  }

  .tcl-store-locator-tech .asl-cont .sl-item {
    margin-bottom: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-719746a *//* =========================================================
   ASL 右上角「重置地圖」正確修正版
   重要：class 是 .asl-reset-map，不是 .asl.reset-map
   ========================================================= */

span.asl-reset-map,
.asl-reset-map {
  display: inline-block !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  margin: 0 !important;
  padding: 6px 10px !important;

  background: #ffffff !important;
  border: 1px solid rgba(32, 49, 61, 0.18) !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;

  color: #20313d !important;
  -webkit-text-fill-color: #20313d !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  opacity: 1 !important;

  white-space: nowrap !important;
  cursor: pointer !important;
  z-index: 999 !important;
}

span.asl-reset-map:hover,
.asl-reset-map:hover {
  color: #cb2800 !important;
  -webkit-text-fill-color: #cb2800 !important;
  border-color: rgba(203, 40, 0, 0.28) !important;
  box-shadow: 0 8px 18px rgba(203, 40, 0, 0.14) !important;
}


/* =========================================================
   Agile Store Locator - Final Integrated CSS
   說明：
   1. 請刪掉舊的 ASL CSS，只保留這一份
   2. 已整合搜尋區、門市數量列、卡片、地圖 popup、定位彈窗、X 關閉鈕
   ========================================================= */


/* =========================================================
   0) 基本容器 / 整體比例
   ========================================================= */

.asl-cont {
  max-width: 100% !important;
  color: #eaf4fb;
  font-family: "Inter", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
}

.asl-cont .sl-main-cont,
.asl-cont .sl-map,
.asl-cont .store-list,
.asl-cont .sl-list {
  min-height: 720px !important;
}

.asl-cont .sl-main-cont,
.asl-cont .sl-list,
.asl-cont .store-list {
  border-radius: 18px !important;
  overflow: hidden !important;
}

.asl-cont .sl-map,
.asl-cont .asl-map,
.asl-cont .google-map,
.asl-cont #asl-map-canv {
  min-height: 720px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* 左右欄比例 */
.asl-cont .pol-lg-4,
.asl-cont .pol-md-4,
.asl-cont .pol-sm-4,
.asl-cont .pol-4 {
  width: 31% !important;
  flex: 0 0 31% !important;
  max-width: 31% !important;
}

.asl-cont .pol-lg-8,
.asl-cont .pol-md-8,
.asl-cont .pol-sm-8,
.asl-cont .pol-8 {
  width: 69% !important;
  flex: 0 0 69% !important;
  max-width: 69% !important;
}

.asl-cont .sl-map-sec {
  width: 69% !important;
}

.asl-cont .sl-list-sec,
.asl-cont .sl-side-sec {
  width: 31% !important;
}


/* =========================================================
   1) 左側 panel 外框
   ========================================================= */

#asl-panel,
#asl-panel.asl-panel,
#asl-panel.asl-locator-panel {
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  background: #102739 !important;
  border-radius: 18px 18px 0 0 !important;
}

#asl-panel .asl-panel-inner {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
}


/* =========================================================
   2) 搜尋區
   實際結構：.location-search-filter
   ========================================================= */

#asl-panel .location-search-filter {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
  display: block !important;
  width: 100% !important;
}

/* 搜尋區主體 */
#asl-panel .location-search-filter .sl-search,
#asl-panel .location-search-filter .asl-search,
#asl-panel .location-search-filter .sl-search-cont,
#asl-panel .location-search-filter .asl-search-cont,
#asl-panel .location-search-filter .search-box,
#asl-panel .location-search-filter .search-form,
#asl-panel .location-search-filter > div {
  margin: 0 !important;
  padding: 12px 12px 10px 12px !important;
  background: #102739 !important;
  box-sizing: border-box !important;
  border-radius: 14px 14px 0 0 !important;
}

/* 清除 row / col 內縮 */
#asl-panel .location-search-filter .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#asl-panel .location-search-filter [class*="col-"],
#asl-panel .location-search-filter .pol-12,
#asl-panel .location-search-filter .pol-sm-12,
#asl-panel .location-search-filter .pol-md-12,
#asl-panel .location-search-filter .pol-lg-12 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 搜尋標題 */
#asl-panel .location-search-filter label,
#asl-panel .location-search-filter .sl-search-title,
#asl-panel .location-search-filter .search-label,
#asl-panel .location-search-filter .sl-label,
#asl-panel .location-search-filter p,
#asl-panel .location-search-filter span {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

#asl-panel .location-search-filter label,
#asl-panel .location-search-filter .sl-search-title,
#asl-panel .location-search-filter .search-label,
#asl-panel .location-search-filter .sl-label {
  display: block !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  letter-spacing: 0.01em !important;
}

/* 搜尋表單容器 */
#asl-panel .location-search-filter form,
#asl-panel .location-search-filter .input-group,
#asl-panel .location-search-filter .form-group,
#asl-panel .location-search-filter .sl-form-group {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* 搜尋輸入框 */
#asl-panel .location-search-filter input[type="text"],
#asl-panel .location-search-filter input[type="search"] {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 52px 0 14px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #20313d !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-sizing: border-box !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

#asl-panel .location-search-filter input[type="text"]::placeholder,
#asl-panel .location-search-filter input[type="search"]::placeholder {
  color: #7e94a3 !important;
  opacity: 1 !important;
}

/* 搜尋按鈕 */
#asl-panel .location-search-filter button,
#asl-panel .location-search-filter .search-btn,
#asl-panel .location-search-filter .s-search {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 12px 12px 0 !important;
  background: linear-gradient(135deg, #e22e00 0%, #ff5523 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 18px rgba(226,46,0,0.18) !important;
}

#asl-panel .location-search-filter button i,
#asl-panel .location-search-filter button svg,
#asl-panel .location-search-filter .search-btn i,
#asl-panel .location-search-filter .search-btn svg,
#asl-panel .location-search-filter .s-search i,
#asl-panel .location-search-filter .s-search svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  opacity: 1 !important;
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
}

#asl-panel .location-search-filter button i::before,
#asl-panel .location-search-filter .search-btn i::before,
#asl-panel .location-search-filter .s-search i::before {
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 18px !important;
}


/* =========================================================
   3) 紅色門市數量列
   實際結構：.top-title.Num_of_store
   ========================================================= */

#asl-panel .top-title.Num_of_store {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 44px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px 0 24px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 2 !important;
  border-top: 8px solid #102739 !important;
}

#asl-panel .top-title.Num_of_store > span:first-child {
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: inline-block !important;
}

/* 門市數量文字 */
#asl-panel .top-title.Num_of_store span {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

/* =========================================================
   4) 左側門市列表容器
   ========================================================= */

.asl-cont .sl-list,
.asl-cont .store-list {
  padding-bottom: 12px !important;
}


/* =========================================================
   5) 門市卡片
   ========================================================= */

.asl-cont .sl-item,
.asl-cont .sl-item-tech,
.asl-cont .sl-item.sl-item-tech {
  background: linear-gradient(180deg, #122C3F 0%, #0E2536 100%) !important;
  border: 1px solid rgba(90, 220, 255, 0.26) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.28), 0 0 0 1px rgba(90,220,255,0.06) !important;
  padding: 20px 18px 18px !important;
  margin-bottom: 14px !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

/* 店名 */
.asl-cont .sl-item .sl-addr-list-title,
.asl-cont .sl-item .sl-addr-list-title-tech,
.asl-cont .sl-item p.sl-addr-list-title,
.asl-cont .sl-item-tech .sl-addr-list-title,
.asl-cont .sl-item-tech .sl-addr-list-title-tech,
.asl-cont .sl-item-tech p.sl-addr-list-title,
#asl-panel .sl-item .sl-addr-list-title,
#asl-panel .sl-item .sl-addr-list-title-tech,
#asl-panel .sl-item p.sl-addr-list-title,
#asl-panel .sl-item-tech .sl-addr-list-title,
#asl-panel .sl-item-tech .sl-addr-list-title-tech,
#asl-panel .sl-item-tech p.sl-addr-list-title {
  color: #FFFFFF !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 16px !important;
  opacity: 1 !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.15) !important;
  padding-left: 8px !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
}

/* 卡片內文字 */
.asl-cont .sl-item,
.asl-cont .sl-item p,
.asl-cont .sl-item span,
.asl-cont .sl-item a,
.asl-cont .sl-item li,
.asl-cont .sl-item div,
.asl-cont .sl-item .txt-hours,
.asl-cont .sl-item .sl-addr,
.asl-cont .sl-item .sl-phone,
.asl-cont .sl-item .sl-email,
.asl-cont .sl-item .sl-hours,
.asl-cont .sl-item .sl-days,
.asl-cont .sl-item .sl-categories,
.asl-cont .sl-item .sl-categories-tech,
.asl-cont .sl-item .inner-cat-list,
.asl-cont .sl-item .inner-cat-list-tech,
.asl-cont .sl-item-tech,
.asl-cont .sl-item-tech p,
.asl-cont .sl-item-tech span,
.asl-cont .sl-item-tech a,
.asl-cont .sl-item-tech li,
.asl-cont .sl-item-tech div,
.asl-cont .sl-item-tech .txt-hours,
.asl-cont .sl-item-tech .sl-addr,
.asl-cont .sl-item-tech .sl-phone,
.asl-cont .sl-item-tech .sl-email,
.asl-cont .sl-item-tech .sl-hours,
.asl-cont .sl-item-tech .sl-days,
.asl-cont .sl-item-tech .sl-categories,
.asl-cont .sl-item-tech .sl-categories-tech,
.asl-cont .sl-item-tech .inner-cat-list,
.asl-cont .sl-item-tech .inner-cat-list-tech {
  color: #F3FAFF !important;
  opacity: 1 !important;
}

.asl-cont .sl-item .sl-desc-tech p,
.asl-cont .sl-item .sl-addr-sec-tech,
.asl-cont .sl-item .sl-addr-sec,
.asl-cont .sl-item-tech .sl-desc-tech p,
.asl-cont .sl-item-tech .sl-addr-sec-tech,
.asl-cont .sl-item-tech .sl-addr-sec {
  color: #EEF8FF !important;
  opacity: 1 !important;
}

/* 內容列 */
.asl-cont .sl-item .sl-meta-list-tech > li,
.asl-cont .sl-item ul > li,
.asl-cont .sl-item-tech .sl-meta-list-tech > li,
.asl-cont .sl-item-tech ul > li {
  margin-bottom: 12px !important;
  line-height: 1.7 !important;
}

.asl-cont .sl-item .sl-meta-list-tech > li i,
.asl-cont .sl-item ul > li i,
.asl-cont .sl-item-tech .sl-meta-list-tech > li i,
.asl-cont .sl-item-tech ul > li i {
  min-width: 18px !important;
  margin-right: 2px !important;
}

/* icon */
.asl-cont .sl-item i,
.asl-cont .sl-item .icon-location-1,
.asl-cont .sl-item .icon-mobile,
.asl-cont .sl-item .icon-mail,
.asl-cont .sl-item .icon-clock,
.asl-cont .sl-item .icon-calendar,
.asl-cont .sl-item .icon-tag,
.asl-cont .sl-item-tech i,
.asl-cont .sl-item-tech .icon-location-1,
.asl-cont .sl-item-tech .icon-mobile,
.asl-cont .sl-item-tech .icon-mail,
.asl-cont .sl-item-tech .icon-clock,
.asl-cont .sl-item-tech .icon-calendar,
.asl-cont .sl-item-tech .icon-tag {
  color: #7FE8FF !important;
  opacity: 1 !important;
}

.asl-cont .sl-item i::before,
.asl-cont .sl-item .icon-location-1::before,
.asl-cont .sl-item .icon-mobile::before,
.asl-cont .sl-item .icon-mail::before,
.asl-cont .sl-item .icon-clock::before,
.asl-cont .sl-item .icon-calendar::before,
.asl-cont .sl-item .icon-tag::before,
.asl-cont .sl-item-tech i::before,
.asl-cont .sl-item-tech .icon-location-1::before,
.asl-cont .sl-item-tech .icon-mobile::before,
.asl-cont .sl-item-tech .icon-mail::before,
.asl-cont .sl-item-tech .icon-clock::before,
.asl-cont .sl-item-tech .icon-calendar::before,
.asl-cont .sl-item-tech .icon-tag::before {
  color: #7FE8FF !important;
  opacity: 1 !important;
}

/* 類別 badge */
.asl-cont .sl-item .sl-categories,
.asl-cont .sl-item .sl-categories-tech,
.asl-cont .sl-item-tech .sl-categories,
.asl-cont .sl-item-tech .sl-categories-tech {
  color: #FFFFFF !important;
  opacity: 1 !important;
  margin-top: 4px !important;
}

.asl-cont .sl-item .inner-cat-list,
.asl-cont .sl-item .inner-cat-list-tech,
.asl-cont .sl-item-tech .inner-cat-list,
.asl-cont .sl-item-tech .inner-cat-list-tech {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.asl-cont .sl-item .inner-cat-list li,
.asl-cont .sl-item .inner-cat-list-tech li,
.asl-cont .sl-item .sl-cat-badge,
.asl-cont .sl-item-tech .inner-cat-list li,
.asl-cont .sl-item-tech .inner-cat-list-tech li,
.asl-cont .sl-item-tech .sl-cat-badge {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.asl-cont .sl-item .inner-cat-list li span,
.asl-cont .sl-item .inner-cat-list-tech li span,
.asl-cont .sl-item .sl-cat-badge span,
.asl-cont .sl-item-tech .inner-cat-list li span,
.asl-cont .sl-item-tech .inner-cat-list-tech li span,
.asl-cont .sl-item-tech .sl-cat-badge span {
  display: inline-block !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(127, 232, 255, 0.12) !important;
  border: 1px solid rgba(127, 232, 255, 0.22) !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02) !important;
}

.asl-cont .sl-item .sl-categories *,
.asl-cont .sl-item .sl-categories-tech *,
.asl-cont .sl-item .inner-cat-list *,
.asl-cont .sl-item .inner-cat-list-tech *,
.asl-cont .sl-item-tech .sl-categories *,
.asl-cont .sl-item-tech .sl-categories-tech *,
.asl-cont .sl-item-tech .inner-cat-list *,
.asl-cont .sl-item-tech .inner-cat-list-tech * {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* CTA */
.asl-cont .sl-item .sl-act-btns,
.asl-cont .sl-item .sl-act-btns-tech,
.asl-cont .sl-item-tech .sl-act-btns,
.asl-cont .sl-item-tech .sl-act-btns-tech {
  margin-top: 18px !important;
  gap: 10px !important;
}

.asl-cont .sl-item .btn,
.asl-cont .sl-item .s-direction,
.asl-cont .sl-item-tech .btn,
.asl-cont .sl-item-tech .s-direction {
  min-width: 78px !important;
  padding: 11px 16px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.asl-cont .sl-item .s-direction,
.asl-cont .sl-item-tech .s-direction {
  background: linear-gradient(135deg, #E22E00 0%, #FF5523 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 10px 22px rgba(226,46,0,0.28) !important;
}

/* hover */
.asl-cont .sl-item:hover,
.asl-cont .sl-item-tech:hover,
.asl-cont .sl-item.sl-item-tech:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(127, 232, 255, 0.42) !important;
  box-shadow:
    0 18px 36px rgba(0,0,0,0.34),
    0 0 0 1px rgba(127,232,255,0.08),
    0 0 26px rgba(127,232,255,0.10) !important;
}

.asl-cont .sl-item a:hover,
.asl-cont .sl-item-tech a:hover {
  color: #9AF0FF !important;
}


/* =========================================================
   6) 捲軸
   ========================================================= */

.asl-cont .sl-list::-webkit-scrollbar,
.asl-cont .store-list::-webkit-scrollbar {
  width: 10px !important;
}

.asl-cont .sl-list::-webkit-scrollbar-track,
.asl-cont .store-list::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.04) !important;
  border-radius: 999px !important;
}

.asl-cont .sl-list::-webkit-scrollbar-thumb,
.asl-cont .store-list::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #ff4b1f 0%, #cb2800 100%) !important;
  border-radius: 999px !important;
  border: 2px solid rgba(16,39,57,0.9) !important;
}


/* =========================================================
   7) Google Maps popup
   ========================================================= */

.gm-style .gm-style-iw-c {
  border-radius: 18px !important;
  padding: 0 !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.20) !important;
}

.gm-style .gm-style-iw-d {
  overflow: auto !important;
}

.gm-style .gm-style-iw-d > div,
.gm-style .gm-style-iw-d > div > div {
  padding: 22px 22px 18px !important;
}

.gm-style .gm-style-iw-d h3,
.gm-style .gm-style-iw-d h4,
.gm-style .gm-style-iw-d .sl-title,
.gm-style .gm-style-iw-d .sl-addr-list-title {
  font-size: 21px !important;
  font-weight: 700 !important;
  color: #c62800 !important;
  margin-bottom: 14px !important;
}

.gm-style .gm-style-iw-d,
.gm-style .gm-style-iw-d p,
.gm-style .gm-style-iw-d span,
.gm-style .gm-style-iw-d li,
.gm-style .gm-style-iw-d a {
  color: #2f3c46 !important;
  line-height: 1.7 !important;
}

.gm-style .gm-style-iw-d .btn,
.gm-style .gm-style-iw-d .s-direction {
  border-radius: 12px !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
}


/* =========================================================
   8) 中央定位彈窗
   實際結構：
   #asl-geolocation-agile-modal > .agile-modal-dialog > .agile-modal-content
   ========================================================= */

#asl-geolocation-agile-modal.agile-modal {
  display: block;
}

#asl-geolocation-agile-modal .agile-modal-dialog {
  max-width: 420px !important;
  margin: 80px auto !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

#asl-geolocation-agile-modal .agile-modal-content {
  background: #ffffff !important;
  border-radius: 18px !important;
  padding: 28px 24px 22px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.22) !important;
  text-align: center !important;
  color: #1f2f3b !important;
  position: relative !important;
}

/* =========================================================
   ASL X 關閉鈕：最穩定版
   不用 pseudo-element，直接用 background 畫白色 X
   ========================================================= */

#asl-geolocation-agile-modal .agile-modal-content {
  position: relative !important;
}

#asl-geolocation-agile-modal button.close-directions.sl-close {
  position: absolute !important;
  top: 10px !important;
  right: 14px !important;

  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;

  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  /* 紅底 + 兩條白線畫 X */
  background:
    linear-gradient(45deg,
      transparent 43%,
      #ffffff 43%,
      #ffffff 57%,
      transparent 57%
    ),
    linear-gradient(-45deg,
      transparent 43%,
      #ffffff 43%,
      #ffffff 57%,
      transparent 57%
    ),
    #f4511e !important;

  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-size: 14px 14px, 14px 14px, auto !important;
  background-position: center center, center center, center center !important;

  box-shadow: 0 8px 18px rgba(244, 81, 30, 0.28) !important;
  overflow: hidden !important;
  z-index: 20 !important;

  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
}

/* 關掉舊的 pseudo-element，避免互打 */
#asl-geolocation-agile-modal button.close-directions.sl-close::before,
#asl-geolocation-agile-modal button.close-directions.sl-close::after {
  content: none !important;
  display: none !important;
}

/* hover */
#asl-geolocation-agile-modal button.close-directions.sl-close:hover,
#asl-geolocation-agile-modal button.close-directions.sl-close:focus {
  background:
    linear-gradient(45deg,
      transparent 43%,
      #ffffff 43%,
      #ffffff 57%,
      transparent 57%
    ),
    linear-gradient(-45deg,
      transparent 43%,
      #ffffff 43%,
      #ffffff 57%,
      transparent 57%
    ),
    #ff5a2b !important;

  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-size: 14px 14px, 14px 14px, auto !important;
  background-position: center center, center center, center center !important;
}


/* icon 區 */
#asl-geolocation-agile-modal .sl-loc-icon {
  margin: 0 auto 14px !important;
}

/* 標題 */
#asl-geolocation-agile-modal .agile-modal-content h1,
#asl-geolocation-agile-modal .agile-modal-content h2,
#asl-geolocation-agile-modal .agile-modal-content h3,
#asl-geolocation-agile-modal .agile-modal-content h4 {
  color: #122c3f !important;
  font-size: 24px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  opacity: 1 !important;
}

/* 內文 */
#asl-geolocation-agile-modal .agile-modal-content p,
#asl-geolocation-agile-modal .agile-modal-content span,
#asl-geolocation-agile-modal .agile-modal-content div {
  color: #2b3d4a !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  opacity: 1 !important;
}

/* 按鈕區 */
#asl-geolocation-agile-modal .sl-form-group.text-center,
#asl-geolocation-agile-modal .text-center {
  margin-top: 16px !important;
}

/* 彈窗按鈕 */
#asl-geolocation-agile-modal button:not(.close-directions),
#asl-geolocation-agile-modal .btn {
  background: linear-gradient(135deg, #e22e00 0%, #ff5523 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 10px 18px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 22px rgba(226,46,0,.22) !important;
}

/* 背景遮罩 */
#asl-geolocation-agile-modal + .agile-modal-backdrop,
#asl-geolocation-agile-modal .agile-modal-backdrop,
.agile-modal-backdrop.in {
  background: rgba(6,19,29,.45) !important;
}


/* =========================================================
   9) 響應式
   ========================================================= */

@media (min-width: 1400px) {
  .asl-cont .sl-main-cont,
  .asl-cont .sl-map,
  .asl-cont .store-list,
  .asl-cont .sl-list {
    min-height: 780px !important;
  }

  .asl-cont .sl-map,
  .asl-cont .asl-map,
  .asl-cont .google-map,
  .asl-cont #asl-map-canv {
    min-height: 780px !important;
  }

  .asl-cont .pol-lg-4,
  .asl-cont .pol-md-4,
  .asl-cont .pol-sm-4,
  .asl-cont .pol-4 {
    width: 30% !important;
    flex: 0 0 30% !important;
    max-width: 30% !important;
  }

  .asl-cont .pol-lg-8,
  .asl-cont .pol-md-8,
  .asl-cont .pol-sm-8,
  .asl-cont .pol-8 {
    width: 70% !important;
    flex: 0 0 70% !important;
    max-width: 70% !important;
  }
}

@media (max-width: 1024px) {
  .asl-cont .sl-main-cont,
  .asl-cont .sl-map,
  .asl-cont .store-list,
  .asl-cont .sl-list {
    min-height: 620px !important;
  }

  .asl-cont .sl-map,
  .asl-cont .asl-map,
  .asl-cont .google-map,
  .asl-cont #asl-map-canv {
    min-height: 620px !important;
  }
}

@media (max-width: 767px) {
  .asl-cont .pol-lg-4,
  .asl-cont .pol-md-4,
  .asl-cont .pol-sm-4,
  .asl-cont .pol-4,
  .asl-cont .pol-lg-8,
  .asl-cont .pol-md-8,
  .asl-cont .pol-sm-8,
  .asl-cont .pol-8,
  .asl-cont .sl-map-sec,
  .asl-cont .sl-list-sec,
  .asl-cont .sl-side-sec {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .asl-cont .sl-map,
  .asl-cont .asl-map,
  .asl-cont .google-map,
  .asl-cont #asl-map-canv {
    min-height: 420px !important;
  }

  #asl-panel,
  #asl-panel.asl-panel,
  #asl-panel.asl-locator-panel {
    padding: 10px !important;
  }

  #asl-panel .location-search-filter .sl-search,
  #asl-panel .location-search-filter .asl-search,
  #asl-panel .location-search-filter .sl-search-cont,
  #asl-panel .location-search-filter .asl-search-cont,
  #asl-panel .location-search-filter .search-box,
  #asl-panel .location-search-filter .search-form,
  #asl-panel .location-search-filter > div {
    padding: 12px 12px 10px 12px !important;
  }

  .asl-cont .sl-item,
  .asl-cont .sl-item-tech,
  .asl-cont .sl-item.sl-item-tech {
    padding: 16px 14px 14px !important;
    border-radius: 16px !important;
  }

  .asl-cont .sl-item .sl-addr-list-title,
  .asl-cont .sl-item .sl-addr-list-title-tech,
  .asl-cont .sl-item p.sl-addr-list-title,
  .asl-cont .sl-item-tech .sl-addr-list-title,
  .asl-cont .sl-item-tech .sl-addr-list-title-tech,
  .asl-cont .sl-item-tech p.sl-addr-list-title,
  #asl-panel .sl-item .sl-addr-list-title,
  #asl-panel .sl-item .sl-addr-list-title-tech,
  #asl-panel .sl-item p.sl-addr-list-title,
  #asl-panel .sl-item-tech .sl-addr-list-title,
  #asl-panel .sl-item-tech .sl-addr-list-title-tech,
  #asl-panel .sl-item-tech p.sl-addr-list-title {
    font-size: 19px !important;
  }
}
/* =========================================================
   ASL Map Popup 文字可讀性修正
   只修地圖點門市後的 popup
   ========================================================= */

/* popup 內一般文字 */
.gm-style .gm-style-iw-d,
.gm-style .gm-style-iw-d p,
.gm-style .gm-style-iw-d span,
.gm-style .gm-style-iw-d div,
.gm-style .gm-style-iw-d li,
.gm-style .gm-style-iw-d a {
  color: #2f3c46 !important;
  opacity: 1 !important;
}

/* 營業時間 / 星期這兩種常見欄位 */
.gm-style .gm-style-iw-d .txt-hours,
.gm-style .gm-style-iw-d .sl-hours,
.gm-style .gm-style-iw-d .sl-days,
.gm-style .gm-style-iw-d .sl-hours *,
.gm-style .gm-style-iw-d .sl-days *,
.gm-style .gm-style-iw-d .sl-meta-list-tech *,
.gm-style .gm-style-iw-d ul li,
.gm-style .gm-style-iw-d ul li span {
  color: #4a5a66 !important;
  opacity: 1 !important;
}

/* icon 也補深一點，避免太淡 */
.gm-style .gm-style-iw-d i,
.gm-style .gm-style-iw-d i::before {
  color: #7a4b2a !important;
  opacity: 1 !important;
}
/* =========================================================
   ASL Popup 文字可讀性 - HARD OVERRIDE
   只修地圖點門市後的白底 popup
   ========================================================= */

/* popup 內容區：除標題、按鈕外，其餘文字全部強制深色 */
.gm-style .gm-style-iw-d,
.gm-style .gm-style-iw-d p,
.gm-style .gm-style-iw-d span,
.gm-style .gm-style-iw-d div,
.gm-style .gm-style-iw-d li,
.gm-style .gm-style-iw-d ul,
.gm-style .gm-style-iw-d strong,
.gm-style .gm-style-iw-d small,
.gm-style .gm-style-iw-d .txt-hours,
.gm-style .gm-style-iw-d .sl-hours,
.gm-style .gm-style-iw-d .sl-days,
.gm-style .gm-style-iw-d .sl-hours *,
.gm-style .gm-style-iw-d .sl-days *,
.gm-style .gm-style-iw-d .txt-hours *,
.gm-style .gm-style-iw-d [class*="hour"],
.gm-style .gm-style-iw-d [class*="day"],
.gm-style .gm-style-iw-d [style] {
  color: #4a5a66 !important;
  -webkit-text-fill-color: #4a5a66 !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}

/* popup 標題維持紅色 */
.gm-style .gm-style-iw-d h3,
.gm-style .gm-style-iw-d h4,
.gm-style .gm-style-iw-d .sl-title,
.gm-style .gm-style-iw-d .sl-addr-list-title {
  color: #c62800 !important;
  -webkit-text-fill-color: #c62800 !important;
  opacity: 1 !important;
}

/* popup 地址/電話主文字加深 */
.gm-style .gm-style-iw-d a,
.gm-style .gm-style-iw-d .sl-addr,
.gm-style .gm-style-iw-d .sl-phone,
.gm-style .gm-style-iw-d .sl-phone a,
.gm-style .gm-style-iw-d .sl-addr span,
.gm-style .gm-style-iw-d .sl-phone span {
  color: #2f3c46 !important;
  -webkit-text-fill-color: #2f3c46 !important;
  opacity: 1 !important;
}

/* 時間 / 星期這兩行再單獨補一次 */
.gm-style .gm-style-iw-d .sl-hours,
.gm-style .gm-style-iw-d .sl-days,
.gm-style .gm-style-iw-d .txt-hours,
.gm-style .gm-style-iw-d .sl-hours span,
.gm-style .gm-style-iw-d .sl-days span,
.gm-style .gm-style-iw-d .txt-hours span,
.gm-style .gm-style-iw-d li.sl-hours,
.gm-style .gm-style-iw-d li.sl-days {
  color: #4a5a66 !important;
  -webkit-text-fill-color: #4a5a66 !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

/* popup icon 顏色 */
.gm-style .gm-style-iw-d i,
.gm-style .gm-style-iw-d i::before,
.gm-style .gm-style-iw-d .icon-clock,
.gm-style .gm-style-iw-d .icon-clock::before,
.gm-style .gm-style-iw-d .icon-calendar,
.gm-style .gm-style-iw-d .icon-calendar::before,
.gm-style .gm-style-iw-d .icon-location-1,
.gm-style .gm-style-iw-d .icon-location-1::before,
.gm-style .gm-style-iw-d .icon-mobile,
.gm-style .gm-style-iw-d .icon-mobile::before {
  color: #b85a21 !important;
  -webkit-text-fill-color: #b85a21 !important;
  opacity: 1 !important;
}

/* popup 按鈕保持紅底白字 */
.gm-style .gm-style-iw-d .btn,
.gm-style .gm-style-iw-d .btn *,
.gm-style .gm-style-iw-d .s-direction,
.gm-style .gm-style-iw-d .s-direction * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
/* =========================================================
   ASL Popup：只修正彈出視窗文字顏色
   ========================================================= */

/* Popup 主要文字 */
.asl-cont .infoWindow,
.asl-cont .infoWindowContent,
.asl-cont .infoWindowContent h3,
.asl-cont .infoWindowContent h4,
.asl-cont .infoWindowContent p,
.asl-cont .infoWindowContent div,
.asl-cont .infoWindowContent span,
.asl-cont .infoWindowContent li,
.asl-cont .infoWindowContent a,
.asl-cont .infoWindowContent strong,
.asl-cont .infoWindowContent b {
  color: #20313d !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* 地址 / 電話 / 營業時間 這類明細文字 */
.asl-cont .infoWindowContent .info-addr,
.asl-cont .infoWindowContent .info-addr *,
.asl-cont .infoWindowContent .info-addr-inner,
.asl-cont .infoWindowContent .info-addr-inner *,
.asl-cont .infoWindowContent span.txt-hours,
.asl-cont .infoWindowContent span.txt-address,
.asl-cont .infoWindowContent span.txt-phone,
.asl-cont .infoWindowContent span[class*="txt-"] {
  color: #20313d !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* 若營業時間想比標題再柔一點，可用稍深灰藍 */
.asl-cont .infoWindowContent span.txt-hours {
  color: #4a5a66 !important;
}

/* popup 內圖示一起加深，避免看起來太淡 */
.asl-cont .infoWindowContent i,
.asl-cont .infoWindowContent i::before,
.asl-cont .infoWindowContent .fa,
.asl-cont .infoWindowContent .fa::before {
  color: #7a4b2a !important;
  opacity: 1 !important;
}
/* =========================================================
   ASL 右上角「重置地圖」最終修正版
   直接隱藏原字，改用 ::before 重畫，避免被 .asl 淡色規則覆蓋
   ========================================================= */

/* 外層容器 */
.asl-cont .asl-map div[style*="right: 8px"][style*="top: 0px"],
.asl-cont .gm-style div[style*="right: 8px"][style*="top: 0px"] {
  z-index: 30 !important;
}

/* 原本的 span */
.asl-cont .asl-map div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map,
.asl-cont .gm-style div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map,
.asl-cont span.asl.reset-map {
  position: relative !important;
  display: inline-block !important;
  min-width: auto !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(32, 49, 61, 0.18) !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;

  /* 把原本文字藏掉，避免淡藍字殘留 */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
  opacity: 1 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

/* 重畫可讀文字 */
.asl-cont .asl-map div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map::before,
.asl-cont .gm-style div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map::before,
.asl-cont span.asl.reset-map::before {
  content: "重置地圖" !important;
  display: inline-block !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #20313d !important;
  -webkit-text-fill-color: #20313d !important;
  text-shadow: none !important;
  letter-spacing: 0 !important;
}

/* hover */
.asl-cont .asl-map div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map:hover,
.asl-cont .gm-style div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map:hover,
.asl-cont span.asl.reset-map:hover {
  border-color: rgba(203, 40, 0, 0.28) !important;
  box-shadow: 0 8px 18px rgba(203, 40, 0, 0.14) !important;
}

.asl-cont .asl-map div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map:hover::before,
.asl-cont .gm-style div[style*="right: 8px"][style*="top: 0px"] > span.asl.reset-map:hover::before,
.asl-cont span.asl.reset-map:hover::before {
  color: #cb2800 !important;
  -webkit-text-fill-color: #cb2800 !important;
}
/* =========================================================
   ASL 搜尋列送出按鈕 icon 改回白色
   ========================================================= */

/* 搜尋按鈕本體 */
#asl-panel .location-search-filter button,
#asl-panel .sl-search button,
#asl-panel .asl-search button,
#asl-panel .location-search-filter .search-btn,
#asl-panel .sl-search .search-btn,
#asl-panel .asl-search .search-btn {
  color: #ffffff !important;
}

/* 搜尋按鈕裡的 icon / svg / font icon */
#asl-panel .location-search-filter button i,
#asl-panel .location-search-filter button i::before,
#asl-panel .location-search-filter button svg,
#asl-panel .location-search-filter button svg *,

#asl-panel .sl-search button i,
#asl-panel .sl-search button i::before,
#asl-panel .sl-search button svg,
#asl-panel .sl-search button svg *,

#asl-panel .asl-search button i,
#asl-panel .asl-search button i::before,
#asl-panel .asl-search button svg,
#asl-panel .asl-search button svg *,

#asl-panel .location-search-filter .search-btn i,
#asl-panel .location-search-filter .search-btn i::before,
#asl-panel .location-search-filter .search-btn svg,
#asl-panel .location-search-filter .search-btn svg * {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
  opacity: 1 !important;
}
/* =========================================================
   A. 搜尋列右側定位 / 送出按鈕 icon 改回白色
   實際結構：
   button.asl-geo-event.input-group-text.span-geo > i.icon-direction-outline
   ========================================================= */

#asl-panel button.asl-geo-event.input-group-text.span-geo,
#asl-panel .input-group-append > button.asl-geo-event,
#asl-panel .input-group-append > button.span-geo {
  color: #ffffff !important;
}

#asl-panel button.asl-geo-event.input-group-text.span-geo i.icon-direction-outline,
#asl-panel button.asl-geo-event.input-group-text.span-geo i.icon-direction-outline::before,
#asl-panel .input-group-append > button.asl-geo-event i.icon-direction-outline,
#asl-panel .input-group-append > button.asl-geo-event i.icon-direction-outline::before,
#asl-panel .input-group-append > button.span-geo i.icon-direction-outline,
#asl-panel .input-group-append > button.span-geo i.icon-direction-outline::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
/* 路線按鈕 hover：科技感發光版 */
#asl-panel .sl-item .s-direction:hover,
#asl-panel .sl-item .s-direction:focus,
#asl-panel .sl-item-tech .s-direction:hover,
#asl-panel .sl-item-tech .s-direction:focus,
#asl-panel .sl-item a.s-direction:hover,
#asl-panel .sl-item-tech a.s-direction:hover {
  background: linear-gradient(135deg, #ff5a2b 0%, #e22e00 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow:
    0 12px 22px rgba(226,46,0,0.26),
    0 0 16px rgba(255,122,69,0.18) !important;
  transform: translateY(-1px) !important;
}

#asl-panel .sl-item .s-direction:hover *,
#asl-panel .sl-item .s-direction:focus *,
#asl-panel .sl-item-tech .s-direction:hover *,
#asl-panel .sl-item-tech .s-direction:focus *,
#asl-panel .sl-item a.s-direction:hover *,
#asl-panel .sl-item-tech a.s-direction:hover * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* =========================================================
   手機版：ASL 地圖滿版，避免 Google/條款文字被裁切
   ========================================================= */
@media (max-width: 767px) {

  /* 整個 shortcode / 外層不要再有左右內距 */
  .asl-cont,
  .asl-cont .container-fluid,
  .asl-cont .sl-main-cont,
  .asl-cont .sl-main-row,
  .asl-cont .sl-map-sec,
  .asl-cont .asl-map,
  .asl-cont .map-image,
  .asl-cont #asl-map-canv,
  .asl-cont .asl-map-canv {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* 地圖區塊改成手機滿版 */
  .asl-cont .sl-map-sec,
  .asl-cont .pol-lg-8,
  .asl-cont .pol-md-8,
  .asl-cont .pol-sm-8,
  .asl-cont .pol-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* 關鍵：手機版不要用圓角 + overflow hidden 去裁地圖 */
  .asl-cont .sl-map,
  .asl-cont .asl-map,
  .asl-cont .map-image,
  .asl-cont #asl-map-canv,
  .asl-cont .asl-map-canv {
    border-radius: 0 !important;
    overflow: visible !important;
    min-height: 420px !important;
  }

  /* 若最外層卡住，可把地圖拉到螢幕邊緣 */
  .asl-cont .sl-map-sec {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* 左側清單在手機版放回正常寬度 */
  #asl-panel,
  #asl-panel.asl-panel,
  #asl-panel.asl-locator-panel {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }
}
/* =========================================================
   手機版：讓 ASL 整個 shortcode 外層真正滿版
   ========================================================= */
@media (max-width: 767px) {

  /* Elementor / 內容區外層取消左右限制 */
  .elementor-widget-shortcode,
  .elementor-widget-shortcode .elementor-widget-container,
  .elementor .elementor-container,
  .elementor .e-con,
  .site-main,
  .entry-content,
  .elementor-location-single,
  .elementor-page {
    max-width: 100% !important;
  }

  /* 把放 ASL 的 shortcode 元件拉成真正滿版 */
  .elementor-widget-shortcode {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-widget-shortcode .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ASL 本體也一起貼邊 */
  .asl-cont,
  .asl-cont .container-fluid,
  .asl-cont .sl-main-cont,
  .asl-cont .sl-main-row,
  .asl-cont .sl-map-sec,
  .asl-cont .sl-list-sec,
  .asl-cont .sl-side-sec {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* =========================================================
   桌機 / 平板：還原正常寬度，避免左右吃版
   手機：才保留滿版
   ========================================================= */

/* 1) 桌機與平板還原，不要用 100vw 拉爆 */
@media (min-width: 768px) {

  .elementor-widget-shortcode,
  .elementor-widget-shortcode .elementor-widget-container,
  .asl-cont,
  .asl-cont .container-fluid,
  .asl-cont .sl-main-cont,
  .asl-cont .sl-main-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }

  /* 關鍵：取消桌機版的 100vw 滿版拉伸 */
  .elementor-widget-shortcode {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 還原左右欄比例 */
  .asl-cont .sl-list-sec,
  .asl-cont .sl-side-sec,
  .asl-cont .pol-lg-4,
  .asl-cont .pol-md-4,
  .asl-cont .pol-sm-4,
  .asl-cont .pol-4,
  #asl-panel {
    width: 31% !important;
    max-width: 31% !important;
    flex: 0 0 31% !important;
  }

  .asl-cont .sl-map-sec,
  .asl-cont .pol-lg-8,
  .asl-cont .pol-md-8,
  .asl-cont .pol-sm-8,
  .asl-cont .pol-8 {
    width: 69% !important;
    max-width: 69% !important;
    flex: 0 0 69% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 桌機版保留原本圓角與裁切 */
  .asl-cont .sl-map,
  .asl-cont .asl-map,
  .asl-cont .map-image,
  .asl-cont #asl-map-canv,
  .asl-cont .asl-map-canv {
    border-radius: 18px !important;
    overflow: hidden !important;
  }
}

/* 2) 手機版才真正滿版 */
@media (max-width: 767px) {

  .elementor-widget-shortcode {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-widget-shortcode .elementor-widget-container,
  .asl-cont,
  .asl-cont .container-fluid,
  .asl-cont .sl-main-cont,
  .asl-cont .sl-main-row,
  .asl-cont .sl-map-sec,
  .asl-cont .sl-list-sec,
  .asl-cont .sl-side-sec {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .asl-cont .sl-map-sec,
  .asl-cont .pol-lg-8,
  .asl-cont .pol-md-8,
  .asl-cont .pol-sm-8,
  .asl-cont .pol-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .asl-cont .sl-map,
  .asl-cont .asl-map,
  .asl-cont .map-image,
  .asl-cont #asl-map-canv,
  .asl-cont .asl-map-canv {
    border-radius: 0 !important;
    overflow: visible !important;
    min-height: 420px !important;
  }

  #asl-panel,
  #asl-panel.asl-panel,
  #asl-panel.asl-locator-panel {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }
}
/* =========================================================
   ASL 篩選列樣式
   適用：搜尋地點 / 依商品篩選 / 依縣市篩選
   ========================================================= */

/* 最上方整列 */
.asl-cont .filter_section {
  background: #102739 !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 18px 16px 14px !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* row / 欄位間距 */
.asl-cont .filter_section .row {
  margin-left: -8px !important;
  margin-right: -8px !important;
  align-items: end !important;
}

.asl-cont .filter_section [class*="col-"] {
  padding-left: 8px !important;
  padding-right: 8px !important;
  margin-bottom: 0 !important;
}

/* 標題 */
.asl-cont .filter_section label,
.asl-cont .filter_section .mb-2,
.asl-cont .filter_section .sl-label {
  display: block !important;
  margin: 0 0 8px 0 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
}

/* =========================================================
   搜尋地點欄
   DevTools 結構：
   .search_filter > .sl-search-group.input-group.d-flex
   > span.twitter-typeahead + .input-group-append
   ========================================================= */

.asl-cont .search_filter .sl-search-group,
.asl-cont .search_filter .input-group,
.asl-cont .search_filter .sl-search-group.input-group.d-flex {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  gap: 0 !important;
}

/* 關鍵：修正 twitter-typeahead 寬度塌掉 */
.asl-cont .search_filter .twitter-typeahead {
  position: relative !important;
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* 搜尋輸入框 */
.asl-cont .search_filter .twitter-typeahead input,
.asl-cont .search_filter .twitter-typeahead .tt-input,
.asl-cont .search_filter .twitter-typeahead .tt-hint,
.asl-cont .search_filter input[type="text"],
.asl-cont .search_filter input[type="search"] {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  background: #ffffff !important;
  color: #20313d !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-right: none !important;
  border-radius: 12px 0 0 12px !important;
  box-sizing: border-box !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
  font-size: 14px !important;
}

.asl-cont .search_filter .twitter-typeahead input::placeholder,
.asl-cont .search_filter input[type="text"]::placeholder,
.asl-cont .search_filter input[type="search"]::placeholder {
  color: #7e94a3 !important;
  opacity: 1 !important;
}

/* 右側搜尋 / 定位按鈕 */
.asl-cont .search_filter .input-group-append {
  display: flex !important;
  flex: 0 0 46px !important;
  width: 46px !important;
}

.asl-cont .search_filter .input-group-append button,
.asl-cont .search_filter button.asl-geo-event,
.asl-cont .search_filter button.span-geo,
.asl-cont .search_filter .input-group-text.span-geo {
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 12px 12px 0 !important;
  background: linear-gradient(135deg, #E22E00 0%, #FF5523 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 18px rgba(226,46,0,0.18) !important;
}

/* 搜尋按鈕圖示固定白色 */
.asl-cont .search_filter .input-group-append button i,
.asl-cont .search_filter .input-group-append button i::before,
.asl-cont .search_filter button.asl-geo-event i,
.asl-cont .search_filter button.asl-geo-event i::before,
.asl-cont .search_filter .icon-direction-outline,
.asl-cont .search_filter .icon-direction-outline::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

/* =========================================================
   下拉選單欄位
   支援一般 select / form-control / select2
   ========================================================= */

.asl-cont .filter_section select,
.asl-cont .filter_section .form-control,
.asl-cont .filter_section .asl-select,
.asl-cont .filter_section .sl-select {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 40px 0 14px !important;
  background: #ffffff !important;
  color: #20313d !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

/* select2 */
.asl-cont .filter_section .select2-container {
  width: 100% !important;
}

.asl-cont .filter_section .select2-container .select2-selection--single {
  height: 46px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 12px !important;
}

.asl-cont .filter_section .select2-container .select2-selection__rendered {
  color: #20313d !important;
  line-height: 46px !important;
  padding-left: 14px !important;
  padding-right: 38px !important;
  font-size: 14px !important;
}

.asl-cont .filter_section .select2-container .select2-selection__arrow {
  height: 46px !important;
  right: 10px !important;
}

.asl-cont .filter_section .select2-container .select2-selection__arrow b {
  border-color: #20313d transparent transparent transparent !important;
}

/* hover / focus */
.asl-cont .filter_section input:focus,
.asl-cont .filter_section select:focus,
.asl-cont .filter_section .form-control:focus,
.asl-cont .filter_section .select2-container--default.select2-container--open .select2-selection--single,
.asl-cont .filter_section .select2-container--default .select2-selection--single:focus {
  outline: none !important;
  border-color: rgba(226,46,0,0.45) !important;
  box-shadow: 0 0 0 3px rgba(226,46,0,0.10) !important;
}

/* dropdown 選單面板 */
.select2-dropdown {
  border: 1px solid rgba(16,39,57,0.14) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 28px rgba(0,0,0,0.16) !important;
}

.select2-results__option {
  font-size: 14px !important;
  color: #20313d !important;
}

.select2-results__option--highlighted[aria-selected] {
  background: #E22E00 !important;
  color: #ffffff !important;
}

/* =========================================================
   與下方紅色門市數量列銜接
   ========================================================= */

#asl-panel .top-title.Num_of_store,
.asl-cont .top-title.Num_of_store {
  border-top: 8px solid #102739 !important;
}

/* =========================================================
   手機版
   ========================================================= */
@media (max-width: 767px) {
  .asl-cont .filter_section {
    padding: 14px 12px 12px !important;
    border-radius: 0 !important;
  }

  .asl-cont .filter_section [class*="col-"] {
    margin-bottom: 12px !important;
  }

  .asl-cont .filter_section [class*="col-"]:last-child {
    margin-bottom: 0 !important;
  }

  .asl-cont .search_filter .twitter-typeahead input,
  .asl-cont .search_filter .twitter-typeahead .tt-input,
  .asl-cont .search_filter .twitter-typeahead .tt-hint,
  .asl-cont .search_filter input[type="text"],
  .asl-cont .search_filter input[type="search"],
  .asl-cont .filter_section select,
  .asl-cont .filter_section .form-control {
    font-size: 16px !important;
  }
}
/* =========================================================
   ASL 篩選列寬度修正
   重要：實際 class 可能是 Filter_section（大寫 F）
   ========================================================= */

/* 外層真正命中：同時支援大寫/小寫 */
.asl-cont .sl-row.Filter_section,
.asl-cont .sl-row.filter_section {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 18px 16px 14px !important;
  background: #102739 !important;
  border-radius: 18px 18px 0 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  align-items: end !important;
}

/* 子欄位：注意是 pol- 不是 col- */
.asl-cont .sl-row.Filter_section > [class*="pol-"],
.asl-cont .sl-row.filter_section > [class*="pol-"] {
  padding-left: 8px !important;
  padding-right: 8px !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* 第一欄 / 最後一欄貼齊 */
.asl-cont .sl-row.Filter_section > [class*="pol-"]:first-child,
.asl-cont .sl-row.filter_section > [class*="pol-"]:first-child {
  padding-left: 0 !important;
}

.asl-cont .sl-row.Filter_section > [class*="pol-"]:last-child,
.asl-cont .sl-row.filter_section > [class*="pol-"]:last-child {
  padding-right: 0 !important;
}

/* 搜尋欄和下拉欄高度統一 */
.asl-cont .sl-row.Filter_section input[type="text"],
.asl-cont .sl-row.Filter_section input[type="search"],
.asl-cont .sl-row.Filter_section .tt-input,
.asl-cont .sl-row.Filter_section .tt-hint,
.asl-cont .sl-row.Filter_section select,
.asl-cont .sl-row.Filter_section .form-control,
.asl-cont .sl-row.filter_section input[type="text"],
.asl-cont .sl-row.filter_section input[type="search"],
.asl-cont .sl-row.filter_section .tt-input,
.asl-cont .sl-row.filter_section .tt-hint,
.asl-cont .sl-row.filter_section select,
.asl-cont .sl-row.filter_section .form-control {
  min-height: 46px !important;
  height: 46px !important;
}

/* 和下方紅色門市數量列銜接 */
#asl-panel .top-title.Num_of_store,
.asl-cont .top-title.Num_of_store {
  border-top: 8px solid #102739 !important;
}
/* =========================================================
   篩選列：上下四角都做圓角
   ========================================================= */
.asl-cont .sl-row.Filter_section,
.asl-cont .sl-row.filter_section {
  border-radius: 18px !important;
  overflow: hidden !important;
}
/* =========================================================
   ASL 篩選列修正
   1) 下拉選單不要被地圖擋住
   2) 搜尋框 / 商品篩選 / 縣市篩選 同高度
   依最新 HTML：
   .sl-row.Filter_section
   ========================================================= */

/* 篩選列本體：要在地圖上層，而且不能把下拉裁掉 */
.asl-cont .sl-row.Filter_section,
.asl-cont .sl-row.filter_section {
  position: relative !important;
  z-index: 50 !important;
  overflow: visible !important;   /* 關鍵：不能 hidden */
  border-radius: 18px !important;
}

/* 裡面欄位也保持可見 */
.asl-cont .sl-row.Filter_section > [class*="pol-"],
.asl-cont .sl-row.filter_section > [class*="pol-"],
.asl-cont .sl-row.Filter_section .search_filter,
.asl-cont .sl-row.filter_section .search_filter {
  position: relative !important;
  z-index: 51 !important;
  overflow: visible !important;
}

/* 地圖層級壓低，避免蓋到展開選單 */
.asl-cont .sl-map,
.asl-cont .asl-map,
.asl-cont .map-image,
.asl-cont #asl-map-canv,
.asl-cont .asl-map-canv {
  position: relative !important;
  z-index: 1 !important;
}

/* 搜尋欄容器 */
.asl-cont .sl-row.Filter_section .sl-search-group,
.asl-cont .sl-row.filter_section .sl-search-group,
.asl-cont .sl-row.Filter_section .input-group,
.asl-cont .sl-row.filter_section .input-group {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
}

/* typeahead 外層撐滿 */
.asl-cont .sl-row.Filter_section .twitter-typeahead,
.asl-cont .sl-row.filter_section .twitter-typeahead {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* 三個欄位統一高度：48px */
.asl-cont .sl-row.Filter_section .twitter-typeahead input,
.asl-cont .sl-row.Filter_section .twitter-typeahead .tt-input,
.asl-cont .sl-row.Filter_section .twitter-typeahead .tt-hint,
.asl-cont .sl-row.Filter_section input#auto-complete-search,
.asl-cont .sl-row.Filter_section input.asl-search-address,
.asl-cont .sl-row.Filter_section button.asl-search.clr,
.asl-cont .sl-row.Filter_section select,
.asl-cont .sl-row.Filter_section .form-control,

.asl-cont .sl-row.filter_section .twitter-typeahead input,
.asl-cont .sl-row.filter_section .twitter-typeahead .tt-input,
.asl-cont .sl-row.filter_section .twitter-typeahead .tt-hint,
.asl-cont .sl-row.filter_section input#auto-complete-search,
.asl-cont .sl-row.filter_section input.asl-search-address,
.asl-cont .sl-row.filter_section button.asl-search.clr,
.asl-cont .sl-row.filter_section select,
.asl-cont .sl-row.filter_section .form-control {
  height: 48px !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
}

/* 搜尋輸入框 */
.asl-cont .sl-row.Filter_section .twitter-typeahead input,
.asl-cont .sl-row.Filter_section .twitter-typeahead .tt-input,
.asl-cont .sl-row.Filter_section .twitter-typeahead .tt-hint,
.asl-cont .sl-row.Filter_section input#auto-complete-search,
.asl-cont .sl-row.Filter_section input.asl-search-address,

.asl-cont .sl-row.filter_section .twitter-typeahead input,
.asl-cont .sl-row.filter_section .twitter-typeahead .tt-input,
.asl-cont .sl-row.filter_section .twitter-typeahead .tt-hint,
.asl-cont .sl-row.filter_section input#auto-complete-search,
.asl-cont .sl-row.filter_section input.asl-search-address {
  padding: 0 14px !important;
  border-radius: 12px 0 0 12px !important;
  border-right: none !important;
  background: #ffffff !important;
  color: #20313d !important;
}

/* 搜尋按鈕 */
.asl-cont .sl-row.Filter_section button.asl-search.clr,
.asl-cont .sl-row.filter_section button.asl-search.clr {
  width: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  background: linear-gradient(135deg, #E22E00 0%, #FF5523 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 搜尋按鈕 icon 白色 */
.asl-cont .sl-row.Filter_section button.asl-search.clr i,
.asl-cont .sl-row.Filter_section button.asl-search.clr i::before,
.asl-cont .sl-row.filter_section button.asl-search.clr i,
.asl-cont .sl-row.filter_section button.asl-search.clr i::before {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* 原生 select */
.asl-cont .sl-row.Filter_section select,
.asl-cont .sl-row.Filter_section .form-control,
.asl-cont .sl-row.filter_section select,
.asl-cont .sl-row.filter_section .form-control {
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #20313d !important;
  padding: 0 40px 0 14px !important;
}

/* 如果外掛用 select2，下拉層級拉高 */
.asl-cont .sl-row.Filter_section .select2-container,
.asl-cont .sl-row.filter_section .select2-container {
  width: 100% !important;
  z-index: 60 !important;
}

.asl-cont .sl-row.Filter_section .select2-container .select2-selection--single,
.asl-cont .sl-row.filter_section .select2-container .select2-selection--single {
  height: 48px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

.asl-cont .sl-row.Filter_section .select2-container .select2-selection__rendered,
.asl-cont .sl-row.filter_section .select2-container .select2-selection__rendered {
  line-height: 48px !important;
  padding-left: 14px !important;
  padding-right: 38px !important;
  color: #20313d !important;
}

/* 全域 select2 下拉面板層級提高 */
.select2-container--open,
.select2-dropdown,
.select2-results {
  z-index: 99999 !important;
}
/* ===== ASL 篩選列：三個框同高 / 搜尋框與按鈕齊高 ===== */

/* 整列對齊到底部 */
.asl-cont .sl-row.Filter_section,
.asl-cont .sl-row.filter_section {
  align-items: flex-end !important;
}

/* 每一欄改成直向排列，避免內部高度不同造成錯位 */
.asl-cont .sl-row.Filter_section > [class*="pol-"],
.asl-cont .sl-row.filter_section > [class*="pol-"] {
  display: flex !important;
  flex-direction: column !important;
}

/* 標題間距固定，避免某一欄把輸入框往下擠 */
.asl-cont .sl-row.Filter_section label,
.asl-cont .sl-row.filter_section label,
.asl-cont .sl-row.Filter_section .mb-2,
.asl-cont .sl-row.filter_section .mb-2 {
  margin: 0 0 8px 0 !important;
  line-height: 1.4 !important;
}

/* 搜尋群組本身強制同高 */
.asl-cont .sl-row.Filter_section .sl-search-group,
.asl-cont .sl-row.filter_section .sl-search-group,
.asl-cont .sl-row.Filter_section .input-group,
.asl-cont .sl-row.filter_section .input-group {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
}

/* typeahead 外層吃滿 */
.asl-cont .sl-row.Filter_section .twitter-typeahead,
.asl-cont .sl-row.filter_section .twitter-typeahead {
  flex: 1 1 auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* 搜尋 input 本體：高度鎖死 */
.asl-cont .sl-row.Filter_section .twitter-typeahead .tt-input,
.asl-cont .sl-row.Filter_section .twitter-typeahead .tt-hint,
.asl-cont .sl-row.Filter_section input[type="text"],
.asl-cont .sl-row.Filter_section input[type="search"],
.asl-cont .sl-row.Filter_section input.asl-search-address,
.asl-cont .sl-row.filter_section .twitter-typeahead .tt-input,
.asl-cont .sl-row.filter_section .twitter-typeahead .tt-hint,
.asl-cont .sl-row.filter_section input[type="text"],
.asl-cont .sl-row.filter_section input[type="search"],
.asl-cont .sl-row.filter_section input.asl-search-address {
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  line-height: 46px !important;
  box-sizing: border-box !important;
  border-radius: 12px 0 0 12px !important;
  border-right: none !important;
}

/* 右邊按鈕外層 */
.asl-cont .sl-row.Filter_section .input-group-append,
.asl-cont .sl-row.filter_section .input-group-append {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  display: flex !important;
}

/* 右邊橘色按鈕：高度鎖死 */
.asl-cont .sl-row.Filter_section button.asl-search,
.asl-cont .sl-row.Filter_section button.asl-search.clr,
.asl-cont .sl-row.Filter_section button.asl-geo-event,
.asl-cont .sl-row.Filter_section button.span-geo,
.asl-cont .sl-row.Filter_section .input-group-text.span-geo,
.asl-cont .sl-row.filter_section button.asl-search,
.asl-cont .sl-row.filter_section button.asl-search.clr,
.asl-cont .sl-row.filter_section button.asl-geo-event,
.asl-cont .sl-row.filter_section button.span-geo,
.asl-cont .sl-row.filter_section .input-group-text.span-geo {
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 12px 12px 0 !important;
}

/* 按鈕 icon 置中 */
.asl-cont .sl-row.Filter_section button.asl-search i,
.asl-cont .sl-row.Filter_section button.asl-search i::before,
.asl-cont .sl-row.Filter_section button.asl-search.clr i,
.asl-cont .sl-row.Filter_section button.asl-search.clr i::before,
.asl-cont .sl-row.Filter_section button.asl-geo-event i,
.asl-cont .sl-row.Filter_section button.asl-geo-event i::before,
.asl-cont .sl-row.filter_section button.asl-search i,
.asl-cont .sl-row.filter_section button.asl-search i::before,
.asl-cont .sl-row.filter_section button.asl-search.clr i,
.asl-cont .sl-row.filter_section button.asl-search.clr i::before,
.asl-cont .sl-row.filter_section button.asl-geo-event i,
.asl-cont .sl-row.filter_section button.asl-geo-event i::before {
  line-height: 1 !important;
  display: inline-block !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* 兩個下拉選單同高 */
.asl-cont .sl-row.Filter_section select,
.asl-cont .sl-row.Filter_section .form-control,
.asl-cont .sl-row.filter_section select,
.asl-cont .sl-row.filter_section .form-control {
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 40px 0 14px !important;
  line-height: 46px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}

/* 如果你用的是 select2，也一起鎖高 */
.asl-cont .sl-row.Filter_section .select2-container .select2-selection--single,
.asl-cont .sl-row.filter_section .select2-container .select2-selection--single {
  height: 46px !important;
  min-height: 46px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

.asl-cont .sl-row.Filter_section .select2-container .select2-selection__rendered,
.asl-cont .sl-row.filter_section .select2-container .select2-selection__rendered {
  line-height: 46px !important;
  padding-left: 14px !important;
  padding-right: 40px !important;
}

.asl-cont .sl-row.Filter_section .select2-container .select2-selection__arrow,
.asl-cont .sl-row.filter_section .select2-container .select2-selection__arrow {
  height: 46px !important;
}
/* ===== ASL 篩選列高度精準修正 ===== */

/* 1) 整列欄位底部對齊 */
.asl-cont .sl-row.Filter_section,
.asl-cont .sl-row.filter_section {
  display: flex !important;
  align-items: flex-end !important;
}

/* 2) 每個欄位改成直向，避免內部高度不同 */
.asl-cont .sl-row.Filter_section > [class*="col-"],
.asl-cont .sl-row.filter_section > [class*="col-"] {
  display: flex !important;
  flex-direction: column !important;
}

/* 3) 左邊搜尋欄 label 間距固定 */
.asl-cont .sl-row.Filter_section .search_filter > label,
.asl-cont .sl-row.filter_section .search_filter > label {
  margin: 0 0 8px 0 !important;
  line-height: 1.4 !important;
}

/* 4) 搜尋框群組本身固定高度 */
.asl-cont .sl-row.Filter_section .search_filter .sl-search-group,
.asl-cont .sl-row.Filter_section .search_filter .input-group,
.asl-cont .sl-row.filter_section .search_filter .sl-search-group,
.asl-cont .sl-row.filter_section .search_filter .input-group {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
}

/* 5) typeahead 外層不要用 inline-block 高度撐開 */
.asl-cont .sl-row.Filter_section .search_filter .twitter-typeahead,
.asl-cont .sl-row.filter_section .search_filter .twitter-typeahead {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  vertical-align: top !important;
}

/* 6) 左邊搜尋 input 高度鎖死 */
.asl-cont .sl-row.Filter_section .search_filter input.asl-search-address,
.asl-cont .sl-row.Filter_section .search_filter .tt-input,
.asl-cont .sl-row.Filter_section .search_filter .tt-hint,
.asl-cont .sl-row.filter_section .search_filter input.asl-search-address,
.asl-cont .sl-row.filter_section .search_filter .tt-input,
.asl-cont .sl-row.filter_section .search_filter .tt-hint {
  height: 44px !important;
  min-height: 44px !important;
  line-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  border-radius: 12px 0 0 12px !important;
  border-right: none !important;
}

/* 7) 真正的右邊橘色送出按鈕 */
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr,
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr.asl-open-brn-hider,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr.asl-open-brn-hider {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 12px 12px 0 !important;
  line-height: 1 !important;
}

/* 8) 按鈕 icon 置中 */
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr i,
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr i::before,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr i,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr i::before {
  line-height: 1 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* 9) 右邊兩個篩選欄的真正外層 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters .asl-filter-cntrl,
.asl-cont .sl-row.filter_section .asl-ddl-filters .asl-filter-cntrl {
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* 10) 若裡面是原生 select */
.asl-cont .sl-row.Filter_section .asl-ddl-filters select,
.asl-cont .sl-row.Filter_section .asl-ddl-filters .form-control,
.asl-cont .sl-row.filter_section .asl-ddl-filters select,
.asl-cont .sl-row.filter_section .asl-ddl-filters .form-control {
  height: 44px !important;
  min-height: 44px !important;
  line-height: 44px !important;
  margin: 0 !important;
  padding: 0 40px 0 14px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}

/* 11) 若外掛用 select2 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-container,
.asl-cont .sl-row.filter_section .asl-ddl-filters .select2-container {
  width: 100% !important;
}

.asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-selection--single,
.asl-cont .sl-row.filter_section .asl-ddl-filters .select2-selection--single {
  height: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}

.asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-selection__rendered,
.asl-cont .sl-row.filter_section .asl-ddl-filters .select2-selection__rendered {
  line-height: 44px !important;
  padding-left: 14px !important;
  padding-right: 40px !important;
}

.asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-selection__arrow,
.asl-cont .sl-row.filter_section .asl-ddl-filters .select2-selection__arrow {
  height: 44px !important;
}
/* ===== 右側「依商品/依縣市篩選」整塊往上 ===== */
.asl-cont .sl-row.Filter_section .asl-ddl-filters,
.asl-cont .sl-row.filter_section .asl-ddl-filters {
  position: relative !important;
  top: -6px !important;
}

/* 內層控制器順便清掉多餘上下距 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters .asl-filter-cntrl,
.asl-cont .sl-row.filter_section .asl-ddl-filters .asl-filter-cntrl {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 如果標題本身有撐高，也一起壓一下 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters label,
.asl-cont .sl-row.filter_section .asl-ddl-filters label,
.asl-cont .sl-row.Filter_section .asl-ddl-filters .mb-2,
.asl-cont .sl-row.filter_section .asl-ddl-filters .mb-2 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}
/* ===== 只修「搜尋框 + 送出按鈕」高度不一致 ===== */

/* 搜尋群組本體 */
.asl-cont .sl-row.Filter_section .search_filter .sl-search-group,
.asl-cont .sl-row.Filter_section .search_filter .input-group,
.asl-cont .sl-row.filter_section .search_filter .sl-search-group,
.asl-cont .sl-row.filter_section .search_filter .input-group {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* typeahead 外層不要撐高 */
.asl-cont .sl-row.Filter_section .search_filter .twitter-typeahead,
.asl-cont .sl-row.filter_section .search_filter .twitter-typeahead {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  vertical-align: top !important;
}

/* 真正的 input */
.asl-cont .sl-row.Filter_section .search_filter input.asl-search-address,
.asl-cont .sl-row.Filter_section .search_filter .tt-input,
.asl-cont .sl-row.Filter_section .search_filter .tt-hint,
.asl-cont .sl-row.filter_section .search_filter input.asl-search-address,
.asl-cont .sl-row.filter_section .search_filter .tt-input,
.asl-cont .sl-row.filter_section .search_filter .tt-hint {
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  border-right: none !important;
  border-radius: 10px 0 0 10px !important;
}

/* 右邊按鈕外層 */
.asl-cont .sl-row.Filter_section .search_filter .input-group-append,
.asl-cont .sl-row.filter_section .search_filter .input-group-append {
  display: flex !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
}

/* 真正的橘色按鈕 */
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr,
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr.asl-open-brn-hider,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr.asl-open-brn-hider {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 10px 10px 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* icon 置中 */
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr i,
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr i::before,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr i,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr i::before {
  line-height: 1 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* ===== 搜尋框 / 橘色按鈕 最終高度修正 ===== */

/* 搜尋群組外層 */
.asl-cont .sl-row.Filter_section .search_filter .sl-search-group,
.asl-cont .sl-row.Filter_section .search_filter .input-group,
.asl-cont .sl-row.filter_section .search_filter .sl-search-group,
.asl-cont .sl-row.filter_section .search_filter .input-group {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* typeahead 外層不要再用 inline-block 撐高 */
.asl-cont .sl-row.Filter_section .search_filter .twitter-typeahead,
.asl-cont .sl-row.filter_section .search_filter .twitter-typeahead {
  display: flex !important;
  align-items: stretch !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  vertical-align: top !important;
}

/* 白色搜尋 input 本體 */
.asl-cont .sl-row.Filter_section .search_filter input.asl-search-address,
.asl-cont .sl-row.Filter_section .search_filter .tt-input,
.asl-cont .sl-row.Filter_section .search_filter .tt-hint,
.asl-cont .sl-row.filter_section .search_filter input.asl-search-address,
.asl-cont .sl-row.filter_section .search_filter .tt-input,
.asl-cont .sl-row.filter_section .search_filter .tt-hint {
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  line-height: 44px !important;
  box-sizing: border-box !important;
  border-radius: 10px 0 0 10px !important;
  border-right: none !important;
}

/* 右側按鈕外層 */
.asl-cont .sl-row.Filter_section .search_filter .input-group-append,
.asl-cont .sl-row.filter_section .search_filter .input-group-append {
  display: flex !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* 真正的橘色按鈕 */
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr,
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr.asl-open-brn-hider,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr.asl-open-brn-hider {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 10px 10px 0 !important;
  text-align: center !important;
  line-height: 44px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 16px !important;
}

/* 如果 icon 是用 pseudo-element 畫的，也一起置中 */
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr::before,
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr.asl-open-brn-hider::before,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr::before,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr.asl-open-brn-hider::before {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  line-height: 1 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* 如果 button 內其實有 i，也順便保底 */
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr i,
.asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr i::before,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr i,
.asl-cont .sl-row.filter_section .search_filter button.asl-search.clr i::before {
  line-height: 1 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* ===== 右側「依商品/依縣市篩選」整組往上對齊搜尋框 ===== */

/* 右側整個 filters 區塊往上 */
.asl-cont .sl-row.Filter_section .sl-advance-filters,
.asl-cont .sl-row.filter_section .sl-advance-filters {
  position: relative !important;
  top: -6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 商品 / 縣市 兩欄本身也一起往上 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters,
.asl-cont .sl-row.filter_section .asl-ddl-filters {
  position: relative !important;
  top: -12px !important;
  margin: 0 !important;
  padding: 0 8px !important;
}

/* 標題文字與選單距離壓緊 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters label,
.asl-cont .sl-row.Filter_section .asl-ddl-filters .mb-2,
.asl-cont .sl-row.filter_section .asl-ddl-filters label,
.asl-cont .sl-row.filter_section .asl-ddl-filters .mb-2 {
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
}

/* 真正的選單容器 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters .asl-filter-cntrl,
.asl-cont .sl-row.filter_section .asl-ddl-filters .asl-filter-cntrl {
  margin: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
}

/* 原生 select */
.asl-cont .sl-row.Filter_section .asl-ddl-filters select,
.asl-cont .sl-row.Filter_section .asl-ddl-filters .form-control,
.asl-cont .sl-row.filter_section .asl-ddl-filters select,
.asl-cont .sl-row.filter_section .asl-ddl-filters .form-control {
  height: 44px !important;
  min-height: 44px !important;
  line-height: 44px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* 如果是 select2 */
.asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-selection--single,
.asl-cont .sl-row.filter_section .asl-ddl-filters .select2-selection--single {
  height: 44px !important;
  min-height: 44px !important;
}

.asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-selection__rendered,
.asl-cont .sl-row.filter_section .asl-ddl-filters .select2-selection__rendered {
  line-height: 44px !important;
}
/* =========================================================
   手機板：搜尋列間距 + 地圖/門市列表分層修正
   ========================================================= */
@media (max-width: 767px) {

  /* ---------- 1) 最上方三個搜尋欄位不要擠 ---------- */
  .asl-cont .sl-row.Filter_section,
  .asl-cont .sl-row.filter_section {
    display: block !important;
    padding: 14px 12px 12px !important;
    border-radius: 18px !important;
    overflow: visible !important;
  }

  .asl-cont .sl-row.Filter_section > [class*="pol-"],
  .asl-cont .sl-row.filter_section > [class*="pol-"],
  .asl-cont .sl-row.Filter_section > [class*="col-"],
  .asl-cont .sl-row.filter_section > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: block !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
  }

  .asl-cont .sl-row.Filter_section > [class*="pol-"]:last-child,
  .asl-cont .sl-row.filter_section > [class*="pol-"]:last-child,
  .asl-cont .sl-row.Filter_section > [class*="col-"]:last-child,
  .asl-cont .sl-row.filter_section > [class*="col-"]:last-child {
    margin-bottom: 0 !important;
  }

  /* 清掉桌機版把右邊篩選往上推的設定 */
  .asl-cont .sl-row.Filter_section .sl-advance-filters,
  .asl-cont .sl-row.filter_section .sl-advance-filters,
  .asl-cont .sl-row.Filter_section .asl-ddl-filters,
  .asl-cont .sl-row.filter_section .asl-ddl-filters {
    position: static !important;
    top: auto !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
  }

  /* 標題文字留出間距 */
  .asl-cont .sl-row.Filter_section label,
  .asl-cont .sl-row.filter_section label,
  .asl-cont .sl-row.Filter_section .mb-2,
  .asl-cont .sl-row.filter_section .mb-2 {
    display: block !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  /* 三個欄位高度統一 */
  .asl-cont .sl-row.Filter_section .search_filter .sl-search-group,
  .asl-cont .sl-row.Filter_section .search_filter .input-group,
  .asl-cont .sl-row.filter_section .search_filter .sl-search-group,
  .asl-cont .sl-row.filter_section .search_filter .input-group {
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
  }

  .asl-cont .sl-row.Filter_section .search_filter .twitter-typeahead,
  .asl-cont .sl-row.filter_section .search_filter .twitter-typeahead {
    height: 44px !important;
    min-height: 44px !important;
  }

  .asl-cont .sl-row.Filter_section .search_filter input.asl-search-address,
  .asl-cont .sl-row.Filter_section .search_filter .tt-input,
  .asl-cont .sl-row.Filter_section .search_filter .tt-hint,
  .asl-cont .sl-row.filter_section .search_filter input.asl-search-address,
  .asl-cont .sl-row.filter_section .search_filter .tt-input,
  .asl-cont .sl-row.filter_section .search_filter .tt-hint,
  .asl-cont .sl-row.Filter_section .asl-ddl-filters select,
  .asl-cont .sl-row.Filter_section .asl-ddl-filters .form-control,
  .asl-cont .sl-row.filter_section .asl-ddl-filters select,
  .asl-cont .sl-row.filter_section .asl-ddl-filters .form-control {
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
    font-size: 16px !important;
    margin: 0 !important;
  }

  .asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr,
  .asl-cont .sl-row.Filter_section .search_filter button.asl-search.clr.asl-open-brn-hider,
  .asl-cont .sl-row.filter_section .search_filter button.asl-search.clr,
  .asl-cont .sl-row.filter_section .search_filter button.asl-search.clr.asl-open-brn-hider {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-selection--single,
  .asl-cont .sl-row.filter_section .asl-ddl-filters .select2-selection--single {
    height: 44px !important;
    min-height: 44px !important;
  }

  .asl-cont .sl-row.Filter_section .asl-ddl-filters .select2-selection__rendered,
  .asl-cont .sl-row.filter_section .asl-ddl-filters .select2-selection__rendered {
    line-height: 44px !important;
    font-size: 16px !important;
  }

  /* ---------- 2) 地圖、門市數量、清單不要重疊穿透 ---------- */
  .asl-cont .sl-main-cont,
  .asl-cont .sl-main-row,
  .asl-cont .sl-map-sec,
  .asl-cont .sl-list-sec,
  .asl-cont .sl-side-sec,
  .asl-cont .store-list,
  .asl-cont .sl-list {
    position: relative !important;
    transform: none !important;
  }

  .asl-cont .sl-map-sec,
  .asl-cont .pol-lg-8,
  .asl-cont .pol-md-8,
  .asl-cont .pol-sm-8,
  .asl-cont .pol-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
  }

  .asl-cont .sl-map,
  .asl-cont .asl-map,
  .asl-cont .map-image,
  .asl-cont #asl-map-canv,
  .asl-cont .asl-map-canv {
    position: relative !important;
    z-index: 1 !important;
    min-height: 360px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  .asl-cont .sl-list-sec,
  .asl-cont .sl-side-sec,
  .asl-cont .pol-lg-4,
  .asl-cont .pol-md-4,
  .asl-cont .pol-sm-4,
  .asl-cont .pol-4,
  #asl-panel {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  /* 清掉任何把列表往上拉的設定 */
  #asl-panel,
  .asl-cont .store-list,
  .asl-cont .sl-list {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
    transform: none !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    z-index: 2 !important;
  }

  /* 門市數量列獨立成一層，不壓到地圖 */
  #asl-panel .top-title.Num_of_store,
  .asl-cont .top-title.Num_of_store {
    position: relative !important;
    z-index: 3 !important;
    margin: 0 !important;
    border-top: 0 !important;
  }
}
/* =========================================================
   手機板：修正 商品/縣市篩選 文字擠在一起
   並讓下拉欄位不要看起來太滿版
   ========================================================= */
@media (max-width: 767px) {

  /* 右側進階篩選真正外層：注意是 asl-advance-filters */
  .asl-cont .sl-row.Filter_section .asl-advance-filters,
  .asl-cont .sl-row.filter_section .asl-advance-filters {
    display: block !important;
    position: static !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 進階篩選內部那一列改成直排 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters > .sl-row,
  .asl-cont .sl-row.filter_section .asl-advance-filters > .sl-row {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 商品 / 縣市 兩個欄位本身 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters {
    display: block !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin: 0 12px 12px 12px !important;
    padding: 0 !important;
  }

  /* 最後一個欄位底部不要多餘空隙 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters:last-child,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters:last-child {
    margin-bottom: 0 !important;
  }

  /* 讓「依商品篩選 / 依縣市篩選」標題和白色框拉開 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters label,
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters .mb-2,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters label,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters .mb-2 {
    display: block !important;
    position: static !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    font-size: 14px !important;
    white-space: normal !important;
  }

  /* 有些模板標題不是 label，直接把欄位內第一層文字也拉開 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-filter-cntrl,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-filter-cntrl {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 下拉本體高度 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters select,
  .asl-cont .sl-row.Filter_section .asl-advance-filters .form-control,
  .asl-cont .sl-row.filter_section .asl-advance-filters select,
  .asl-cont .sl-row.filter_section .asl-advance-filters .form-control {
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
    margin: 0 !important;
    padding: 0 40px 0 14px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    font-size: 16px !important;
  }

  /* 如果是 select2 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .select2-container,
  .asl-cont .sl-row.filter_section .asl-advance-filters .select2-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .asl-cont .sl-row.Filter_section .asl-advance-filters .select2-selection--single,
  .asl-cont .sl-row.filter_section .asl-advance-filters .select2-selection--single {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
  }

  .asl-cont .sl-row.Filter_section .asl-advance-filters .select2-selection__rendered,
  .asl-cont .sl-row.filter_section .asl-advance-filters .select2-selection__rendered {
    line-height: 44px !important;
    padding-left: 14px !important;
    padding-right: 40px !important;
    font-size: 16px !important;
  }

  /* 展開後的下拉面板不要太寬 */
  body .select2-container--open .select2-dropdown {
    width: calc(100vw - 60px) !important;
    min-width: calc(100vw - 60px) !important;
    max-width: 380px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
}
/* 手機板：商品篩選 / 縣市篩選 兩組間距再拉開 */
@media (max-width: 767px) {
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters {
    margin-bottom: 16px !important;
  }

  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters:last-child,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters:last-child {
    margin-bottom: 0 !important;
  }

  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters label,
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters .mb-2,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters label,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters .mb-2 {
    margin-bottom: 10px !important;
  }
}
/* 手機板：只把第二個篩選區塊往下拉開 */
@media (max-width: 767px) {

  /* 先清掉兩個篩選共用的外距，避免一起移動 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters {
    margin-bottom: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
  }

  /* 只針對第二個篩選區塊加上方間距 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters + .asl-ddl-filters,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters + .asl-ddl-filters {
    margin-top: 34px !important;
  }

  /* 第二組標題和白色欄位再拉開一點 */
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters + .asl-ddl-filters label,
  .asl-cont .sl-row.Filter_section .asl-advance-filters .asl-ddl-filters + .asl-ddl-filters .mb-2,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters + .asl-ddl-filters label,
  .asl-cont .sl-row.filter_section .asl-advance-filters .asl-ddl-filters + .asl-ddl-filters .mb-2 {
    display: block !important;
    margin: 0 0 10px 0 !important;
  }
}
@media (max-width: 767px) {
  .asl-cont .sl-row.Filter_section,
  .asl-cont .sl-row.filter_section {
    padding: 16px 14px 32px !important;
    border-radius: 18px !important;
    overflow: visible !important;
  }
}
/* =========================================================
   手機板：ASL multiselect 下拉選單文字縮排
   這個不是 select2，要改 adropdown-menu / label.checkbox
   ========================================================= */
@media (max-width: 767px) {

  /* 下拉選單整體 */
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu,
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu.show {
    padding: 6px 0 !important;
  }

  /* 每一列外層 a：真正先往右推 */
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu > li > a,
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu.show > li > a {
    display: block !important;
    margin: 0 !important;
    padding: 0 0 0 18px !important;
    text-decoration: none !important;
  }

  /* 選項文字本體：label.checkbox */
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu > li > a > label.checkbox,
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu.show > li > a > label.checkbox {
    display: block !important;
    margin: 0 !important;
    padding: 11px 12px 10px 0 !important;
    text-indent: 0 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
  }

  /* 搜尋列那一格也順便內縮 */
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu > li.multiselect-item.filter,
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu.show > li.multiselect-item.filter {
    padding: 8px 10px 6px 10px !important;
  }

  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu > li.multiselect-item.filter .form-control,
  body .asl-cont .sl-dropdown-cont .multiselect-container.adropdown-menu.show > li.multiselect-item.filter .form-control {
    padding-left: 14px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
}/* End custom CSS */