
/* FUNY PIN MAP v2 QA — isolated development page only */
html.funy-map-qa body{background:#f6f4f8}
html.funy-map-qa .app{background:#fff}
html.funy-map-qa .map-wrap-hero{position:relative}
html.funy-map-qa .map-search-float{top:14px}
html.funy-map-qa .map-search-box{border:1px solid rgba(226,221,232,.95);box-shadow:0 7px 22px rgba(45,35,60,.10)}
html.funy-map-qa .map-search-input{font-size:13px}
html.funy-map-qa .map-filter-bar{top:70px!important;background:transparent!important}
html.funy-map-qa #filters{gap:7px!important;padding:0 14px 8px!important}
html.funy-map-qa #filters>.filter-chip{display:none!important}
html.funy-map-qa #filters>.country-filter-sep,html.funy-map-qa #filters>.country-filter-wrap{display:none!important}

.qa-layer-chip,.live-temp-layer{flex:0 0 auto;height:38px;padding:0 13px;border:1.5px solid rgba(255,255,255,.68);border-radius:19px;background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.60));color:#9b949f;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:800 11.5px/1 Pretendard,sans-serif;box-shadow:0 6px 18px rgba(48,39,58,.09),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.26);-webkit-backdrop-filter:blur(18px) saturate(155%);backdrop-filter:blur(18px) saturate(155%);white-space:nowrap;cursor:pointer;transition:border-color .16s ease,color .16s ease,opacity .16s ease,box-shadow .16s ease}
.qa-layer-chip .qa-layer-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.32}
.qa-layer-chip .qa-layer-count,.live-temp-layer .qa-layer-count{font-size:10px;font-weight:900;opacity:.7}
.qa-layer-chip[data-layer="shops"].active{border-color:rgba(128,98,216,.72);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,244,255,.68));color:#6f50c7;box-shadow:0 6px 18px rgba(100,72,183,.12),inset 0 1px 0 rgba(255,255,255,.96)}
.qa-layer-chip[data-layer="events"].active{border-color:rgba(239,154,92,.76);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,248,242,.68));color:#d87331;box-shadow:0 6px 18px rgba(198,108,48,.11),inset 0 1px 0 rgba(255,255,255,.96)}
.qa-layer-chip[data-layer="vending"].active{border-color:rgba(227,189,44,.82);background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,251,232,.72));color:#a87d00;box-shadow:0 6px 18px rgba(176,132,0,.11),inset 0 1px 0 rgba(255,255,255,.96)}
.qa-layer-chip.active .qa-layer-dot{opacity:1}
.qa-layer-chip.active .qa-layer-count,.live-temp-layer.active .qa-layer-count{opacity:1}

