
@font-face {
    font-family: 'RiaSans';
    src: url('https://cdn.jsdelivr.net/gh/fontbee/font@main/LOTTE/RiaSans-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'RiaSans';
    src: url('https://cdn.jsdelivr.net/gh/fontbee/font@main/LOTTE/RiaSans-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'RiaSans';
    src: url('https://cdn.jsdelivr.net/gh/fontbee/font@main/LOTTE/RiaSans-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}



/* ======================
포털형 바디값
====================== */
body{ background: var(--bg2); }
footer {margin-top:50px; background:#fff !important;}
footer .footer-logo {
  height: clamp(25px, 5vw + 6px, 40px);
  width: auto;
  display: inline-block;
  vertical-align: middle;
}

html,body,
* {word-break:keep-all;}


/* ======================
메인 (인트로2 )
====================== */

body.intro_store {
  background: linear-gradient(295deg, #a8dc56, #4ac599, #35a5de, #3781dd);
}



/* ======================
메인 (인트로1 포털형)
====================== */


/* ═══════ 
textbg
═══════ */
 .textbg {position:absolute; z-index:1; pointer-events:none; top:0; left:0; overflow:hidden; width:100%; height:100vh; }
 .textbg p {position:absolute; z-index:1; pointer-events:none;}


@media (max-width: 899px) { 
.textbg p.ch01 {right:-20px; top:0px; }
 .textbg p.ch02 {left:-20px; top:210px; }

.textbg p.ch01  img {width:130px; height:auto;}
.textbg p.ch02  img {width:110px; height:auto;}
}

@media (min-width: 900px) { 
 .textbg p.ch01 {right:-30px; top:0px; }
.textbg p.ch02 {left:-30px; bottom:0px; }
.textbg p.ch01  img {width:700px; height:auto;}
 .textbg p.ch02  img {width:700px; height:auto;}
}



/* ═══════ 
VIDEO BACKGROUND
═══════ */
.intro_main .video-bg {background:var(--grey-900);position: fixed;  inset: 0;  z-index: 0; overflow: hidden;  display:none}
.intro_main .video-bg video { width: 100%; height: 100%;  opacity:0.7; object-fit: cover;  /* animation: videoIn 0s ease 0.3s forwards; */}
/* .video-bg::after { content: '';  position: absolute; inset: 0;   background:rgba(0,0,0,0.2);  z-index: 1; } */
.fallback-bg {
  position: absolute;
  inset: 0;
/*   background:
    radial-gradient(ellipse at 30% 20%, rgba(0,111,70,0.3) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 80%, rgba(53,165,222,0.15) 0%, transparent 50%),
    linear-gradient(180deg, #0a1a0f 0%, #0d2818 50%, #0a1a0f 100%); */
  z-index: 0;
}

@keyframes videoIn { to { opacity: 1; } }

/* ═══════
PAGE
═══════ */
.intro_main .page {
  position: relative;
  z-index: 4;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

 .intro_main .page * {position:relative; z-index:6;}


/* ═══════ 
TOP BAR
═══════ */
@font-face {
    font-family: 'SchoolSafetyRoundedSmile';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-5@1.0/HakgyoansimDunggeunmisoTTF-R.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SchoolSafetyRoundedSmile';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-5@1.0/HakgyoansimDunggeunmisoTTF-B.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Cafe24Surround';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/Cafe24Ssurround.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}


.intro_main .topbar {
  padding-block:clamp(40px, 6.5vw, 60px);
color:var(--white);
  padding-inline:4%;
  display: flex;        font-family: 'Cafe24Surround';
  align-items: center;   
  justify-content: center; 
  opacity: 0;  line-height:1; letter-spacing:-0.02rem;
  font-size:20px;
  animation: slideDown 0.8s var(--transition) 0.2s forwards;
/* background: linear-gradient(to right, #8cbf3b, #29a67a, #35a5de, #3781dd);
mask-image: linear-gradient(to bottom, black, transparent);
-webkit-mask-image: linear-gradient(to bottom, black, transparent); */


}



.intro_main .topbar img {margin-top:-5px;   filter: brightness(0) invert(1); width:160px; }

@media (min-width: 900px) {
.intro_main .topbar { font-size:32px}
.intro_main .topbar img { width:470px;}
}


/* ═══════ 
CONTENT 
═══════ */
.intro_main .content {
  flex: 1; 
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block:clamp(30px, 2.5vw, 50);
   gap: 0px 5%;
   padding:0px 3%;
  width:100%;
 max-width: 2000px;
}

@media (min-width: 900px) {
 .intro_main  .content {
    flex-direction: row;
    gap: 100px;
  }
}


/* ═══════
HERO - 인트로
═══════ */

.intro_main .hero { color:#fff;
  text-align: center;
  opacity: 0;
  animation: fadeUp 1s var(--transition) 0.5s forwards;
  flex-shrink: 0;
}


@font-face {
    font-family: 'DaeguJungGuEupseong';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2511-1@1.0/DaeguJungguEubseong.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}


@font-face {
    font-family: 'KccImKwonTaek';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2202@1.0/KCCImkwontaek.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MungyeongGamhongApple';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2410-2@1.0/Mungyeong-Gamhong-Apple.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SoyoDanpung';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2310@1.0/SOYOMapleRegularTTF.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'SoyoDanpung';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2310@1.0/SOYOMapleBoldTTF.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}


.intro_main .hero h2 { font-weight:700; font-size:clamp(27px, 5.5vw, 65px); line-height:1.3; 
/*   background: linear-gradient(120deg, #d1d622 0%, #a8dc56 100%); 
    font-family: 'KccImKwonTaek';
	    font-family: 'DaeguJungGuEupseong';
		    font-family: 'MungyeongGamhongApple';*/
    font-family: 'SoyoDanpung';  letter-spacing:-0.03em;
/*   -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; 
  background-clip: text;
  color: transparent;*/
}
.intro_main .hero h2 span {letter-spacing:inherit}
.intro_main .hero h2 span:nth-child(1) {color:#d1d622;}
.intro_main .hero h2 span:nth-child(3) {color:#95c83d;}

.intro_main .hero h3 {color:#fff; font-size:clamp(19px, 2.5vw, 26px);  padding-bottom:10px;
font-weight:300; line-height:1.6; padding-top:20px;}

/* .hero h3 img {width:150px; }
.hero h2 img {width:270px; margin-top:-15px;} */

@media (min-width: 900px) {
 .intro_main  .hero { text-align: left; }
.intro_main .hero h3 {padding-bottom:40px;
 padding-top:30px;}


/* .hero h3 img {width:320px; margin-bottom:10px; }
.hero h2 img {width:550px; margin-top:0;} */
}









/* ======================
메인 (인트로2 가게)
====================== */



/* ── Layout ── */
.store_intro{width: 100%;
    display: flex;
    flex-flow: column;
    height: 100vh; position:relative;}
.store_intro .intro-wrap {
  position: relative; z-index: 2;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
      background: #0078ed;
  overflow: hidden;
}
.intro-wrap::before{content:''; display:block; width:220px; height:580px; background:url('/images/buk-icon-1.png'); background-size:cover; position:absolute; top:50%; transform:translateY(-50%); left:15%; z-index:1; opacity:.3;}
.intro-wrap::after{content:''; display:block; width:220px; height:580px; background:url('/images/buk-icon-2.png'); background-size:cover; position:absolute; top:50%; transform:translateY(-50%); right:15%; z-index:1; opacity:.3;}
/* ── Glass card ── */
.store_intro .intro-card {
  position: relative;
  z-index: 100;
  padding: 0;
  text-align: center;
  max-width: 980px;
  width: 100%;
  opacity: 0;
  animation: cardIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards;
    display: flex;
    flex-flow: column;
    align-items: center;
}



/* ── Restaurant name ── */
.store_intro .intro-name-kr {
  font-size: clamp(15px, 7.5vw, 24px);
  font-family: 'RiaSans', sans-serif;
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1.4;
  color: rgba(255,255,255,0.7);
  text-shadow: 0 2px 12px rgba(0,0,0,0.08);
  opacity: 0;
  animation: fadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.7s forwards;
}

.store_intro .intro-name-en {
  font-size: clamp(25px, 7.5vw, 70px);
  font-family: 'RiaSans', sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  color: #fff;
  margin-top: clamp(4px, 1vh, 10px);
  opacity: 0;
  animation: fadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.55s forwards;
}

/* ── Divider ── */
.store_intro .intro-divider {
  width: 32px; height: 3px;
  background: rgba(255,255,255,0.5);
  border-radius: 4px;
  margin: clamp(32px, 3.5vh, 68px) auto;
  opacity: 0;
  animation: fadeUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.85s forwards;
}

/* ── Select text ── */
.store_intro .intro-select {
    width: fit-content;
  font-size: clamp(15px, 1.6vw, 25px);
  font-weight: 300;
  letter-spacing: 0;
  color: #0078ed;
	background:#fff; 
	border-radius:100px; padding:6px 20px;
  margin-bottom: 0;
  opacity: 0;
  animation: fadeUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

/* ── Flag row: 2열 × 2줄, 가로 라운드박스 ── */
.store_intro .flag-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 2.5vw, 16px);
  width: min(100%, 520px);
  margin: 0 auto;
  opacity: 0;
  animation: fadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
}

.store_intro .flag-link { 
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  width: 100%;
  height: auto;
  min-height: clamp(52px, 6vw, 74px);
  padding: clamp(10px, 1.5vw, 17px) clamp(30px, 3vw, 50px);
  border-radius: 999px;
  aspect-ratio: auto;
  background: rgba(255,255,255,0.4);
  border: 1px solid #fff;;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  font-weight: 600;
  font-size: clamp(16px, 2vw, 22px);
  letter-spacing: -0.02em;
  white-space: nowrap;
  box-sizing: border-box;
}
.store_intro .flag-link .flag-link-label {
  min-width: 0;
}
.store_intro .flag-link .flag-link-arrow {
  font-size: 0.9em;
  line-height: 1;
  flex-shrink: 0;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.store_intro .flag-link img {
  width: 60%}
.store_intro .flag-link:hover {
  background: rgba(255,255,255,0.48);
  border-color: rgba(255,255,255,0.7);
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}
.store_intro .flag-link:active {
  transform: translateY(-1px) scale(1.01);
}


/* ── Keyframes ── */
@keyframes cardIn {
  from { opacity: 0; transform: translateY(30px) scale(0.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes popIn {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Responsive ── */
@media (max-height: 480px) {
.store_intro   .intro-card { padding: 24px 28px; }
.store_intro   .intro-divider { margin: 14px auto; }
  .store_intro .intro-icon { margin-bottom: 8px; }
}





.store_intro .flag-link.lang-ko {
  color: #3472FB;
}

.store_intro .flag-link.lang-en {
	color:#33A670;
}

.store_intro .flag-link.lang-ja {
  color: #E94757;
}

.store_intro .flag-link.lang-cn {
  color: #FF8943;
}

.store_intro .flag-link.lang-tw {
  color: #414B6A;
} 



.store_intro .flag-link.lang-ko { color:  #fff; }
.store_intro .flag-link.lang-en { COLOR:  #fff;}
.store_intro .flag-link.lang-ja{color:  #fff;}
.store_intro .flag-link.lang-cn{ color:  #fff; }
.store_intro .flag-link.lang-tw  { color: #fff; }





.store_intro .flag-link.lang-cn,
.store_intro .flag-link.lang-tw
{ font-family: "Noto Sans SC", sans-serif; }



@media (min-width: 1200px) {
 .store_intro  .flag-grid { gap: 16px; max-width: 560px; }

.store_intro .flag-link {
  width: 100%;
  height: auto;
  min-height: 56px;
  font-size: 23px;
}
}















.lang-panel-header {
  display: flex;
  align-items: center; justify-content:center;
  gap: 8px;
  margin-top: 16px;
  padding:0px; padding-bottom:20px; color:#fff;
}

.lang-panel-header svg { width: 18px; height: 18px; color: var(--white-100); }

.lang-panel-header span {
  font-size: 14px; font-weight: 700;
  color: var(--white-100);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}



@media (min-width: 900px) {
.lang-panel-header { justify-content:left;  }
.lang-panel-header svg { width: 26px; height: 26px;  }
.lang-panel-header span { font-size: 20px;}


}








/* ═══════ LANGUAGE PANEL ═══════ */
.lang-panel {
  width: 100%;
  max-width: 420px; padding-bottom:30px;
  opacity: 0;
  animation: fadeUp 1s var(--transition) 0.7s forwards;
}


.lang-list { display: flex; flex-direction: column; gap: 8px; }

@media (min-width: 900px) {
.lang-panel { max-width: 400px; padding-bottom:0px;  } 
.lang-list {  gap: 11px; }


}


.lang-card {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding:14px 26px;
  background:#fff;
/*   background: var(--glass);
   *//*   backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4); */
/*   border: 1px solid var(--glass-border); */
  border-radius: 16px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
/*   transition: all 0.45s var(--transition);  */
  opacity: 0;

  animation: cardSlide 0.6s var(--transition) forwards;
}

.lang-card:nth-child(1) { animation-delay: 0.8s; }
.lang-card:nth-child(2) { animation-delay: 0.88s; }
.lang-card:nth-child(3) { animation-delay: 0.96s; }
.lang-card:nth-child(4) { animation-delay: 1.04s; }
.lang-card:nth-child(5) { animation-delay: 1.12s; }

.lang-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0%; bottom: 0%;
  width: 4px;
  border-radius: 0 3px 3px 0;
  transition: all 0.45s var(--transition);
  opacity: 0;
}

.lang-card:nth-child(1)::before { background: var(--green-deep); }
.lang-card:nth-child(2)::before { background: var(--blue-sky); }
.lang-card:nth-child(3)::before { background: var(--teal); }
.lang-card:nth-child(4)::before { background: var(--green-lime); }
.lang-card:nth-child(5)::before { background: var(--yellow-lime); }

.lang-card:hover {
  background:var(--grey-100);
  transform: translateX(4px);
/*     border-color: rgba(255,255,255,0.2);
  box-shadow: 0 8px 32px rgba(0,0,0,0.2); */
}

.lang-card:hover::before { opacity: 1; top: 15%; bottom: 15%; }
.lang-card:active { transform: translateX(2px) scale(0.985); }







.lang-flag {
  width: 60px; height: 60px;
  border-radius: 10px;
/* font-family: 'Twemoji' !important;
 *//*   background: var(--white-08); */
    background: var(--grey-200);
  display: flex; align-items: center; justify-content: center;
  font-size:clamp(16px, 2.5vw, 19px);
  font-weight:600;
color:rgba(255,255,255,0.8);
  flex-shrink: 0;
  transition: transform 0.45s var(--bounce);
  box-shadow: inset 0 0 0 1px var(--white-08);
}

.lang-card:hover .lang-flag { transform: scale(1.1) rotate(-3deg); }

.lang-info { flex: 1; }
.lang-name { font-size: 18px; font-weight: 700; color: var(--grey-900); letter-spacing: -0.02em; line-height: 1.3; }
.lang-native { font-size: 14px; color: var(--grey-600); font-weight: 400; margin-top: 2px; }

.lang-arrow {
  width: 32px; height: 32px;
  border-radius: 8px; 
/*   background: var(--white-08); */
    background: var(--grey-100);

  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.45s var(--transition);
}

.lang-arrow svg { width: 16px; height: 16px; color: var(--grey-400);   transition: all 0.45s var(--transition); }
/* .lang-card:hover .lang-arrow { background: var(--green-bright); }
 */.lang-card:hover .lang-arrow svg { color: white; transform: translateX(2px); }

.lang-card:nth-child(1) .lang-flag,
.lang-card:nth-child(1):hover .lang-arrow  { background: var(--green-deep); }
.lang-card:nth-child(2) .lang-flag,
.lang-card:nth-child(2):hover .lang-arrow  { background: var(--blue-sky); }
.lang-card:nth-child(3) .lang-flag,
.lang-card:nth-child(3):hover .lang-arrow { background: var(--teal); }
.lang-card:nth-child(4) .lang-flag,
.lang-card:nth-child(4):hover .lang-arrow { background: var(--green-lime); }
.lang-card:nth-child(5) .lang-flag,
.lang-card:nth-child(5):hover .lang-arrow  { background: var(--yellow-lime); }



.lang-card:nth-child(4) .lang-flag,
.lang-card:nth-child(5) .lang-flag{ font-family: "Noto Sans SC", sans-serif; }







/* ═══════ FOOTER ═══════ */






/* ═══════ KEYFRAMES ═══════ */
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideDown { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes cardSlide { from { opacity: 0; transform: translateX(-16px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.7); } }

/* ═══════ MOBILE ═══════ */
@media (max-width: 480px) {

  .content { padding:0px 20px ; gap: 12px; }
  .hero h1 { font-size: 32px; }
  .hero-desc { font-size: 14px; }
  .lang-card { padding: 14px 16px; gap: 12px; }
  .lang-flag { width: 53px; height: 53px; font-size: 19px; border-radius: 10px; }
  .lang-name { font-size: 15px; }
  .food-tag { font-size: 11px; padding: 5px 10px; }
}







body:not(.intro_main):not(.store_intro) {background:#EDF3F7; }
:root {
  --radius: 16px;
  --radius-sm: 12px;
  --header-h:clamp(60px, 6vw, 80px);
}


/* ═══════ sub-header ═══════ */
.sub-header {
  position: fixed; top:0; left:0; right:0; z-index:100;
  height: var(--header-h); padding:0 2%;
  display:flex; align-items:center; justify-content:space-between;
  gap: 10px;
  background-color: #0078ed;
  /*background-image: url('/images/sub-header-bg.jpg');*/
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.sub-header-desktop-only { display: none; }
.sub-header-mobile-only { display: inline-flex; }
.sub-header-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.sub-header-mypage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  border-radius: 100px;
  border: 1.5px solid rgba(255,255,255,0.45);
  background: rgba(255,255,255,0.22);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background 0.2s ease, transform 0.1s ease;
}
.sub-header-mypage:hover,
.sub-header-mypage:active {
  background: rgba(255,255,255,0.35);
  color: #fff;
}
.sub-header-nav-toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1.5px solid rgba(255,255,255,0.45);
  border-radius: 12px;
  background: rgba(255,255,255,0.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
  flex-shrink: 0;
}
.sub-header-nav-toggle .nav-toggle-bar {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.sub-header-nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.sub-header-nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2) {
  opacity: 0;
}
.sub-header-nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.sub-header .header-left {  display:flex; align-items:center; gap:10px; cursor:pointer;}
.sub-header .header-left  img {width:auto; height:28px; /* max-width:min(340px,42vw);  */filter: brightness(0) invert(1);}
.lang-en    .sub-header .header-left  img   {height:clamp(43px, 2.5vw,53px);}
.lang-ja    .sub-header .header-left  img   {height:clamp(35px, 2.5vw,40px); margin-top:3px;}
.lang-zhCN  .sub-header .header-left  img  {height:clamp(35px, 2.5vw,40px); margin-top:3px;}
.lang-zhTW  .sub-header .header-left  img  {height:clamp(35px, 2.5vw,40px); margin-top:3px;}

.sub-header .header-left { width:fit-content;  color:#fff;
  font-family: 'Cafe24Surround';  display:flex; align-items:center; gap:10px; }
.sub-header .header-left  p {line-height:1; font-size:21px;}

/* .sub-header .lang-chip {
  display:flex; align-items:center; gap:6px;
  padding:6px 42px 6px 21px; border-radius:100px;
  border:1.5px solid rgba(255,255,255,0.4);
  background:rgba(255,255,255,0.25); 
  font-size:13px; font-weight:800; color:var(--grey-800);
  backdrop-filter:blur(8px);
  text-decoration:none;
  transition: all 0.3s var(--transition);
background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'none'%20viewBox%3D'0%200%2024%2024'%20stroke-width%3D'1.5'%20stroke%3D'rgba(5%2C5%2C5%2C0.7)'%20class%3D'size-6'%3E%3Cpath%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%20d%3D'm19.5%208.25-7.5%207.5-7.5-7.5'%20%2F%3E%3C%2Fsvg%3E");
background-size: auto 14px;
background-repeat: no-repeat;
background-position: right 10px center;
}
.lang-chip .flag { font-size:16px;  font-family: 'Twemoji' !important;} */


/* wrapper - 레이아웃만 */
.sub-header .lang-switcher {
  position: relative;
  display: inline-flex;
}

/* 칩 - 기존 스타일 그대로 + 화살표 bg 제거 */
.sub-header .lang-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 42px 6px 21px;
  border-radius: 100px;
  border: 1.5px solid rgba(255,255,255,0.4);
  background-color: rgba(255,255,255,0.25);
  background-image: none;
  font-size: 15px;
  font-weight: 600;
  color: #fff; 
  backdrop-filter: blur(8px);
  text-decoration: none;
  cursor: pointer;
  position: relative;
  transition: all 0.3s var(--transition);
}

/* 화살표 가상요소 */
.sub-header .lang-chip::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'none'%20viewBox%3D'0%200%2024%2024'%20stroke-width%3D'1.5'%20stroke%3D'%23ffffff'%3E%3Cpath%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%20d%3D'm19.5%208.25-7.5%207.5-7.5-7.5'%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.25s ease;
}

/* open 시 화살표 위로 */
.sub-header .lang-switcher.open .lang-chip::after {
  transform: translateY(-50%) rotate(180deg);
}

/* 드롭다운 메뉴 */
.sub-header .lang-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255,255,255,0.5);
  border-radius: 14px;
  padding: 6px;
  min-width: 100%;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 100;
}

/* open 시 메뉴 표시 */
.sub-header .lang-switcher.open .lang-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* 메뉴 아이템 */
.sub-header .lang-option {
  padding: 5px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--grey-800);
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  transition: background 0.15s ease;
}

.sub-header .lang-option:hover {
  background: rgba(0,0,0,0.07);
}

.sub-header .lang-option.is-active {
  background: rgba(55,129,221,0.12);
  color: var(--blue-deep);
  font-weight: 800;
}

.sub-header button.lang-chip {
  font: inherit;
  line-height: 1.2;
  -webkit-appearance: none;
  appearance: none;
  font-size: 0.9rem;
  font-weight:bold; 
}

@media (max-width: 899px) {
.sub-header .header-left  img { height:22px;  }
.sub-header .header-left  p { font-size:17px;}

.sub-header .lang-chip {
gap:4px;
  padding:6px 32px 6px 11px; 
  font-size:12px; 
background-size: auto 12px;
background-position: right 10px center;
}

}

@media (min-width: 900px) {
.sub-header-desktop-only { display: flex; }
.sub-header-mobile-only { display: none !important; }
}


.page-inner {width:94%; max-width:1200px; margin:0 auto;  padding-block:clamp(40px, 2.5vw, 80px)}





/* ======================
맵페이지
====================== */


:root {
  --bg2: #F2F3F6;
  --accent-blue: #2563EB;
  --tag-kbbq: #FF6B35;
  --tag-kbbq-bg:#FFF0E6;
  --tag-korean: #2EC4B6;
  --tag-japanese: #E11D48;
  --tag-chinese: #DC2626;
  --tag-intl:#9B5DE5;
  --tag-fusion: #F15BB5;
  --tag-street:#E6A817;
  --tag-fastfood: #F59E0B;
  --tag-cafe: #A0522D;
  --tag-alcohol: #B45309;
  --tag-buffet: #0D9488;
  --tag-etc: #6B7280;
  --sheet-radius: 24px;
  --card-radius: 16px;
  --ease-map: cubic-bezier(0.22, 1, 0.36, 1);
}


/* ─── 
map-layer 레이아웃
─── */
.fullmap_wrap .map-layer {
  position: fixed;
  top: var(--header-h);
  left: 0; right: 0;
  bottom: 0;
  z-index: 1;
}
.fullmap_wrap #map { width: 100%; height: 100%; }

.fullmap_wrap .near-me-btn {
  position: fixed;
  top: calc(var(--header-h) + clamp(34px, 7.5vw, 60px));
  left: clamp(10px, 2.5vw, 16px);
  right: auto;
  /* Google Maps 컨트롤·바텀시트 transform 레이어보다 위 (Android 터치) */
  z-index: 10050;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 14px;
  border: none;
  border-radius: 999px;
  background: #fff;
  font-family: inherit;
  font-size: clamp(13px, 2.5vw, 15px);
  font-weight:600;
  box-shadow: 0 2px 12px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04);
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  transition: transform 0.2s var(--ease-map), box-shadow 0.2s, opacity 0.2s;
}
.fullmap_wrap .near-me-btn:active { transform: translateZ(0) scale(0.95); }
/* 리스트(시트)가 펼쳐지면 내 주변은 지도 뒤로 — 목록에 가리지 않게 숨김만 (클릭 불능 방지용 display) */
body.portal-sheet-expanded .fullmap_wrap .near-me-btn,
.fullmap_wrap .bottom-sheet.expanded ~ .near-me-btn {
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.fullmap_wrap .near-me-btn.is-locating {
  opacity: 0.85;
  /* 위치 잡는 중에도 「내 주변」재클릭으로 허용 창을 다시 띄울 수 있어야 함 */
  pointer-events: auto;
  box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.35), 0 2px 12px rgba(0,0,0,0.12);
  animation: nearMePulse 1.1s ease-in-out infinite;
}
@keyframes nearMePulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.25), 0 2px 12px rgba(0,0,0,0.12); }
  50% { box-shadow: 0 0 0 6px rgba(66, 133, 244, 0.4), 0 2px 12px rgba(0,0,0,0.12); }
}
.fullmap_wrap .near-me-btn svg {
  width: 16px; height: 16px;
  stroke: var(--accent-blue); fill: none;
  stroke-width: 2; stroke-linecap: round;
}

/* 내 주변 — 위치 권한 선택/안내 */
.geo-perm-overlay {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  background: rgba(15, 23, 42, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
.geo-perm-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.geo-perm-sheet {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 18px;
  padding: 22px 20px 16px;
  box-shadow: 0 16px 48px rgba(0,0,0,0.2);
  transform: translateY(12px);
  transition: transform 0.25s cubic-bezier(0.22,1,0.36,1);
}
.geo-perm-overlay.is-open .geo-perm-sheet { transform: translateY(0); }
.geo-perm-title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111;
}
.geo-perm-body {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
  color: #4b5563;
  white-space: pre-line;
}
.geo-perm-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.geo-perm-btn {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #f3f4f6;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  color: #374151;
  cursor: pointer;
}
.geo-perm-btn--primary {
  background: var(--accent-blue, #3781dd);
  border-color: var(--accent-blue, #3781dd);
  color: #fff;
}
.geo-perm-btn--ghost {
  background: #fff;
  color: #6b7280;
}
@media (min-width: 768px) {
  .geo-perm-overlay { align-items: center; }
}

/* 모바일: 줌(+/-)이 바텀시트에 가리지 않도록 우측 상단 배치, 내 주변 버튼 아래 */
.fullmap_wrap .gm-bundled-control {
  margin-top: 52px !important;
  margin-right: 4px !important;
}
.fullmap_wrap .gmnoprint button,
.fullmap_wrap .gm-control-active {
  width: 40px !important;
  height: 40px !important;
}

/* 관리자 지도 좌표 편집 바 */
.fullmap_wrap .admin-map-bar {
  position: fixed;
  top: calc(var(--header-h) + clamp(34px, 7.5vw, 60px) + 48px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 80;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 16px;
  max-width: min(560px, calc(100vw - 24px));
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(31, 41, 55, 0.92);
  color: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  font-size: 13px;
  line-height: 1.35;
}
.fullmap_wrap .admin-map-bar__msg { flex: 1 1 200px; text-align: center; }
.fullmap_wrap .admin-map-bar__msg strong { color: #ffb08a; }
.fullmap_wrap .admin-map-bar__actions {
  display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0;
}
.fullmap_wrap .admin-map-bar__dirty {
  font-weight: 700; color: #fde68a; min-width: 4.5em; text-align: right;
}
.fullmap_wrap .admin-map-bar__save {
  height: 36px; padding: 0 14px; border: none; border-radius: 8px;
  background: #ff6f3c; color: #fff; font-weight: 700; font-size: 13px;
  cursor: pointer; font-family: inherit;
}
.fullmap_wrap .admin-map-bar__save:disabled {
  opacity: 0.45; cursor: not-allowed;
}
.fullmap_wrap .admin-map-bar__save:not(:disabled):hover { filter: brightness(1.06); }
/* 리스트(시트) 펼침 시 「위치 저장」바가 목록을 덮지 않도록 */
body.portal-sheet-expanded .fullmap_wrap .admin-map-bar {
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.fullmap_wrap .sf-gmap-pin.is-admin-draggable { touch-action: none; }
@media (min-width: 768px) {
  .fullmap_wrap .admin-map-bar {
    left: auto; right: 24px; transform: none;
    max-width: 360px;
  }
  .fullmap_wrap .admin-map-bar__msg { text-align: left; }
}



/* ─── 
BOTTOM SHEET
─── */
.fullmap_wrap .bottom-sheet {
  position: fixed;
  padding-block:clamp(0px, 2.5vw, 20px);
  padding-inline:clamp(0px, 2.5vw, 10px);
  left: 0; right: 0; bottom: 0;
  z-index: 50;
  height: calc(100dvh - var(--header-h));
  display: flex;
  flex-direction: column;
  background: var(--bg2);
  border-radius: var(--sheet-radius) var(--sheet-radius) 0 0;
  box-shadow: 0 -8px 40px rgba(0,0,0,0.12), 0 -2px 8px rgba(0,0,0,0.06);
  transition: transform 0.4s var(--ease-map);
  will-change: transform;
  /* JS가 카테고리 하단 기준으로 peek 계산. CSS 폴백 */
  --peek: 72%;
  transform: translateY(var(--peek));
}
.fullmap_wrap .bottom-sheet.expanded { transform: translateY(0); }
.fullmap_wrap .bottom-sheet.collapsed { transform: translateY(var(--peek)); }

/* 접힌 상태: 카테고리 아래 여백·리스트 숨김 → 시트가 더 내려간 것처럼 보임 */
@media (max-width: 767px) {
  .fullmap_wrap .bottom-sheet.collapsed .categories {
    margin-bottom: 0 !important;
  }
  .fullmap_wrap .bottom-sheet.collapsed .list-header,
  .fullmap_wrap .bottom-sheet.collapsed .sheet-scroll {
    display: none;
  }
}



/* 핸들 — 클릭으로 최대/최소 토글 (모바일) */
.fullmap_wrap .sheet-handle {
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: calc(100% - 24px);
  margin: 6px auto 10px;
  padding: 10px 16px;
  border: none;
  border-radius: 14px;
  background: linear-gradient(-90deg, #a8dc56, #4ac599, #35a5de, #3781dd);
  box-shadow: 0 4px 16px rgba(55, 129, 221, 0.32);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: -0.02em;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}
.fullmap_wrap .sheet-handle:active {
  transform: scale(0.98);
  opacity: 0.94;
  box-shadow: 0 2px 10px rgba(55, 129, 221, 0.28);
}
.fullmap_wrap .sheet-handle-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}
.fullmap_wrap .sheet-handle-arrow::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  transform: rotate(-135deg);
  margin-top: 3px;
}
/* 접힘(아래쪽) → 위 화살표 (글자 앞) */
.fullmap_wrap .bottom-sheet.collapsed .sheet-handle-arrow::before {
  transform: rotate(-135deg);
  margin-top: 3px;
}
/* 펼침(위쪽) → 아래 화살표 (글자 앞) */
.fullmap_wrap .bottom-sheet.expanded .sheet-handle-arrow::before {
  transform: rotate(45deg);
  margin-top: -3px;
}
.fullmap_wrap .sheet-handle-text {
  display: block;
  line-height: 1.35;
  padding: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.fullmap_wrap .store-dist {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--accent-blue, #3781dd);
  letter-spacing: -0.02em;
}

/* 카테고리 (sheet 상단 고정) */
.fullmap_wrap .categories {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;

  /* Firefox */
  scrollbar-width: none;

  /* Chrome, Safari, Edge */
  &::-webkit-scrollbar {
    display: none;
  }
}
.fullmap_wrap .categories { margin-bottom:20px; 
  overflow-x: auto;

  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.2) transparent;

  /* Chrome, Safari */
  &::-webkit-scrollbar {
    height: 4px;
  }
  &::-webkit-scrollbar-track {
    background: transparent;
  }
  &::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.3);
    border-radius: 4px;
  }
}



.fullmap_wrap .cat-row { display: flex; gap:clamp(4px, 2.5vw, 8px); padding:10px 0; width: max-content; 
}
.fullmap_wrap .cat-btn {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 100px;
  border: 1.5px solid #E5E7EB; background:var(--grey-200);
  font-family: inherit;
  font-size: clamp(13px, 2.5vw, 15px); font-weight: 500; color:var(--grey-600);
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.2s var(--ease-map);
}
.fullmap_wrap .cat-btn.active {
  color: #fff;
  background: var(--accent-blue, #2563EB);
  border-color: var(--accent-blue, #2563EB);
  font-weight:700;
}
.fullmap_wrap .cat-btn.active .cat-dot {background:#fff !important; }
.fullmap_wrap .cat-btn:not(.active):hover { border-color: #bbb; }
.fullmap_wrap .cat-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.fullmap_wrap .cat-btn .cat-icon {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  object-fit: contain !important;
  flex-shrink: 0;
  display: block;
}
.fullmap_wrap .cat-btn.active .cat-icon { filter: none; }

/* 리스트 헤더 */
.fullmap_wrap .list-header {
  flex-shrink: 0;
  display: flex; align-items: center;
  padding: 0px 20px 10px;
}
.fullmap_wrap .list-header h2 {
  font-size: clamp(16px, 6vw, 20px); font-weight: 700; letter-spacing: -0.03em;
}
.fullmap_wrap .list-header .count {
  font-size: clamp(13px, 6vw, 17px); color: var(--accent-blue); font-weight: 700; margin-left: 6px;
}

/* 스크롤 영역 */
.fullmap_wrap .sheet-scroll {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0px 16px;
}

/* ─── STORE CARDS ─── */
.fullmap_wrap .store-list { display: flex; flex-direction: column; gap: 10px; }

.fullmap_wrap .store-card {
  display: flex; gap: clamp(14px, 2.5vw, 20px); padding: 14px;
  background:#fff;
  border-radius: var(--card-radius);
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.04);
  text-decoration: none; color: inherit;
  transition: all 0.25s var(--ease-map);
}
.fullmap_wrap .store-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.08);
  transform: translateY(-1px);
  border-color: rgba(0,0,0,0.08);
}
.fullmap_wrap .store-card:active { transform: scale(0.985); }

.fullmap_wrap .store-thumb {
  width:clamp(80px, 6.5vw, 100px); overflow:hidden;
  aspect-ratio:4/3; flex-shrink: 0;
  border-radius: 14px; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-size: 32px;
}

.fullmap_wrap .store-thumb img {width:100%; height:100%; object-fit:cover;}


/* 카테고리별 썸네일 그라디언트 */
.fullmap_wrap .store-thumb[data-cat="고기집"]     { background: linear-gradient(145deg, #FFF1EB, #FFE0D0); }
.fullmap_wrap .store-thumb[data-cat="한식"]       { background: linear-gradient(145deg, #E6FAF8, #C7F2ED); }
.fullmap_wrap .store-thumb[data-cat="일식"]       { background: linear-gradient(145deg, #FFE4E8, #FECDD3); }
.fullmap_wrap .store-thumb[data-cat="중식"]       { background: linear-gradient(145deg, #FEE2E2, #FECACA); }
.fullmap_wrap .store-thumb[data-cat="다국적음식"] { background: linear-gradient(145deg, #F3EAFF, #E4D4FC); }
.fullmap_wrap .store-thumb[data-cat="퓨전음식"]   { background: linear-gradient(145deg, #FDE8F3, #FCD0E8); }
.fullmap_wrap .store-thumb[data-cat="분식"]       { background: linear-gradient(145deg, #FFF8E1, #FFEDB3); }
.fullmap_wrap .store-thumb[data-cat="패스트푸드"] { background: linear-gradient(145deg, #FEF3C7, #FDE68A); }
.fullmap_wrap .store-thumb[data-cat="디저트/카페"]{ background: linear-gradient(145deg, #F5EDE4, #EDE0D4); }
.fullmap_wrap .store-thumb[data-cat="술"]         { background: linear-gradient(145deg, #FEF3C7, #FCD34D); }
.fullmap_wrap .store-thumb[data-cat="뷔페"]       { background: linear-gradient(145deg, #CCFBF1, #99F6E4); }
.fullmap_wrap .store-thumb[data-cat="술집"]       { background: linear-gradient(145deg, #FEF3C7, #FDE68A); }

.fullmap_wrap .store-thumb .thumb-emoji {
  font-size: clamp(28px, 5vw, 36px);
  line-height: 1;
  user-select: none;
}

.fullmap_wrap .store-body { flex: 1; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
 .fullmap_wrap .store-cat-tag {
  display: flex; gap:0px 10px; align-items: center; gap: 4px; align-items:center;
  font-size:clamp(12px, 6vw, 12px); font-weight: 600; letter-spacing: 0.02em;
}
 .fullmap_wrap .cat-dot { width: 6px; height: 6px; }


 .fullmap_wrap  .store-name { 
  font-size: clamp(16px, 3vw, 17px); font-weight: 700; letter-spacing: -0.02em;
  line-height: 1.35; min-height:30px; display:flex; gap:4px 10px; flex-wrap:wrap;
}


 .fullmap_wrap  .store-addr {
  font-size: clamp(14px, 3vw, 15px);  color:var(--grey-500); line-height: 1.4;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fullmap_wrap .store-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.fullmap_wrap .store-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}
.fullmap_wrap .store-action-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}
.fullmap_wrap .store-action-btn--detail {
  background: #eef5ff;
  color: var(--accent-blue, #3781dd);
}
.fullmap_wrap .store-action-btn--route {
  background: #fff;
  color: #3781dd;
  border: 1.5px solid #3781dd;
  box-shadow: none;
}
/* PC: 목록·마커 팝업의 길 찾기 숨김 (모바일만 표시) */
@media (min-width: 900px) {
  .fullmap_wrap .store-action-btn--route,
  .fullmap_wrap .popup-route-btn {
    display: none !important;
  }
}

 .fullmap_wrap .store-meta { display: flex; align-items: center; gap: 6px; margin-top: 5px; }

 .fullmap_wrap .badge-vegan {   font-size:clamp(10px, 2.5vw, 11px);   display:flex;
align-items: center; gap: 3px;   width:fit-content; line-height:1;
  padding: 0px 8px; border-radius: 100px;  border:0.5px solid #96e5cd;
font-weight: 800; letter-spacing: 0.05em;
  background: #ECFDF5; color: #059669;
}

/* 카드 우측 화살표 */
 .fullmap_wrap .store-card::after {
  content: '';
  flex-shrink: 0;
  align-self: center;
  width: 20px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.5 4.5l5 5.5-5 5.5' fill='none' stroke='%23aaa' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 0.7;
}



/* ─── LEAFLET 커스텀 ─── */
 .fullmap_wrap .leaflet-popup-content-wrapper {
  border-radius: 14px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.12) !important;
  padding: 0 !important;
}
 .fullmap_wrap .leaflet-popup-content { margin: 0 !important; }
 .fullmap_wrap .leaflet-popup-tip { box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; }

 .fullmap_wrap .popup-card { font-family: var(--font-sans); }
 .fullmap_wrap .popup-thumb { width: 100%; height: 88px; background: #f0ece8; overflow: hidden; display:none }
 .fullmap_wrap .popup-thumb img { width: 100%; height: 100%; object-fit: cover;  }
 .fullmap_wrap .popup-inner { padding-block:clamp(12px, 2.5vw, 15px); padding-inline:clamp(14px, 2.5vw, 18px); }
 .fullmap_wrap .popup-name { font-size:clamp(14px, 2.5vw, 17px); font-weight: 700; color:var(--grey-700); letter-spacing: -0.01em; margin-bottom: 2px; }
 .fullmap_wrap .popup-cat { font-size:clamp(11px, 2vw, 13px); color:var(--accent-blue, #3781dd); font-weight: 700; margin-bottom: 2px; }
 .fullmap_wrap .popup-short { font-size:clamp(11px, 2vw, 13px); color:var(--grey-700); margin: 4px 0 2px; line-height: 1.35; }
 .fullmap_wrap .popup-addr {font-size:clamp(12px, 2.5vw, 14px);  color:var(--grey-600);  margin-top:4px; line-height: 1.4; }
 .fullmap_wrap .popup-detail-btn {
  display: block; width: 100%; margin-top: 10px; padding: 10px 12px;
  border-radius: 10px; background: var(--accent-blue, #3781dd); color: #fff;
  font-size: clamp(13px, 2.2vw, 15px); font-weight: 700; text-align: center; text-decoration: none;
 }
 .fullmap_wrap .popup-detail-btn:hover { filter: brightness(1.05); color: #fff; text-decoration: none; }
.fullmap_wrap .popup-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.fullmap_wrap .popup-actions .popup-detail-btn,
.fullmap_wrap .popup-actions .popup-route-btn {
  flex: 1 1 0;
  width: auto;
  margin-top: 0;
}
.fullmap_wrap .popup-route-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  color: #3781dd;
  border: 1.5px solid #3781dd;
  font-size: clamp(13px, 2.2vw, 15px);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
.fullmap_wrap .popup-route-btn:hover { filter: brightness(1.03); color: #3781dd; text-decoration: none; }

 .fullmap_wrap .custom-marker {
  position: relative;
  width: max-content;
  min-width: 36px;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
 }
 .fullmap_wrap .custom-marker .pin {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 3px 14px rgba(0,0,0,0.18);
  border: 2px solid #fff;
  flex-shrink: 0;
  overflow: hidden;
}
 .fullmap_wrap .custom-marker .pin-icon { font-size: 20px; line-height: 1; filter: none; }
 .fullmap_wrap .custom-marker .pin-label {
  display: none !important;
  margin: 0 0 4px;
  max-width: 110px;
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(17, 24, 39, 0.88);
  color: #fff;
  font-size: clamp(10px, 1.8vw, 12px);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  pointer-events: none;
 }
 .fullmap_wrap .sf-gmap-pin { line-height: 0; }
 .fullmap_wrap .sf-gmap-pin .custom-marker { pointer-events: auto; }
 /* 업로드 PNG(1000px+)가 Google Maps .gm-style img 규칙으로 원본 크기 나오는 것 방지 */
 .fullmap_wrap .custom-marker .pin--img img,
 .gm-style .sf-gmap-pin .pin--img img,
 .sf-gmap-pin .pin--img img {
width:100% !important; height:100% !important;
max-width:100% !important; max-height:100% !important;
  object-fit: contain !important;
  display: block !important;
 }
 .fullmap_wrap .custom-marker .pin-shadow {
  position: absolute; bottom: -2px; left: 50%;
  transform: translateX(-50%);
  width: 20px; height: 5px;
  background: rgba(0,0,0,0.13);
  border-radius: 50%; filter: blur(2px);
}
@media (min-width: 768px) {
  .fullmap_wrap .custom-marker .pin {
    width:74px; height: 74px;
  }
  .fullmap_wrap .custom-marker .pin-icon { font-size: 24px; }
  .fullmap_wrap .custom-marker .pin--img img,
  .gm-style .sf-gmap-pin .pin--img img,
  .sf-gmap-pin .pin--img img {
    width: 100%;
height:100%;

  }
}






/* ───
DESKTOP (768px+)
─── */
@media (min-width: 768px) {
  .fullmap_wrap  .bottom-sheet {
    left: auto; right: 24px;
    width: 420px;
    top: calc(var(--header-h) + 16px);
    bottom: 16px;
    height: auto;
    max-height: none;
    transform: none !important;
    border-radius: var(--sheet-radius);
    box-shadow: 0 12px 48px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.04);
  }
   .fullmap_wrap .sheet-handle { display: none; }
  .fullmap_wrap .near-me-btn { display: none !important; }
   .fullmap_wrap .categories { padding: 16px 16px 12px; }
   .fullmap_wrap .list-header { padding: 2px 20px 10px; }
}

/* 큰 데스크톱 */
@media (min-width: 1200px) {
   .fullmap_wrap .bottom-sheet { width: 540px; right: 32px; top: calc(var(--header-h) + 24px); bottom: 24px; }
}

/* ─── 관광안내지도 링크 ─── */
.tourism-map-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 16px;
  background: linear-gradient(135deg, #f0f9f4 0%, #eef6ff 100%);
  border-bottom: 1px solid rgba(0, 111, 70, 0.12);
}
.fullmap_wrap .tourism-map-bar {
  flex-shrink: 0;
  margin: 0;
  border-radius: 0;
}
body.suseong_store > .tourism-map-bar {
  position: sticky;
  top: var(--header-h);
  z-index: 55;
}
.portal-page .tourism-map-bar {
  margin: 0 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0, 111, 70, 0.12);
}
.tourism-map-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(12px, 3.2vw, 14px);
  font-weight: 700;
  color: var(--green-deep, #006f46);
  letter-spacing: -0.02em;
}
.tourism-map-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.tourism-map-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.tourism-map-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  color: var(--green-deep, #006f46);
  background: #fff;
  border: 1px solid rgba(0, 111, 70, 0.25);
  transition: background .2s, border-color .2s, color .2s;
}
.tourism-map-btn:hover,
.tourism-map-btn:active {
  background: var(--green-deep, #006f46);
  border-color: var(--green-deep, #006f46);
  color: #fff;
}
.tourism-map-btn--dl {
  color: #fff !important;
  background: var(--accent-blue, #3781dd);
  border-color: var(--accent-blue, #3781dd);
}
.tourism-map-btn--dl:hover,
.tourism-map-btn--dl:active {
  background: #2a6bc4;
  border-color: #2a6bc4;
  color: #fff;
}

/* ─── ANIMATIONS ─── */
@keyframes slideUp {
  from { transform: translateY(calc(var(--peek) + 40px)); opacity: 0.5; }
  to { transform: translateY(var(--peek)); opacity: 1; }
}
  .fullmap_wrap .bottom-sheet { animation: none; }

 .fullmap_wrap .store-card {
  opacity: 0;
  animation: cardIn 0.35s var(--ease-map) forwards;
}
@keyframes cardIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
 .fullmap_wrap .store-card:nth-child(1)  { animation-delay: 0.06s; }
.fullmap_wrap .store-card:nth-child(2)  { animation-delay: 0.10s; }
 .fullmap_wrap .store-card:nth-child(3)  { animation-delay: 0.14s; }
 .fullmap_wrap .store-card:nth-child(4)  { animation-delay: 0.18s; }
 .fullmap_wrap .store-card:nth-child(5)  { animation-delay: 0.22s; }
 .fullmap_wrap .store-card:nth-child(6)  { animation-delay: 0.26s; }
 .fullmap_wrap .store-card:nth-child(7)  { animation-delay: 0.30s; }
 .fullmap_wrap .store-card:nth-child(8)  { animation-delay: 0.34s; }
 .fullmap_wrap .store-card:nth-child(9)  { animation-delay: 0.38s; }
 .fullmap_wrap .store-card:nth-child(10) { animation-delay: 0.42s; }
 .fullmap_wrap .store-card:nth-child(11) { animation-delay: 0.46s; }
 .fullmap_wrap .store-card:nth-child(12) { animation-delay: 0.50s; }




/* ======================
가게상세페이지
====================== */

:root {
  --text-primary: #1B1D1F;
  --text-secondary3: #6B7280;
  --text-tertiary: #9CA3AF;
  --border-light: #F2F4F6;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.07);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
  --radius2: 20px;
  --radius2-sm: 14px;
  --radius2-xs: 10px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===== STICKY SECTION NAV  ===== */
.store_all_wrap .section-nav {
  position: sticky;
  top: var(--header-h, 0px);
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--border-light);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.store_all_wrap .section-nav.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.store_all_wrap .section-nav::-webkit-scrollbar { display: none; }

.store_all_wrap .section-nav-item {
  flex: 1;
  min-width: max-content;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-tertiary);
  text-align: center;
  cursor: pointer;
  border: none;
  background: none;
  position: relative;
  white-space: nowrap;
  transition: color 0.2s ease;
  font-family: inherit;
  letter-spacing: -0.01em;
}
.store_all_wrap .section-nav-item::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 70%;
  height: 3.5px;
  background: var(--color-primary);
  border-radius: 2px;
  transition: transform 0.25s var(--ease);
}
.store_all_wrap .section-nav-item.is-active {
  color: var(--color-primary);


}
.store_all_wrap .section-nav-item.is-active::after {
  transform: translateX(-50%) scaleX(1);
}

@media (min-width: 768px) {

  .store_all_wrap .section-nav-item {
    padding: 16px 28px;
    font-size: 16px;
  }

}
@media (min-width: 1024px) {

  .store_all_wrap .section-nav {
    justify-content: center;
  }
  .store_all_wrap .section-nav-item {
    flex: none;
    padding: 16px 40px;
    font-size: 16px;
  }

}


/* ===== 
STORE HERO
===== */
.store_all_wrap .store-hero {
  margin-top: var(--header-h);
  position: relative;
  margin-left:auto; margin-right:auto;
  width:100%; max-width:1500px;
}

.store_all_wrap .store-cover {
  width: 100%;
  aspect-ratio: 4/3;
  position: relative;
  overflow: hidden;
  background: #dfe5eb;
}

.store_all_wrap .store-cover-slider { position: relative; width: 100%; height: 100%; }
.store_all_wrap .store-cover-main { position: relative; width: 100%; height: 100%; }
.store_all_wrap .store-cover-track { position: relative; width: 100%; height: 100%; }

.store_all_wrap .store-cover-slide {
  position: absolute; inset: 0;
  opacity: 0; visibility: hidden;
  transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
  transform: scale(1.02);
}
.store_all_wrap .store-cover-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.store_all_wrap .store-cover-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }

.store_all_wrap .store-cover::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 100px;
  background: linear-gradient(to top, var(--bg2), transparent);
  pointer-events: none; z-index: 2;
}

.store_all_wrap .cover-nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 40px; height: 40px; border: none; border-radius: 50%;
  background: rgba(255,255,255,0.92); color: var(--text-primary);
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.2s var(--ease);
  backdrop-filter: blur(8px);
}
.store_all_wrap .cover-nav:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.store_all_wrap .cover-nav svg { width: 18px; height: 18px; }
.store_all_wrap .cover-nav--prev { left: 12px; }
.store_all_wrap .cover-nav--next { right: 12px; }

.store_all_wrap .store-cover-thumbs {width:100%; display:flex; flex-wrap:wrap; 
  position: absolute;  bottom: 74px; z-index: 3;  gap: 1%; justify-content:center;
}
.store_all_wrap .cover-thumb { width:17%; max-width:120px;
  position: relative; aspect-ratio: 4/3; border: 0;
  border-radius: var(--radius2-xs); overflow: hidden; padding: 0;
  cursor: pointer; background:#fff;
  box-shadow: 0 4px 14px rgba(0,0,0,0.1);
  transition: all 0.2s var(--ease); 
}
.store_all_wrap .cover-thumb:hover { opacity: 1; transform: translateY(-1px); }
.store_all_wrap .cover-thumb.is-active {
  opacity: 1;
  box-shadow: 0 0 0 2.5px #fff, 0 6px 18px rgba(0,0,0,0.14);
}
.store_all_wrap .cover-thumb img { opacity:0.6; width: 100%;height: 100%; object-fit: cover; display: block; }
.store_all_wrap .cover-thumb.is-active img {opacity:1;}




/* ===== STORE INFO CARD ===== */
.store_all_wrap .store-info-card {
  margin-top:-24px; position: relative; z-index: 2;
 background: #fff; margin-bottom:20px;
  border-radius: var(--radius2);
  padding-block:clamp(28px, 2.5vw, 40px);
  padding-inline:clamp(28px, 2.5vw, 40px);
  box-shadow: var(--shadow-md);
}

.store_all_wrap .store-info-card .link-btn-home { background:#35a5de;
border-radius:50%; width:clamp(40px, 3.5vw, 60px);  display:flex; align-items:center;
justify-content:center;
height:clamp(40px, 3.5vw, 60px); 
position:absolute; top:clamp(28px, 2.5vw, 40px); 
right:clamp(28px, 2.5vw, 40px);     transition: background 0.15s, transform 0.1s;}
.store_all_wrap .store-info-card .link-btn-home svg{ stroke:#fff ; width:50%; height:50%;}




.store_all_wrap .store-info-card .link-btn-home:hover,
.store_all_wrap .store-info-card .link-btn-home:active {
    background: #1c7eaf;
  }




.store_all_wrap .store-cat-chip { width:fit-content;
  display: inline-flex; align-items: center; gap: 5px;
  padding-block:clamp(4px, 2.5vw, 8px);
    padding-inline:clamp(9px, 2.5vw, 18px);
  border-radius: 100px;
  font-size:clamp(13px, 2.5vw, 17px);  font-weight: 700;
  background:var(--tag-kbbq-bg); color:var(--tag-kbbq); margin-bottom:10px;

}
.store_all_wrap .store-cat-chip .dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.store_all_wrap .store-info-card h1 {   padding-bottom:10px;
  font-size:clamp(27px, 2.5vw, 40px);font-weight: 700; letter-spacing: -0.03em;
  line-height: 1.3; 
}
.store_all_wrap .store-info-card h2 {  margin-bottom:clamp(20px, 6.5vw, 30px);
  font-size:clamp(17px, 2.5vw, 22px);font-weight: 400; letter-spacing: -0.03em;
  line-height: 1.5; 
}
.store_all_wrap .store-info-card h2.store-full-desc { white-space: pre-line; }
.store_all_wrap .store-info-card .store-full-desc.rich-content {
  white-space: normal;
  font-size: clamp(17px, 2.5vw, 22px);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.5;
  margin-bottom: clamp(20px, 6.5vw, 30px);
}
.rich-content img {
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  margin: 12px 0;
  border-radius: 8px;
}
.rich-content p { margin: 0 0 0.75em; }
.rich-content p:last-child { margin-bottom: 0; }
.rich-content ul,
.rich-content ol {
  margin: 0 0 0.75em 1.2em;
  padding: 0;
}
.rich-content a { color: var(--primary, #0098d9); word-break: break-all; }


.popup-close-x {position: absolute;
  top: 5px;
  right: 20px;
  font-size: 30px;}


.popup-close-x:focus-visible {outline:none;}


.store_all_wrap .info-grid { display: flex; flex-direction: column; gap: clamp(7px, 3.5vw, 10px) 6px; }
.store_all_wrap .info-row {
  display: flex; align-items: flex-start; gap:10px 10px; color: var(--text-secondary3);
  font-size:clamp(16px, 2.5vw, 19px); line-height: 1.5;
}


.store_all_wrap .info-row  p { background: #7d8388;  border-radius:50%; aspect-ratio: 1/1;   width:clamp(25px, 2.5vw, 30px); 
  height:clamp(25px, 2.5vw, 30px); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; }

.store_all_wrap .info-row svg {
  width:clamp(13px, 2.5vw, 17px); 
  height:clamp(13px, 2.5vw, 17px); 
  flex-shrink: 0; color:#e5e8eb; 
}
.store_all_wrap .info-row a.info-tel {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.store_all_wrap .info-row a.info-tel:active {
  color: var(--accent-blue, #3781dd);
  text-decoration: underline;
}


/* ===== SECTION COMMON ===== */
.store_all_wrap .section { padding-top:0; margin-top:0;}
.store_all_wrap .section#sec-signature {padding-top:0;}
.store_all_wrap .sectointit_wrap {display:flex; align-items: baseline;   
flex-wrap:wrap; padding-bottom:0; gap:6px clamp(6px, 2.5vw, 20px);}

.store_all_wrap .section-title { 
  position: relative;
  padding-left: clamp(12px, 2.5vw + 8px, 16px);
  font-size: 34px; font-weight: 700; letter-spacing: -0.02em;
 line-height:1; 
font-family: 'Pretendard', sans-serif;
}
.store_all_wrap .section-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(3px, 0.6vw + 2px, 5px);
  height: clamp(18px, 3vw + 5px, 28px);
  background: linear-gradient(295deg, #a8dc56, #4ac599, #35a5de, #3781dd);
}
.store_all_wrap #sec-signature > .sectointit_wrap {
  margin-bottom: 10px;
}
.store_all_wrap #sec-menu-text {
  margin: 30px 0 60px;
}
.store_all_wrap .sig-swiper-outer .sig-card {
  cursor: default;
}
@media (max-width: 768px) {
  .store_all_wrap .section-title { font-size: 28px; }
}
@media (max-width: 500px) {
  .store_all_wrap .section-title { font-size: 22px; }
}
.store_all_wrap .section-sub {
  font-size:clamp(14px, 2.5vw, 17px); line-height:1;
   color: var(--text-tertiary); font-weight: 400; 

}


/* ===== DIETARY INFO (위에 배치) ===== */
.store_all_wrap .dietary-guide {

padding-block: clamp(18px, 2.5vw, 40px);
  padding-inline: clamp(28px, 2.5vw, 40px);
 background: #fff;
 display:flex; flex-direction:column;
  border-radius: var(--radius2);
  box-shadow: var(--shadow-sm);
}
.store_all_wrap .dietary-guide-title {
  font-size:clamp(18px, 2.5vw, 22px); font-weight: 700; margin-bottom:clamp(12px, 2.5vw, 27px);
  color: var(--text-primary); display: flex; align-items: center; gap: 6px;
}
.store_all_wrap .dietary-guide-grid {
  display: flex; flex-wrap: wrap; gap: 8px 16px;
}
.store_all_wrap .dietary-guide-item {
  display: flex; align-items: center; gap: 6px;
  font-size:clamp(15px, 2.5vw, 16px); color:#fff;
}
.store_all_wrap .dietary-guide-spice {
  display: flex; flex-wrap: wrap; gap: 12px;
  margin-top: 20px; padding-top: 20px; 
  border-top: 1px solid var(--border-light);
}
.store_all_wrap .dietary-guide-spice-item {
  display: flex; align-items: center; gap: 4px;
  font-size:clamp(12px, 2.5vw, 16px);   color: var(--text-secondary3);
}

/* ===== BADGES ===== */
.store_all_wrap .badge {
  display: inline-flex; align-items: center; gap: 3px;
  padding-block: 3px; padding-inline:clamp(7px, 2.5vw, 11px); border-radius: 100px;
  font-size:clamp(11.4px, 2.5vw, 13px);
 font-weight: 700; letter-spacing: 0.01em;
}
.store_all_wrap .badge-vg { background: #ECFDF5; color: #059669; }
.store_all_wrap .badge-v { background: #ECFDF5; color: #059669; }
.store_all_wrap .badge-gf { background: #FFFBEB; color: #D97706; }
.store_all_wrap .badge-spice-adj { background: #FFF7ED; color: #C2410C; }
.store_all_wrap .badge-df { background: #FFF1F2; color: #E11D48; }


  /* Sections wrapper */


.store_all_wrap .desktop-top-row,
.store_all_wrap .desktop-content {
    max-width: 1120px;
	width:92%;
    margin: 0 auto;
  }


/* ===== SPICE (이모지) ===== */
.store_all_wrap .spice {
  display: inline-flex; align-items: center; gap: 1px;
  margin-left: 4px;
}
.store_all_wrap .spice-icon { font-size: 16px; filter: grayscale(1) opacity(0.25); }
.store_all_wrap .spice-icon.active { filter: none; }


/* ===== SIGNATURE MENUS ===== */
.store_all_wrap .sig-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.store_all_wrap .sig-card {
 background: #fff;
  border-radius: var(--radius2-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(0,0,0,0.04);
  cursor: pointer;
  transition: all 0.25s var(--ease);
}
/* .store_all_wrap .sig-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); } */
/* .store_all_wrap .sig-card:active { transform: scale(0.97); } */

/* Signature Swiper (portal) — swiper 본문 = desktop-content(1120) 폭, 화살표는 바깥 */
.store_all_wrap .sig-swiper-outer {
  position: relative;
  width: 100%;
  max-width: 1120px;
  overflow: visible;
}
.store_all_wrap .sig-swiper {
  position: relative;
  width: 100%;
  max-width: 1120px;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.store_all_wrap .sig-swiper .sig-grid.swiper-wrapper {
  display: flex;
  gap: 0;
  grid-template-columns: none;
  align-items: stretch;
}
.store_all_wrap .sig-swiper .sig-card.swiper-slide {
  height: auto;
  box-sizing: border-box;
}
.store_all_wrap .sig-swiper .swiper-pagination,
.store_all_wrap .sig-swiper .swiper-pagination-bullets {
  display: none !important;
}
.store_all_wrap .sig-swiper-outer .sig-swiper-prev,
.store_all_wrap .sig-swiper-outer .sig-swiper-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 36px;
  height: 36px;
  margin: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  color: var(--text-primary, #222);
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s var(--ease, ease);
}
.store_all_wrap .sig-swiper-outer .sig-swiper-prev { left: -40px; right: auto; }
.store_all_wrap .sig-swiper-outer .sig-swiper-next { right: -40px; left: auto; }
.store_all_wrap .sig-swiper-outer .sig-swiper-prev:after,
.store_all_wrap .sig-swiper-outer .sig-swiper-next:after {
  font-size: 14px;
  font-weight: 700;
  color: inherit;
}
.store_all_wrap .sig-swiper-outer .sig-swiper-prev:hover,
.store_all_wrap .sig-swiper-outer .sig-swiper-next:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.06);
}
.store_all_wrap .sig-swiper-outer .swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
@media (max-width: 1200px) {
  .store_all_wrap .sig-swiper-outer .sig-swiper-prev { left: -8px; }
  .store_all_wrap .sig-swiper-outer .sig-swiper-next { right: -8px; }
}

.store_all_wrap .sig-photo {
  width: 100%; aspect-ratio: 4/3;
  background: linear-gradient(135deg, #f0f2f5, #e5e8eb);
  display: flex; align-items: center; justify-content: center;
  font-size: 44px; position: relative;
}
.store_all_wrap .sig-photo img {width:100%; height:100%; object-fit:cover;}

 

/*
.store_all_wrap .menu-photo .sig-tap-hint , 
.store_all_wrap .sig-photo .sig-tap-hint { z-index:10;
  position: absolute;
display:flex; justify-content:center; align-items:center;
 font-weight: 600; border-radius:50%;
  background-color:#fff; 
background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'none'%20viewBox%3D'0%200%2024%2024'%20stroke-width%3D'2.5'%20stroke%3D'%23333'%20class%3D'size-6'%3E%3Cpath%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%20d%3D'M12%204.5v15m7.5-7.5h-15'%20%2F%3E%3C%2Fsvg%3E");
background-repeat: no-repeat;
background-position: center center;
  backdrop-filter: blur(4px);
}
.store_all_wrap .sig-photo .sig-tap-hint  { bottom: 16px; right: 16px;   font-size: 10px;
   width:clamp(26px, 2.5vw, 40px);
  height:clamp(26px, 2.5vw, 40px);
  background-size: auto 20px;
}
.store_all_wrap .menu-photo .sig-tap-hint{
 bottom: 10px; right: 10px;   font-size: 10px;
   width:clamp(22px, 2.5vw, 26px);
  height:clamp(22px, 2.5vw, 26px);
  background-size: auto 16px;
}
*/



.store_all_wrap .sig-body {
  padding-block: clamp(12px, 2.5vw, 17px);
  padding-inline: clamp(12px, 2.5vw, 17px);
}
.store_all_wrap .sig-name {
  font-size: clamp(17px, 2.5vw, 20px);
  font-weight: 600; letter-spacing: -0.02em;
  margin-bottom: 2px; line-height: 1.3;
}
.store_all_wrap .sig-name-kr {
  font-size: clamp(14px, 2.5vw, 17px);
  font-weight:500;
  margin-bottom: 11px;
  line-height: 1.3;
}
.store_all_wrap .sig-desc {
  font-size: clamp(13.5px, 2.5vw, 16px); word-break:keep-all;  color: var(--text-secondary3); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight:400;
}
.store_all_wrap .sig-price {
  margin-top: 10px;
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.02em;
}
.store_all_wrap .sig-badges { display: flex; align-items: center; gap:clamp(2px, 2.5vw, 4px); margin-top: 16px; flex-wrap: wrap; }

/* ===== MODAL ===== */
.store_all_wrap .modal-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  opacity: 0; visibility: hidden;
  transition: all 0.3s var(--ease);
}
.store_all_wrap .modal-overlay.is-open { opacity: 1; visibility: visible; }

.store_all_wrap .modal-sheet {
  width: 92%; max-width: 480px;
  max-height: min(88dvh, 88vh);
 background: #fff;
  border-radius: var(--radius2);
  overflow: hidden;
  display: flex; flex-direction: column;
  transform: translateY(24px);
  transition: transform 0.35s var(--ease);
}
.store_all_wrap .modal-overlay.is-open .modal-sheet { transform: translateY(0); }

/* 메뉴 팝업 닫기(X) — 공개 페이지는 common.css 미로드이므로 여기에 정의 */
#sf-modal-close-x.modal-close-x,
#sf-modal-wrap #sf-modal-close-x,
#sf-modal-close-x {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 10 !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  /*background: rgba(0, 0, 0, 0.1) !important;*/
  color: #222 !important;
  font: 400 40px/1 sans-serif !important;
  font-size: 40px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  -webkit-tap-highlight-color: transparent;
}
#sf-modal-close-x:hover,
#sf-modal-close-x:active {
  background: rgba(0, 0, 0, 0.16) !important;
}
@media (min-width: 900px) {
  #sf-modal-close-x.modal-close-x,
  #sf-modal-wrap #sf-modal-close-x,
  #sf-modal-close-x {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    font-size: 34px !important;
    top: 10px !important;
    right: 10px !important;
  }
}

.store_all_wrap .modal-scroll { flex: 1; overflow-y: auto; overscroll-behavior: contain; }

.store_all_wrap .modal-img {
  width: 100%; aspect-ratio: 4/3;
  display: flex; align-items: center; justify-content: center;
}
.store_all_wrap .modal-img.noimg {
  background: #9eaebe url('/images/logonew.svg') no-repeat center center;
  background-size: 70% auto;
}


.store_all_wrap .modal-img img {display:block; width:100%; height:100%; object-fit:cover;}
.store_all_wrap .modal-body { padding: 20px; }
.store_all_wrap .modal-cat {
  display: inline-flex; align-items: center; gap: 4px;
  font-size:clamp(13px, 2.5vw, 15px); font-weight: 600; color: var(--text-tertiary);
  margin-bottom: 6px; width:100%;
}
.store_all_wrap .modal-title { display:inline-block; padding-right:10px;
  font-size:clamp(22px, 2.5vw, 30px);   font-weight: 700; letter-spacing: -0.03em;

}
.store_all_wrap .modal-title-kr {
  display: block;
  font-size: clamp(15px, 2.5vw, 18px);
  font-weight: 500;
  color: var(--text-tertiary);
  margin-bottom: 10px;
}
.store_all_wrap .modal-price { display:inline-block;
  font-size:clamp(18px, 2.5vw, 22px);  font-weight: 600; 
  margin-bottom: 14px;
}
.store_all_wrap .modal-desc {
  font-size: clamp(14px, 2.5vw, 16px);  color: var(--text-secondary3); line-height: 1.7;
  margin-bottom: 16px; padding-top:10px;
}
.store_all_wrap .modal-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.store_all_wrap .modal-badges .badge { font-size: 12px; padding: 4px 12px; }

.store_all_wrap .modal-close-btn {
  width: 100%; padding-block:13px; border: none;
  background: var(--text-primary); color: #fff;
  font-family: inherit; font-size: 15px; font-weight: 700;
  border-radius: var(--radius2-sm);
  cursor: pointer; transition: opacity 0.2s;
}
.store_all_wrap .modal-close-btn:hover { opacity: 0.85; }

/* ===== PLANT-BASED ===== */
.store_all_wrap .plant-banner {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px; flex-wrap:wrap;
background:#26b650; color:#fff;
/*   background: linear-gradient(135deg, #ECFDF5, #F0FDF4); */
  border-radius: var(--radius2-sm);
  margin-bottom: 14px; justify-content: space-between;
}
.store_all_wrap .plant-banner .icon { font-size: 22px; }
.store_all_wrap .plant-banner .text { font-size: clamp(14px, 2.5vw, 16px); font-weight: 600; color: #fff; }




/* ===== ALL MENUS ===== */
.store_all_wrap .menu-list {
  display: flex; flex-direction: column; gap: 1px;
  border-radius: var(--radius2-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.store_all_wrap .menu-item {
  display: flex;
  align-items: flex-start;
  gap: 14px 20px;
  padding-block: 20px;
  padding-inline: clamp(16px, 2.5vw, 20px);
  background: #fff;
}


.store_all_wrap .menu-photo {
  font-size: 24px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: var(--radius2-xs);
  position: relative;
  background: linear-gradient(135deg, #f0f2f5, #e5e8eb);
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(96px, 6.5vw, 96px);
  aspect-ratio: 5 / 4;
}



.store_all_wrap .sig-photo.noimg,
.store_all_wrap .menu-photo.noimg {
/*   background: #9eaebe url('/images/logonew.svg') no-repeat center center;
   */  background: #dcdfe1  url('/images/logonew.svg') no-repeat center center;
  background-size: 80% auto;
}
/* 이미지가 있는 메뉴 */
.store_all_wrap .menu-item:not(:has(.menu-desc)) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  grid-template-areas:
    "photo body"
    "photo price";
  column-gap: 14px;
  row-gap: 0;
  align-items: start;
}

/* 이미지 없음 */
.store_all_wrap .menu-photo.noimg {
  display: none !important;
}

/* 이미지가 없는 메뉴는 1열로 변경 */
.store_all_wrap .menu-item:has(.menu-photo.noimg) {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "body"
    "price";
  column-gap: 0;
}

/*노이미지*/
  .store_all_wrap .menu-photo.noimg{ display:none !important;}
.store_all_wrap .menu-desc {display:none;}


.store_all_wrap .menu-photo {order:3;}
.store_all_wrap .menu-body {order:1; padding-left:0px !important;}



@media (max-width: 768px) {
  .store_all_wrap .menu-item {
    flex-wrap: wrap;
    flex-direction: row; /* 이미지는 항상 왼쪽 */
    /* 메뉴명·설명은 기존 레이아웃, 설명↔가격만 좁게 */
    row-gap: 6px;
  }

  .store_all_wrap .menu-item .menu-photo {
    flex-shrink: 0;
    width: clamp(67px, 4.33vw, 87px); /* 기존 대비 2/3 */
    aspect-ratio: 3 / 2;
  }

  /*
  .store_all_wrap .menu-photo .sig-tap-hint {
    bottom: 6px;
    right: 6px;
    width: clamp(17px, 1.67vw, 20px);
    height: clamp(17px, 1.67vw, 20px);
    background-size: auto 11px;
  }
  */
  
  .store_all_wrap .menu-item .menu-body {
    flex: 1;
    min-width: 0; 
  }
  
  .store_all_wrap .menu-item .menu-price {
    flex-basis: 100%; /* 가격을 다음 줄로 */
    min-width: 100%;
/*     padding-left: calc(clamp(67px, 4.33vw, 87px) + 16px);
     */    text-align: left;
  }

  /* 설명 없음: 가격 padding 해제 (그리드에서 메뉴명 아래 밀착) */
  .store_all_wrap .menu-item:not(:has(.menu-desc)) .menu-price {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    flex-basis: auto !important;
    min-width: 0 !important;
  }


}


.mb0 { margin-bottom:0 !important;}
@media (max-width: 650px) {

/* .store_all_wrap .menu-photo { 
  aspect-ratio:3/3; 
} */

.store_all_wrap .dietary-guide-title {display:none;}
}


.store_all_wrap .menu-photo  img {width:100%; height:100%; object-fit:cover;}



.store_all_wrap .menu-body { flex: 1; min-width: 0; }
.store_all_wrap .menu-name-row { display: flex; align-items: center; gap: 6px; margin-bottom: 2px; }
.store_all_wrap .menu-name {font-size: 17px; line-height:1.2;
  font-weight: 700;  letter-spacing: -0.01em;
  overflow-wrap: anywhere; word-break: break-word;
}
.store_all_wrap .menu-name-kr {
  font-size: clamp(14px, 2.5vw, 16px);
  font-weight: 400;
  margin-bottom: 8px;
}
.store_all_wrap .menu-desc {
font-size: clamp(13px, 3vw, 15px); line-height:1.3;
 color: var(--text-tertiary);  word-break:keep-all;
  overflow: hidden;
}
.store_all_wrap .menu-badges { display: flex; align-items: center; gap: 4px; margin-top: 11px; flex-wrap: wrap; }
.store_all_wrap .menu-price {   font-size: clamp(14px, 2.5vw, 16px);
 font-weight: 500; color: var(--text-primary);  opacity:0.8;
  white-space: nowrap; flex-shrink: 0; letter-spacing: -0.02em;
}

/* 설명 없음: 메뉴명·가격을 사진 옆에서 위아래로 밀착 */
.store_all_wrap .menu-item:not(:has(.menu-desc)) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  grid-template-areas:
    "photo body"
    "photo price";
  column-gap: 14px;
  row-gap: 0;
  align-items: start;
}
.store_all_wrap .menu-item:not(:has(.menu-desc)) .menu-photo {
  grid-area: photo;
  align-self: start;
}
.store_all_wrap .menu-item:not(:has(.menu-desc)) .menu-body {
  grid-area: body;
  align-self: start;
}
.store_all_wrap .menu-item:not(:has(.menu-desc)) .menu-price {
  grid-area: price;
  align-self: start;
  flex-basis: auto;
  min-width: 0;
  width: auto;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin-top: 0;
  text-align: left;
  white-space: normal;
}
.store_all_wrap .menu-item:not(:has(.menu-desc)) .menu-name-row,
.store_all_wrap .menu-item:not(:has(.menu-desc)) .menu-name-kr {
  margin-bottom: 0;
}
.store_all_wrap .menu-item:not(:has(.menu-desc)) .menu-badges {
  margin-top: 6px;
}

/* 메뉴 목록 — 시그니처 외 (이미지 없음) */
.store_all_wrap .menu-item--no-photo {
  align-items: flex-start;
  gap: 10px 12px;
}
.store_all_wrap .menu-item--no-photo .menu-body { flex: 1; min-width: 0; }
.store_all_wrap .menu-item--no-photo .menu-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.store_all_wrap .menu-more-btn {
  flex-shrink: 0;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(28px, 2.5vw, 34px);
  height: clamp(28px, 2.5vw, 34px);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  color: #333;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0,0, 0, 0.12);
  pointer-events: none;
}
.store_all_wrap .menu-item--folded { display: none; }
.store_all_wrap .menu-list-more-btn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: none;
  border-top: 1px solid var(--border-light, #eee);
  background: #fafafa;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-secondary, #444);
  cursor: pointer;
  letter-spacing: -0.02em;
}
.store_all_wrap .menu-list-more-btn:hover { background: #f0f0f0; }
.store_all_wrap .menu-list-more-btn[hidden] { display: none; }

@media (max-width: 768px) {
  .store_all_wrap .menu-item--no-photo .menu-price {
    flex-basis: auto;
    min-width: 0;
    padding-left: 0;
    text-align: right;
  }
  .store_all_wrap .menu-item--no-photo {
    flex-wrap: wrap;
  }
  .store_all_wrap .menu-item--no-photo .menu-more-btn {
    order: 3;
    margin-left: auto;
  }
  .store_all_wrap .menu-item--no-photo .menu-price {
    order: 2;
  }
}

@media (max-width: 610px) {

.store_all_wrap .menu-price {  white-space: normal;
    word-break: keep-all;
    text-align: right;
    max-width: 62px;
    line-height: 1.3;
}


}


/* ===== LOCATION ===== */
.store_all_wrap .loc-map {
  margin: 0 16px;
  border-radius: var(--radius2);
  /* InfoWindow(길찾기 등)가 잘리지 않도록 — 지도 타일만 #store-map 에서 클립 */
  overflow: visible;
  box-shadow: var(--shadow-md);
  height: 340px;
}
.store_all_wrap #store-map {
  width: 100%;
  height: 100%;
  border-radius: var(--radius2);
  /* InfoWindow 가 map div 밖에 그려질 수 있도록 (길찾기 버튼 클립 방지) */
  overflow: visible;
}
/* Google InfoWindow — 내부 스크롤 제거(길찾기가 스크롤 밖에 가려지지 않게) */
.store_all_wrap .loc-map .gm-style-iw-a,
.store_all_wrap .loc-map .gm-style-iw-t,
.store_all_wrap .loc-map .gm-style-iw-c {
  max-width: min(280px, 86vw) !important;
}
.store_all_wrap .loc-map .gm-style-iw-c {
  padding: 0 !important;
  max-height: none !important;
}
.store_all_wrap .loc-map .gm-style-iw-d {
  overflow: visible !important;
  max-height: none !important;
}
.store_all_wrap .loc-map .gm-style-iw-ch:empty {
  display: none !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.store_all_wrap .loc-actions {
  display: flex; gap: 8px; margin: 12px 16px 0; 
}


.store_all_wrap .loc-btn {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 4px; border-radius: var(--radius2-sm);
  font-size: 12px; font-weight: 700;
  text-decoration: none;  
  transition: all 0.2s var(--ease);
border-width:1px; border-style:solid;
}

.store_all_wrap .loc-actions p img {width:27px; height:auto;}
.store_all_wrap .loc-actions span {color:#fff; font-size:clamp(15px, 2.5vw, 18px)}
.store_all_wrap .loc-actions  .loc-btn--kakao span {color:#fd972c;}
.store_all_wrap .loc-actions  .loc-btn--naver  span {color:#05b158}
.store_all_wrap .loc-actions  .loc-btn--google  span {color:#ff635c}

@media (min-width: 768px) {

.store_all_wrap .loc-actions p img {width:40px; height:auto;}

.store_all_wrap .loc-btn { gap: 6px;
  padding: 12px 8px;  }

  
}


.store_all_wrap .loc-btn--naver { background: #dfffdb;
  border-color: #78cd6c;}

.store_all_wrap .loc-btn--kakao {   background: #fff6b1; border-color:#e3ce10; }

.store_all_wrap .loc-btn--google { background: #ffdedb; border-color:#e39e97 }

.store_all_wrap .loc-btn:hover { box-shadow: 0 10px 10px rgba(0,0,0,0.03);; transform: translateY(-2px); }
/* ===== LEAFLET ===== */
.store_all_wrap .leaflet-popup-content-wrapper {
  border-radius: 14px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.12) !important;
  font-family: inherit !important; padding: 0 !important;
}
.store_all_wrap .leaflet-popup-content { margin: 0 !important; }
.store_all_wrap .leaflet-popup-tip { box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; }
.store_all_wrap .popup-inner { padding: 12px 0px; }
.store_all_wrap .popup-name { font-size: 14px; font-weight: 700; color: var(--grey-700, #333); line-height: 1.35; }
.store_all_wrap .popup-cat { font-size: 12px; font-weight: 700; color: var(--accent-blue, #3781dd); margin-bottom: 2px; line-height: 1.3; }
.store_all_wrap .popup-addr { font-size: 12px; color: var(--grey-500, #666); line-height: 1.4; margin-top: 4px; }
.store_all_wrap .popup-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.store_all_wrap .popup-route-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  background: #fff;
  color: #3781dd;
  border: 1.5px solid #3781dd;
  box-shadow: none;
  /* 모바일에서 잘려도 터치 가능하도록 최소 노출 보장 */
  position: relative;
  z-index: 2;
}
.store_all_wrap .popup-inner--detail-iw {
  padding: 8px 12px 10px;
  min-width: 148px;
  max-width: 240px;
}
.store_all_wrap .popup-inner--detail-iw .popup-cat {
  margin: 0 28px 2px 0; /* 닫기(X)와 겹치지 않게 */
  font-size: 11px;
}
.store_all_wrap .popup-inner--detail-iw .popup-name {
  margin: 0 28px 6px 0;
  font-size: 14px;
  line-height: 1.3;
}
.store_all_wrap .popup-inner--detail-iw .popup-actions {
  margin: 0 0 6px;
}
.store_all_wrap .popup-inner--detail-iw .popup-route-btn {
  min-height: 32px;
  padding: 0 14px;
  font-size: 12px;
}
.store_all_wrap .popup-inner--detail-iw .popup-addr {
  margin-top: 0;
  font-size: 11px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.store_all_wrap .popup-route-btn:hover {
  filter: brightness(1.03);
  color: #3781dd;
  text-decoration: none;
}
/* PC: 상세 지도 인포윈도우 길찾기 숨김 (모바일만 표시) */
@media (min-width: 900px) {
  .store_all_wrap .popup-inner--detail-iw .popup-actions,
  .store_all_wrap .popup-route-btn {
    display: none !important;
  }
}
.store_all_wrap .gm-popup-header { padding: 2px 0 0; min-width: 120px; }
.store_all_wrap .gm-style-iw-ch .gm-popup-header,
.store_all_wrap .gm-style-iw-ch .popup-cat,
.store_all_wrap .gm-style-iw-ch .popup-name { font-family: var(--font-sans, inherit); }
.fullmap_wrap .gm-style-iw-ch .gm-popup-header { padding: 4px 2px 0; min-width: 140px; }
.fullmap_wrap .gm-style-iw-ch .popup-cat { font-size: 13px; font-weight: 700; color: var(--accent-blue, #3781dd); }
.fullmap_wrap .gm-style-iw-ch .popup-name { font-size: 16px; font-weight: 700; color: var(--grey-700, #333); }

.store_all_wrap .custom-marker { position: relative; width: 48px; height: 56px; }
.store_all_wrap .custom-marker .pin {
  width: 48px; height: 48px; border-radius: 50%;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 3px 14px rgba(0,0,0,0.18);
  border: 2.5px solid #fff;
}
.store_all_wrap .custom-marker .pin-icon { font-size: 24px; line-height: 1; }
.store_all_wrap .custom-marker .pin-shadow {
  position: absolute; bottom: -2px; left: 50%;
  transform: translateX(-50%);
  width: 20px; height: 5px;
  background: rgba(0,0,0,0.13);
  border-radius: 50%; filter: blur(2px);
}

/* ===== RESPONSIVE ===== */

/* Tablet */
@media (min-width: 768px) {

  .store_all_wrap .store-cover { aspect-ratio: 2/1; }

  .store_all_wrap .store-info-card { margin: -32px 24px 0;  }
  .store_all_wrap .section { margin: 0 24px; }
  .store_all_wrap .dietary-guide { margin: 28px 24px 0; }
  .store_all_wrap .sig-grid { gap: 14px; }
  .store_all_wrap .sig-swiper .sig-grid.swiper-wrapper { gap: 0; }
  .store_all_wrap .sig-swiper { padding: 0; width: 100%; max-width: 1120px; }
  .store_all_wrap .sig-swiper-outer .sig-swiper-prev,
  .store_all_wrap .sig-swiper-outer .sig-swiper-next { width: 40px; height: 40px; }
  .store_all_wrap .loc-map { margin: 0 24px; height: 260px; }
  .store_all_wrap .loc-actions { margin: 12px 24px 0; }
  .store_all_wrap .modal-sheet { border-radius: var(--radius2); max-width: 520px; }
  .store_all_wrap .modal-overlay { align-items: center; }
  .store_all_wrap .menu-list { border-radius: var(--radius2); }

}

/* Desktop */
@media (min-width: 1024px) {


  .store_all_wrap .store-cover { aspect-ratio: 21/8; }
  .store_all_wrap .cover-nav--prev { left: 24px; }
  .store_all_wrap .cover-nav--next { right: 24px; }
  .store_all_wrap .cover-nav { width: 46px; height: 46px; }
  .store_all_wrap .cover-nav svg { width: 20px; height: 20px; }

  /* 2-column: info + dietary — EQUAL height */
  .store_all_wrap .desktop-top-row {
    display: grid;
    align-items: stretch;
    gap: 20px;
    margin: -36px auto 0;
    position: relative; z-index: 2;
  }
  .store_all_wrap .store-info-card {
    margin: 0; 
    max-width: none;
    display: flex; flex-direction: column;
  }
  .store_all_wrap .store-info-card .info-grid { gap:10px 0px; flex:1; flex-wrap:wrap; flex-direction:row;}
  .store_all_wrap .store-info-card .info-grid .info-row:nth-child(2n-1) {width:60%;}
  .store_all_wrap .store-info-card .info-grid .info-row:nth-child(2n) {width:40%;}

  .store_all_wrap .dietary-guide {
    margin: 0; 
    display: flex; flex-direction: column;
    box-shadow: var(--shadow-md);
    border-radius: var(--radius2);
  }



  .store_all_wrap .section { margin: 0; }


  /* Signature 4-col (grid fallback / store menu) */
  .store_all_wrap .sig-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
  .store_all_wrap .sig-swiper .sig-grid.swiper-wrapper {
    grid-template-columns: none;
    gap: 0;
  }
  .store_all_wrap .sig-swiper { padding: 0; width: 100%; max-width: 1120px; }
  .store_all_wrap .sig-swiper-outer .sig-swiper-prev { left: -48px; }
  .store_all_wrap .sig-swiper-outer .sig-swiper-next { right: -48px; }
  .store_all_wrap .sig-swiper-outer .sig-swiper-prev,
  .store_all_wrap .sig-swiper-outer .sig-swiper-next { width: 44px; height: 44px; }
  .store_all_wrap .sig-swiper-outer .sig-swiper-prev:after,
  .store_all_wrap .sig-swiper-outer .sig-swiper-next:after { font-size: 16px; }

  /* Menu 2-col — 좌우 정확히 50% (긴 텍스트로 열 너비 밀림 방지) */
  .store_all_wrap .menu-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border-radius: var(--radius2);
  }
  .store_all_wrap .menu-item {
    border-bottom: 1px solid var(--border-light);
    min-width: 0;
    overflow: hidden;
  }

  /* Location row */
  .store_all_wrap .desktop-loc-row {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 16px;
    align-items: stretch;
    margin-top: 0;
  }
  .store_all_wrap .loc-map { margin: 0; height: 100%; min-height: 330px; border-radius: var(--radius2); }
  .store_all_wrap .loc-actions {
    margin: 0;
    flex-direction: column;
    gap: 10px;
  }
  .store_all_wrap .loc-btn { padding: 16px 12px; border-radius: var(--radius2-sm); font-size: 13px; }


}

@media (max-width: 650px) {

.store_all_wrap .store-cover-thumbs {bottom:40px}
/* .store_all_wrap .sectointit_wrap {flex-direction:column;} */
.store_all_wrap .section-sub {padding-top:7px; padding-bottom:10px;}
.store_all_wrap .section { padding-top:0; }
.store_all_wrap .menu-item {
  column-gap: 16px;
  row-gap: 6px; /* 설명↔가격 간격 유지 */
  }
.store_all_wrap .dietary-guide-grid {gap:5px 3px; width:100%;}
.store_all_wrap .dietary-guide-spice {padding-top:5px; margin-top:10px;}

}



/* Large Desktop */
@media (min-width: 1400px) {


  .store_all_wrap .store-cover { aspect-ratio: 21/5; }

}



/* ===== ANIMATIONS ===== */
.store_all_wrap .store-info-card,
.store_all_wrap .section,
.store_all_wrap .dietary-guide,
.store_all_wrap .loc-map,
.store_all_wrap .loc-actions {
  opacity: 0; animation: fadeUp 0.5s var(--ease) forwards;
}


@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.store_all_wrap .store-info-card { animation-delay: 0.1s;  }
.store_all_wrap .dietary-guide { animation-delay: 0.15s; }
.store_all_wrap .section:nth-of-type(1) { animation-delay: 0.2s; }
.store_all_wrap .section:nth-of-type(2) { animation-delay: 0.25s; }
.store_all_wrap .section:nth-of-type(3) { animation-delay: 0.3s; }
.store_all_wrap .section:nth-of-type(4) { animation-delay: 0.35s; }
.store_all_wrap .loc-map { animation-delay: 0.4s; }
.store_all_wrap .loc-actions { animation-delay: 0.42s; }


 .link-btn { margin-top:clamp(18px, 2.5vw, 40px);
    display: flex; 
    align-items: center; justify-content:center;
    gap: 16px; color:#fff; width:100%;
    padding: 15px 0px;
    background: #3781dd;
    color: #ffffff !important;
    border-radius: var(--radius2);
    font-size:clamp(17px, 2.5vw, 20px);
	line-height:2;
    font-weight: 700;
    cursor: pointer;
	letter-spacing:0.1rem;
    transition: background 0.15s, transform 0.1s;
  }
  .link-btn:hover {
    background: #266bc0;
  }
  .link-btn:active {
    transform: scale(0.98);
    background: #266bc0;
  }
  .link-btn svg {
    width: clamp(17px, 2.5vw, 23px);
    height:clamp(17px, 2.5vw, 23px);
  }




.section-more a{ 
    display: flex;  
    align-items: center; justify-content:center;
    gap: clamp(4px, 2.5vw, 10px);  
    padding:clamp(3px, 7.5vw, 7px) clamp(10px, 7.5vw, 20px);
    background: #508be7;
    color: #ffffff !important;
    border-radius: var(--radius);
    font-size:clamp(13px, 2.5vw, 16px);
	line-height:2;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
  }
.section-more a:hover {
    background: #306ecf;
  }
.section-more a:active {
    transform: scale(0.98);
    background: #306ecf;
  }
.section-more a svg {
    width: clamp(14px, 2.5vw, 22px);
    height:clamp(14px, 2.5vw, 22px);
  }

.portal-menu-cta-row {
  display: flex;
  justify-content: flex-end;
  padding: 0 clamp(16px, 4vw, 24px) 8px;
}
.portal-menu-cta-row__btn a {
  display: inline-flex;
}




/* ======================
업체자세히보기
====================== */



/*기본리스트*/
.store_all_wrap {padding-bottom:35px;}
body.suseong_store2 { background: var(--bg2); }
body.suseong_store2 footer {display:none;}

.store_all_wrap .desktop-top-row.store{grid-template-columns: 1fr; padding-top: calc(var(--header-h) + clamp(30px, 6.5vw, 70px));}
.store_all_wrap .desktop-top-row.store .store-info-card {flex:1; width:100%;}

.store_all_wrap .desktop-top-row.store .dietary-guide { width:100%; padding:0; box-shadow:none; }
.store_all_wrap .desktop-top-row.store .store-info-card h1 {
  font-size: clamp(27px, 2.5vw, 50px);
}
.store_all_wrap .desktop-top-row.store .store-info-card h2 {
  font-size: clamp(17px, 2.5vw, 27px);
}
.store_all_wrap .dietary-guide-spice {margin-top:10px; padding-top:10px;}

@media (min-width: 651px) {
.store_all_wrap .desktop-top-row.store .dietary-guide { flex-direction:row;  justify-content:space-between;}
.store_all_wrap .desktop-top-row.store .dietary-guide-spice {border:none; margin:0; padding:0;}
}

.store_all_wrap .menu-item { cursor:pointer; }

/* section-nav 가로 스크롤 */
.store_all_wrap .section-nav {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  white-space: nowrap;
  scroll-behavior: smooth;
}
.store_all_wrap .section-nav::-webkit-scrollbar { display: none; }
.store_all_wrap .section-nav-item { flex-shrink: 0; }
.store_all_wrap .section-nav::after {
  content: '';
  flex: 0 0 16px;
  display: block;
}

@media (max-width: 899px) {
.store_all_wrap .section-nav::after { display: none; }

/* 모바일: section-nav 우측 드로어 */
.store_all_wrap .section-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  background: rgba(0,0,0,0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.store_all_wrap .section-nav-backdrop.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.store_all_wrap .section-nav {
  position: fixed;
  top: var(--header-h);
  right: 0;
  bottom: 0;
  left: auto;
  width: min(300px, 86vw);
  flex-direction: column;
  align-items: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  white-space: normal;
  transform: translateX(100%);
  opacity: 1;
  pointer-events: none;
  z-index: 130;
  border-bottom: none;
  border-left: 1px solid var(--border-light);
  box-shadow: -8px 0 32px rgba(0,0,0,0.12);
  transition: transform 0.3s var(--ease);
}
.store_all_wrap .section-nav.is-drawer-open {
  transform: translateX(0);
  pointer-events: auto;
}
.store_all_wrap .section-nav.is-visible {
  transform: translateX(100%);
  opacity: 1;
}
.store_all_wrap .section-nav.is-visible.is-drawer-open {
  transform: translateX(0);
}
.store_all_wrap .section-nav-item {
  flex: none;
  width: 100%;
  min-width: 0;
  text-align: left;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-light);
}
.store_all_wrap .section-nav-item::after {
  left: 20px;
  transform: scaleX(0);
  width: calc(100% - 40px);
}
.store_all_wrap .section-nav-item.is-active::after {
  transform: scaleX(1);
}
body.section-nav-drawer-open {
  overflow: hidden;
}
}

.store_all_wrap.portal-plain {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}
.store_all_wrap.portal-plain > .desktop-content {
  flex: 1 0 auto;
}
footer{
  margin-top: 0;
  opacity: 1;
  animation: none;
  transform: none;
  display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 25px 0;
}
}
.store_all_wrap.portal-plain .portal-map-links {
  width: 92%;
  max-width: 1120px;
  margin: 20px auto 16px;
}
.store_all_wrap.portal-plain .portal-map-links .loc-actions {
  flex-direction: row;
  margin: 0;
}
@media (min-width: 768px) {
  .store_all_wrap.portal-plain .portal-map-links .loc-actions {
    flex-direction: row;
    gap: 12px;
  }
}
/* Portal title: no card chrome, clean flat h1 */
.store_all_wrap.portal-plain .desktop-top-row {
  width: 92%;
  max-width: 1120px;
  margin: calc(var(--header-h) + 20px) auto 0;
}
.store_all_wrap.portal-plain .store-info-card {
  margin: 20px 0 40px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  opacity: 1;
  animation: none;
  transform: none;
  text-align: center;
}
.store_all_wrap.portal-plain .store-info-card h1 {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  font-family: 'Pretendard', sans-serif;
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.2;
  color: #111;
  text-align: center;
  word-break: keep-all;
}
.store_all_wrap.portal-plain .store-info-card h1::after {
  content: none;
  display: none;
}
@media (max-width: 768px) {
  .store_all_wrap.portal-plain .desktop-top-row {
    margin-top: calc(var(--header-h) + 16px);
  }
  .store_all_wrap.portal-plain .store-info-card h1 {
    font-size: 36px;
  }
}
@media (max-width: 500px) {
  .store_all_wrap.portal-plain .desktop-top-row {
    margin-top: calc(var(--header-h) + 12px);
  }
  .store_all_wrap.portal-plain .store-info-card {
    margin: 15px 0 30px;
  }
  .store_all_wrap.portal-plain .store-info-card h1 {
    font-size: 30px;
  }
}
/* portal text menu: same as .menu-list, no modal click */
.store_all_wrap.portal-plain #sec-menu-text .menu-item,
.store_all_wrap.portal-plain #sec-menu-text .menu-item--static {
  cursor: default;
}
@media (min-width: 900px) {
.store_all_wrap .section-nav-backdrop { display: none; }
.store_all_wrap .section-nav {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
}


@media (max-width: 1400px) {
.intro-wrap::before{width:180px; height:480px; left:12%; }
.intro-wrap::after{width:180px; height:480px; right:12%;}
}


@media (max-width: 1230px) {
.intro-wrap::before{width:180px; height:480px; left:5%; }
.intro-wrap::after{width:180px; height:480px; right:5%;}
}


@media (max-width: 700px) {
footer{padding:16px 0;}
}