.qa-dev-badge{position:fixed;right:max(12px,calc((100vw - 420px)/2 + 12px));top:max(8px,env(safe-area-inset-top));z-index:2147482001;padding:5px 9px;border-radius:999px;background:#201b27;color:#fff;font:900 9px/1 Pretendard,sans-serif;letter-spacing:.06em;box-shadow:0 4px 12px rgba(0,0,0,.18);pointer-events:none}

html.funy-map-qa .map-shop-sheet{background:#fbfafc!important}
html.funy-map-qa .map-sheet-handle{padding-top:7px!important;padding-bottom:5px!important}
.qa-list-tabs{margin:0 0 8px;padding:3px;border:1px solid #e2dde6;border-radius:11px;background:#f0eef2;display:grid;grid-template-columns:1fr 1fr;gap:3px}
.qa-list-tab{min-height:34px;border:0;border-radius:8px;background:transparent;color:#867e8a;font:800 11.5px/1 Pretendard,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer}.qa-tab-inline{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;white-space:nowrap}.qa-tab-label{min-width:0}.qa-tab-label-vending{line-height:1.05;text-align:left}.qa-tab-count{flex:0 0 auto;margin-left:1px}
.qa-list-tab.active{background:#fff;color:#302a34;box-shadow:0 2px 7px rgba(44,35,52,.07)}
.qa-list-tab[data-tab="shops"].active .qa-tab-count{color:#7557d3}
.qa-list-tab[data-tab="vending"].active .qa-tab-count{color:#b18800}
.qa-tab-count{font-weight:900}

.qa-shop-tools{display:flex;align-items:center;gap:7px;padding:8px 0 10px;min-width:0;overflow:visible}
.qa-shop-tools::-webkit-scrollbar,.qa-vending-tools::-webkit-scrollbar,.qa-operator-strip::-webkit-scrollbar,.qa-shop-filter-strip::-webkit-scrollbar{display:none}
.qa-shop-filter-strip{flex:1 1 auto;min-width:0;display:flex;gap:7px;overflow-x:auto;padding:0;scrollbar-width:none}
.qa-control-pill,.qa-operator-chip,.qa-shop-filter-chip{flex:0 0 auto;height:34px;padding:0 12px;border:1px solid #e5e0e9;border-radius:17px;background:#fff;color:#514a55;font:750 10.8px/1 Pretendard,sans-serif;white-space:nowrap;cursor:pointer}
.qa-shop-filter-chip.active{border-color:#c9b9ee;background:#f5f1fc;color:#6849bf;font-weight:850}
html.funy-map-qa .list-heading-v2{display:none!important}
html.funy-map-qa .list-sort{margin:0!important}
html.funy-map-qa .list-sort-button{height:34px!important;min-width:94px!important;padding:0 11px 0 13px!important;box-shadow:none!important}
html.funy-map-qa .shop-request-list-banner{margin:0 0 8px!important}

.qa-vending-panel{padding-bottom:96px}
.qa-vending-tools{display:flex;align-items:center;gap:7px;padding:8px 0 10px;min-width:0}
.qa-vending-list-sort{position:relative!important;z-index:121!important;flex:0 0 auto!important}.qa-vending-list-sort .list-sort-button{height:34px!important;min-width:94px!important;padding:0 11px 0 13px!important}.qa-vending-list-sort .list-sort-menu{top:40px!important}
.qa-tools-divider{flex:0 0 auto;width:1px;height:20px;background:#ddd8e1;margin:0 1px}
.qa-operator-strip{flex:1 1 auto;min-width:0;display:flex;gap:7px;overflow-x:auto;padding:0;scrollbar-width:none}
.qa-operator-chip.active{border-color:#e0bd32;background:#fff9df;color:#9e7700;font-weight:850}
.qa-vending-summary{display:none}

.qa-vending-list{display:grid;gap:8px;padding:0}
.qa-vending-card{display:grid;grid-template-columns:54px minmax(0,1fr) 52px;gap:10px;align-items:center;min-height:78px;padding:11px 10px 11px 11px;border:1px solid #ece8ef;border-radius:15px;background:#fff;box-shadow:0 4px 15px rgba(46,38,54,.035);cursor:pointer}
.qa-operator-logo{width:54px;height:54px;border:1px solid #ece8ef;border-radius:11px;background:#fff;display:grid;place-items:center;color:#58505d;font:900 8.8px/1.15 Pretendard,sans-serif;text-align:center;padding:5px;box-sizing:border-box}
.qa-operator-logo[data-operator="롯데마트"],.qa-operator-logo[data-operator="롯데시네마"],.qa-operator-logo[data-operator="롯데월드"]{color:#d91e36;background:#fff8f8}
.qa-operator-logo[data-operator="이마트"]{color:#e69300;background:#fffaf0}
.qa-operator-logo[data-operator="메가박스"]{color:#5f2785;background:#faf6ff}
.qa-operator-logo[data-operator="CGV"]{color:#e24b2c;background:#fff8f5}
.qa-operator-logo[data-operator="KTX"]{color:#175da7;background:#f5f9ff}
.qa-vending-copy{min-width:0}
.qa-vending-name{display:block;margin:0 0 6px;color:#302b34;font-size:13px;font-weight:850;letter-spacing:-.02em}
.qa-vending-address-row,.qa-popup-address-row{display:flex;align-items:flex-start;gap:4px;color:#847c88}
.qa-address-icon{width:13px;height:13px;flex:0 0 13px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.qa-vending-address{display:block;min-width:0;color:inherit;font-size:10px;line-height:1.4;word-break:keep-all}
.qa-naver-route{align-self:center;justify-self:end;min-width:46px;height:30px;padding:0 9px;border:1px solid #dcd8df;border-radius:9px;background:#f8f7f9;color:#625c66;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:800 10px/1 Pretendard,sans-serif;white-space:nowrap}
.qa-naver-route:active{background:#f0eef2}
.qa-vending-empty{padding:34px 12px;text-align:center;color:#9e96a2;font-size:11px}

.funy-vending-marker{position:relative;width:var(--marker-w);height:var(--marker-h);filter:drop-shadow(0 3px 5px rgba(157,118,0,.20));transform-origin:50% 100%}
.funy-vending-marker svg{position:absolute;left:50%;top:0;width:var(--pin-w);height:var(--pin-h);transform:translateX(-50%);overflow:visible}
.funy-vending-marker.is-selected{filter:drop-shadow(0 4px 8px rgba(181,137,0,.34));transform:scale(1.08)}

html.funy-map-qa .funy-event-calendar{display:none!important}

.qa-vending-popup{width:274px!important;min-width:274px!important;max-width:274px!important}
.qa-vending-popup .map-shop-popup{position:relative!important;display:block!important;width:274px!important;min-width:274px!important;max-width:274px!important;min-height:0!important;padding:14px 72px 14px 16px!important;box-sizing:border-box!important;text-decoration:none!important;border:1px solid rgba(228,224,234,.94)!important;border-radius:18px!important;background:rgba(255,255,255,.97)!important;overflow:visible!important}
.qa-vending-popup .qa-popup-copy{display:block!important;min-width:0}
.qa-vending-popup .qa-popup-name{display:block;margin:0 0 8px;color:#2f2933;font-size:15px;font-weight:850;line-height:1.25}
.qa-vending-popup .qa-popup-address-row{font-size:10.4px;line-height:1.35}
.qa-vending-popup .qa-popup-address{display:block;min-width:0;color:inherit}
.qa-vending-popup .qa-naver-route{position:absolute!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;min-width:48px!important}
html.funy-map-qa.qa-hide-events .funy-event-pin{display:none!important}

.qa-geocode-status{position:absolute;left:50%;top:118px;z-index:90;transform:translateX(-50%);padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(32,26,38,.10);color:#847b89;font:700 9px/1 Pretendard,sans-serif;pointer-events:none}

@media(max-width:430px){
  html.funy-map-qa .map-search-float{top:10px}
  html.funy-map-qa .map-filter-bar{top:64px!important}
  .qa-layer-chip,.live-temp-layer{height:36px;padding:0 11px;font-size:10.8px}
  .country-filter-select{height:36px!important}
  .qa-list-tab{min-height:32px}
  .qa-vending-card{grid-template-columns:50px minmax(0,1fr) 48px;gap:9px}
  .qa-operator-logo{width:50px;height:50px}
  .qa-naver-route{min-width:44px;padding:0 8px}
}

.qa-shop-tools .qa-tools-divider{flex:0 0 auto}


/* JP QA safeguard: keep the existing Japan MAP UI unchanged */
html.funy-map-qa body.country-japan .qa-layer-chip,
html.funy-map-qa body.country-japan .qa-list-tabs,
html.funy-map-qa body.country-japan .qa-shop-tools,
html.funy-map-qa body.country-japan .qa-shop-filter-strip,
html.funy-map-qa body.country-japan .qa-vending-panel,
html.funy-map-qa body.country-japan .qa-geocode-status{display:none!important}

html.funy-map-qa body.country-japan #filters>.filter-chip{display:inline-flex!important}
html.funy-map-qa body.country-japan #filters>.country-filter-sep{display:block!important}
html.funy-map-qa body.country-japan .country-filter-select{
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  height:38px!important;
  padding:0 26px 0 12px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:19px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62))!important;
  color:#403a45!important;
  font:800 11.5px/1 Pretendard,sans-serif!important;
  box-shadow:0 6px 18px rgba(48,39,58,.10),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.28)!important;
  -webkit-backdrop-filter:blur(18px) saturate(155%)!important;
  backdrop-filter:blur(18px) saturate(155%)!important
}
html.funy-map-qa body.country-japan .list-heading-v2{display:flex!important}
html.funy-map-qa body.country-japan .shop-request-list-banner{margin:12px 0 11px!important}
html.funy-map-qa body.country-japan .map-sheet-handle{padding-top:0!important;padding-bottom:0!important}


/* QA sort controls keep a fixed footprint when the selected label changes */
html.funy-map-qa .qa-shop-tools>.list-sort,
html.funy-map-qa .qa-vending-tools>.list-sort{
  position:relative!important;
  flex:0 0 104px!important;
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  z-index:140!important
}
html.funy-map-qa .qa-shop-tools>.list-sort .list-sort-button,
html.funy-map-qa .qa-vending-tools>.list-sort .list-sort-button{
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  box-sizing:border-box!important
}
html.funy-map-qa .qa-shop-tools>.list-sort .list-sort-menu,
html.funy-map-qa .qa-vending-tools>.list-sort .list-sort-menu{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:40px!important;
  width:118px!important;
  min-width:118px!important;
  z-index:2147481000!important
}
html.funy-map-qa .qa-shop-tools,
html.funy-map-qa .qa-vending-tools{position:relative!important;overflow:visible!important}
@media(max-width:430px){
  html.funy-map-qa .country-filter-select,
  html.funy-map-qa body.country-japan .country-filter-select{width:88px!important;min-width:88px!important;max-width:88px!important;height:36px!important}
}


/* QA polish: Japan top filter chip text must stay on one centered line */
html.funy-map-qa body.country-japan #filters>.filter-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  line-height:1!important;
  text-align:center!important
}

/* QA polish: KR shop/vending sort chevron stays optically centered when opened */
html.funy-map-qa .qa-shop-tools>.list-sort .list-sort-button,
html.funy-map-qa .qa-vending-tools>.list-sort .list-sort-button{
  position:relative!important;
  justify-content:flex-start!important;
  padding-right:32px!important
}
html.funy-map-qa .qa-shop-tools>.list-sort .list-sort-chevron,
html.funy-map-qa .qa-vending-tools>.list-sort .list-sort-chevron{
  position:absolute!important;
  right:11px!important;
  top:50%!important;
  width:14px!important;
  height:14px!important;
  margin:0!important;
  align-self:auto!important;
  transform:translateY(-50%) rotate(0deg)!important;
  transform-origin:50% 50%!important
}
html.funy-map-qa .qa-shop-tools>.list-sort .list-sort-button[aria-expanded="true"] .list-sort-chevron,
html.funy-map-qa .qa-vending-tools>.list-sort .list-sort-button[aria-expanded="true"] .list-sort-chevron{
  transform:translateY(-50%) rotate(180deg)!important
}


/* KR QA: keep sheet handle + list tabs fixed together while sheet content scrolls */
html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head{
  position:sticky!important;
  top:-12px!important;
  z-index:160!important;
  margin:-8px 0 0!important;
  padding:0 0 6px!important;
  background:rgba(249,248,250,.97)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  border:0!important;
  box-shadow:none!important
}
html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .map-sheet-handle{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  margin:0 -4px 2px!important;
  padding-top:7px!important;
  padding-bottom:5px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important
}
html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .qa-list-tabs{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  margin:0!important;
  border-bottom-color:#e2dde6!important;
  box-shadow:none!important
}
html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head::after{
  content:none!important
}

/* JP remains on the original sheet structure */
html.funy-map-qa body.country-japan .qa-sheet-sticky-head{
  position:static!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border:0!important;
  box-shadow:none!important
}


/* KR QA sticky lock: eliminate the small snap when sheet scrolling begins */
@media(max-width:430px){
  html.funy-map-qa body:not(.country-japan) .map-shop-sheet>.qa-sheet-sticky-head{
    position:sticky!important;
    top:0!important;
    margin:-12px 0 0!important;
    padding:0 0 6px!important;
    transform:none!important;
    translate:none!important;
    will-change:auto!important;
    contain:paint!important
  }
  html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .map-sheet-handle{
    margin:0 -4px 2px!important;
    transform:none!important;
    translate:none!important
  }
  html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .qa-list-tabs{
    margin:0!important;
    transform:none!important;
    translate:none!important
  }
}


/* KR QA sticky header v2: no negative margin, no scroll bleed above fixed handle/tabs */
@media(max-width:430px){
  html.funy-map-qa body:not(.country-japan) .map-shop-sheet{
    padding-top:0!important
  }
  html.funy-map-qa body:not(.country-japan) .map-shop-sheet>.qa-sheet-sticky-head{
    position:sticky!important;
    top:0!important;
    z-index:160!important;
    margin:0!important;
    padding:4px 0 6px!important;
    background:rgba(249,248,250,.985)!important;
    -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
    backdrop-filter:blur(22px) saturate(145%)!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
    translate:none!important;
    contain:paint!important
  }
  html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .map-sheet-handle{
    position:relative!important;
    top:auto!important;
    margin:0 -4px 2px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important
  }
  html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .qa-list-tabs{
    margin:0!important;
    transform:none!important
  }

  /* Prevent mobile browser focus zoom when keyboard opens */
  html.funy-map-qa .map-search-input{
    font-size:16px!important
  }
}


/* KR QA bottom-sheet chrome unified with map current-location sheet */
@media(max-width:430px){
  html.funy-map-qa body:not(.country-japan) .map-shop-sheet>.qa-sheet-sticky-head{
    padding:0 0 6px!important
  }
  html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .map-sheet-handle{
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:9px 0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important
  }
  html.funy-map-qa body:not(.country-japan) .qa-sheet-sticky-head .map-sheet-handle span{
    width:38px!important;
    height:4px!important;
    min-width:38px!important;
    min-height:4px!important;
    max-width:38px!important;
    max-height:4px!important;
    border-radius:999px!important;
    background:#d9d5dd!important
  }
}


/* QA only: Japan card-shop sheet uses the same top spacing + 38x4 handle geometry */
@media(max-width:430px){
  html.funy-map-qa body.country-japan .map-shop-sheet{
    padding-top:0!important
  }
  html.funy-map-qa body.country-japan .map-shop-sheet>.map-sheet-handle{
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:9px 0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:linear-gradient(180deg,rgba(249,248,250,.98) 65%,rgba(249,248,250,0))!important
  }
  html.funy-map-qa body.country-japan .map-shop-sheet>.map-sheet-handle span{
    width:38px!important;
    height:4px!important;
    min-width:38px!important;
    min-height:4px!important;
    max-width:38px!important;
    max-height:4px!important;
    border-radius:999px!important;
    background:#d9d5dd!important
  }
}


/* QA: sort button + all filters scroll together as one horizontal row */
html.funy-map-qa body:not(.country-japan) .qa-shop-tools,
html.funy-map-qa body:not(.country-japan) .qa-vending-tools{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:7px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important
}
html.funy-map-qa body:not(.country-japan) .qa-shop-tools::-webkit-scrollbar,
html.funy-map-qa body:not(.country-japan) .qa-vending-tools::-webkit-scrollbar{display:none!important}
html.funy-map-qa body:not(.country-japan) .qa-shop-filter-strip,
html.funy-map-qa body:not(.country-japan) .qa-operator-strip{
  display:flex!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:max-content!important;
  overflow:visible!important;
  gap:7px!important
}
html.funy-map-qa body:not(.country-japan) .qa-shop-tools>.list-sort,
html.funy-map-qa body:not(.country-japan) .qa-vending-tools>.list-sort{
  flex:0 0 104px!important
}
html.funy-map-qa body:not(.country-japan) .qa-shop-tools .list-sort-menu,
html.funy-map-qa body:not(.country-japan) .qa-vending-tools .list-sort-menu{
  position:fixed!important;
  right:auto!important;
  margin:0!important
}

/* QA: actual operator brand mark in vending list */
.qa-operator-logo{overflow:hidden!important}
.qa-operator-logo img{
  display:block!important;
  width:34px!important;
  height:34px!important;
  max-width:70%!important;
  max-height:70%!important;
  object-fit:contain!important
}
.qa-operator-logo-fallback{
  color:inherit!important;
  font:900 8.8px/1.15 Pretendard,sans-serif!important;
  text-align:center!important
}


/* QA v15: portalized sort dropdowns so horizontal toolbar scrolling cannot offset them */
.qa-sort-portal-host{
  pointer-events:none!important;
  margin:0!important;
  padding:0!important
}
.qa-sort-portal-host .list-sort-menu{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  width:118px!important;
  min-width:118px!important;
  margin:0!important;
  pointer-events:auto!important
}

/* Vending tab must never show card-shop list toolbar/content */
html.funy-map-qa body:not(.country-japan).qa-vending-tab-active .qa-shop-tools,
html.funy-map-qa body:not(.country-japan).qa-vending-tab-active .qa-shop-only,
html.funy-map-qa body:not(.country-japan).qa-vending-tab-active #shop-list,
html.funy-map-qa body:not(.country-japan).qa-vending-tab-active #empty,
html.funy-map-qa body:not(.country-japan).qa-vending-tab-active .shop-request-list-banner{
  display:none!important
}

/* Actual operator logo image presentation */
.qa-operator-logo{
  background:#fff!important;
  border:1px solid #ece8ef!important
}
.qa-operator-logo img{
  width:42px!important;
  height:42px!important;
  max-width:82%!important;
  max-height:82%!important;
  object-fit:contain!important
}
.qa-operator-logo[data-operator="메가박스"] img,
.qa-operator-logo[data-operator="롯데월드"] img{
  width:34px!important;
  height:34px!important
}


/* QA v17: normalize vending operator thumbnail fit */
.qa-operator-logo{
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
}
.qa-operator-logo img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0!important;
  max-width:none!important;
  max-height:none!important;
}
.qa-operator-logo[data-operator="롯데시네마"] img,
.qa-operator-logo[data-operator="메가박스"] img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  padding:0!important;
}
.qa-operator-logo.qa-operator-logo-bg{
  padding:0!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
.qa-operator-logo[data-operator="롯데월드"] img,
.qa-operator-logo[data-operator="KTX"] img,
.qa-operator-logo[data-operator="이마트"] img,
.qa-operator-logo[data-operator="롯데마트"] img,
.qa-operator-logo[data-operator="CGV"] img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:3px!important;
  box-sizing:border-box!important;
}

/* LIVE PIN uses the same liquid-glass chip geometry as the map layers. */
.live-temp-layer.active{border-color:rgba(83,76,94,.64);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,243,248,.68));color:#37313f;box-shadow:0 6px 18px rgba(48,39,58,.12),inset 0 1px 0 rgba(255,255,255,.96)}
.live-temp-layer .live-layer-bolt{font-size:1em;line-height:1;opacity:.45}.live-temp-layer.active .live-layer-bolt{opacity:1}

/* APP edge-to-edge map top v20261021 */
html.app-shell.funy-map-qa .map-search-float{top:calc(max(var(--funy-native-safe-top,0px),env(safe-area-inset-top,0px),28px) + 14px)!important}
html.app-shell.funy-map-qa .map-filter-bar{top:calc(max(var(--funy-native-safe-top,0px),env(safe-area-inset-top,0px),28px) + 70px)!important}
html.app-shell.funy-map-qa .qa-geocode-status{top:calc(max(var(--funy-native-safe-top,0px),env(safe-area-inset-top,0px),28px) + 118px)!important}
@media(max-width:430px){
  html.app-shell.funy-map-qa .map-search-float{top:calc(max(var(--funy-native-safe-top,0px),env(safe-area-inset-top,0px),28px) + 10px)!important}
  html.app-shell.funy-map-qa .map-filter-bar{top:calc(max(var(--funy-native-safe-top,0px),env(safe-area-inset-top,0px),28px) + 64px)!important}
}


/* APP MAP sheet chrome + bottom scroll extension v20261021 */
@media(max-width:430px){
  html.app-shell.funy-map-qa body:not(.country-japan) .map-shop-sheet{
    bottom:0!important;
    height:auto!important;
    max-height:none!important;
    padding-bottom:0!important
  }
  html.app-shell.funy-map-qa body:not(.country-japan) .map-shop-sheet>.qa-sheet-sticky-head{
    margin-left:-14px!important;
    margin-right:-14px!important;
    padding-left:14px!important;
    padding-right:14px!important;
    background:#f9f8fa!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    overflow:hidden!important;
    isolation:isolate!important
  }
  html.app-shell.funy-map-qa body:not(.country-japan) .map-shop-sheet .shop-list{
    padding-bottom:calc(58px + var(--funy-native-safe-bottom,16px) + 28px)!important
  }
  html.app-shell.funy-map-qa body:not(.country-japan) .map-shop-sheet .qa-vending-panel,
  html.app-shell.funy-map-qa body:not(.country-japan) .map-shop-sheet .market-sheet-panel{
    padding-bottom:calc(58px + var(--funy-native-safe-bottom,16px) + 28px)!important
  }
}
