/* ==================== STYLEBOOK LIST SKIN ==================== */
.sl-drawer-opened { overflow:hidden; }
.sl-share-opened { overflow:hidden; }
.sl-page-shell { min-height:100vh; padding:0 14px 28px; background:#ececef; }
.sl-page { max-width:700px; margin:0 auto; padding-bottom:0px; background:#fff; font-family:'Apple SD Gothic Neo','Noto Sans KR',sans-serif; }

.sl-menu-btn { width:36px; height:36px; border-radius:10px; border:0px solid #e4e4e4; background:transparent; display:flex; align-items:center; justify-content:center; color:#000; cursor:pointer; }
.sl-menu-btn-overlay { position:absolute; top:14px; right:14px; z-index:3; background:rgba(0,0,0,0.2); border:none; backdrop-filter:blur(6px); box-shadow:none; color:#fff; }

.sl-scroll-topbar { position:fixed; top:0; left:50%; width:min(100%, 700px); transform:translate(-50%, -12px); opacity:0; pointer-events:none; z-index:997; background:#fff; border-bottom:1px solid #ddd; box-shadow:0 2px 10px rgba(15,23,42,0.06); transition:opacity .18s ease, transform .18s ease; }
.sl-scroll-topbar.is-visible { opacity:1; pointer-events:auto; transform:translate(-50%, 0); }
.sl-scroll-topbar-inner { height:58px; padding:0 14px 0 16px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sl-scroll-topbar-title { flex:1 1 auto; min-width:0; font-size:24px; font-weight:600; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:-0.02em; }
.sl-scroll-topbar-title a { display:flex; align-items:center; width:100%; height:100%; color:inherit; text-decoration:none; }
.sl-scroll-topbar .sl-menu-btn { flex:0 0 auto; }

.sl-drawer-backdrop { position:fixed; inset:0; background:rgba(0,0,0,0.38); opacity:0; visibility:hidden; transition:all .2s ease; z-index:998; }
.sl-drawer-backdrop.open { opacity:1; visibility:visible; }
.sl-drawer { position:fixed; top:0; right:0; width:86%; max-width:360px; height:100%; background:#fff; box-shadow:-8px 0 28px rgba(0,0,0,.18); transform:translateX(100%); transition:transform .24s ease; z-index:1302; display:flex; flex-direction:column; }
.sl-drawer.open { transform:translateX(0); }
.sl-drawer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px 18px 14px; border-bottom:1px solid #efefef; }
.sl-drawer-profile { min-width:0; }
.sl-drawer-avatar { width:64px; height:64px; border-radius:50%; overflow:hidden; background:#f2f3f6; display:flex; align-items:center; justify-content:center; color:#8d95a1; margin-bottom:10px; }
.sl-drawer-avatar img { width:100%; height:100%; object-fit:cover; }
.sl-drawer-name { font-size:21px; font-weight:600; color:#141414; line-height:1.2; }
.sl-drawer-id { margin-top:3px; font-size:14px; color:#878e98; }
.sl-drawer-stats { margin-top:6px; font-size:15px; color:#2b2f34; font-weight:600; }
.sl-drawer-close { border:0; background:none; color:#1f2937; cursor:pointer; width:30px; height:30px; display:flex; align-items:center; justify-content:center; }
.sl-drawer-links { padding:8px 10px 16px; border-top:1px solid  #efefef; }
.sl-drawer-links a { display:flex; align-items:center; gap:10px; padding:12px 10px; border-radius:10px; color:#111; text-decoration:none; font-size:15px; font-weight:600; }
.sl-drawer-links a:hover { background:#f7f8fb; }
.sl-drawer-section-nav { padding:0 10px 14px; border-top:1px solid #efefef; }
.sl-drawer-section-link { width:100%; display:flex; align-items:center; gap:10px; margin-top:8px; padding:12px 10px; border:0; border-radius:10px; background:#fff; color:#111827; font-size:14px; font-weight:700; text-align:left; cursor:pointer; }
.sl-drawer-section-link:hover { background:#f7f8fb; }
.sl-drawer-section-link.active { background:#eef2ff; color:#1d4ed8; }
.sl-drawer-body { padding:0 12px 22px; overflow-y:auto; }
.sl-drawer-card { margin-top:12px; padding:13px 12px; border:1px solid #edf0f3; border-radius:12px; background:#fff; }
.sl-drawer-card-title { margin:0 0 10px; font-size:14px; font-weight:800; color:#101828; }
.sl-drawer-image-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:6px; }
.sl-drawer .sl-empty-text { font-size:12px; color:#98a2b3; }
.sl-drawer .sl-price-list li { padding:8px 0; }
.sl-drawer .sl-price-list li span,
.sl-drawer .sl-price-list li b,
.sl-drawer .sl-business-info span,
.sl-drawer .sl-business-info b { font-size:12px; }
.sl-drawer .sl-business-info a { color:#111827; text-decoration:underline; }

/* ---- [1] 프로필 카드 ---- */
.sl-profile-card { background:#fff; margin-bottom:10px; padding:0 0 20px; }
.sl-pc-header { display:flex; justify-content:space-between; align-items:center; padding:16px 18px 10px; }
.sl-pc-header h1 { margin:0; font-size:20px; font-weight:900; color:#7b0000; }
.sl-pc-menu { background:none; border:none; font-size:22px; color:#333; cursor:pointer; padding:4px 8px; }
.sl-pc-imgbox { position:relative; width:100%; }
.sl-pc-img { width:100%; max-height:500px; object-fit:cover; display:block; }
.sl-pc-image-dim { position:absolute; left:0; right:0; bottom:0; height:20%; background:linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,0.28) 35%, rgba(15,23,42,0.72) 100%); pointer-events:none; }
.sl-img-placeholder { display:flex; align-items:center; justify-content:center; width:100%; color:#8c8c8c; background:linear-gradient(135deg, #f2f2f2, #e7e7e7); text-align:center; font-size:14px; font-weight:600; letter-spacing:-0.02em; }
.sl-img-placeholder-profile { min-height:320px; padding:24px; }
.sl-designer-strip { display:flex; align-items:center; gap:12px; padding:14px 18px 0; }
.sl-designer-strip-overlay { position:absolute; left:18px; right:18px; bottom:18px; z-index:2; padding:0; }
.sl-designer-strip-avatar { width:54px; height:54px; border-radius:50%; overflow:hidden; background:#f2f3f6; display:flex; align-items:center; justify-content:center; color:#8d95a1; flex:none; }
.sl-designer-strip-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.sl-designer-strip-meta { min-width:0; display:flex; flex-direction:column; gap:4px; }
.sl-designer-strip-meta strong { font-size:18px; font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 12px rgba(0,0,0,0.22); }
.sl-designer-strip-meta span { font-size:13px; color:rgba(255,255,255,0.82); line-height:1.4; text-shadow:0 2px 12px rgba(0,0,0,0.22); }
.sl-pc-desc { padding:30px 20px; font-size:16px; color:#555; line-height:1.6; font-weight:600; background:#f9f9f9; border-radius: 20px; margin:20px 18px;}
.sl-pc-desc.is-empty { color:#8a8f98; }
.sl-pc-btns { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:16px 18px 0; }
.sl-pcbtn { display:flex; align-items:center; justify-content:center; gap:8px; padding:13px 8px; border:1px solid #d0d0d0; border-radius:10px; background:#fff; font-size:14px; font-weight:600; color:#333; text-decoration:none; cursor:pointer; }
.sl-pcbtn:hover { background:#f9f9f9; }

.sl-info-card { margin:12px 12px 0; padding:16px 14px; border:1px solid #eceef1; border-radius:14px; background:#fff; }
.sl-info-title { margin:0 0 12px; font-size:17px; font-weight:800; color:#161616; letter-spacing:-0.02em; }
.sl-empty-text { margin:0; color:#8b95a1; font-size:14px; }
.sl-main-sections { display:none; margin:4px 0 10px; }
.sl-main-sections.is-visible { display:block; }
.sl-main-pane { display:none; }
.sl-main-pane.active { display:block; }
.sl-image-grid { display:grid; gap:8px; grid-template-columns:repeat(3, minmax(0, 1fr)); }
.sl-image-grid-item { aspect-ratio:1 / 1; overflow:hidden; border-radius:10px; background:#f2f4f7; }
.sl-image-grid-item img { width:100%; height:100%; object-fit:cover; display:block; }
.sl-price-list { margin:0; padding:0; list-style:none; }
.sl-price-list li { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 0; border-top:1px solid #f0f0f0; }
.sl-price-list li:first-child { border-top:0; padding-top:0; }
.sl-price-list li span { color:#222; font-size:16px; }
.sl-price-list li b { color:#111; font-size:14px; font-weight:800; }
.sl-business-info ul { list-style:none; margin:0; padding:0; }
.sl-business-info li { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px solid #f0f0f0; }
.sl-business-info li:first-child { border-top:0; padding-top:0; }
.sl-business-info span { color:#667084; font-size:13px; }
.sl-business-info b { color:#101828; font-size:13px; font-weight:700; text-align:right; }

/* ---- [2] 필터바 ---- */
.sl-filterbar { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; background:#fff; border-bottom:1px solid #eee; margin-bottom:6px; position:sticky; top:0; z-index:100; }
.sl-cat-wrap { display:flex; align-items:center; gap:5px; font-size:15px; font-weight:700; color:#222; cursor:pointer; }
.sl-cat-arrow { font-size:12px; color:#888; }
.sl-viewmode { display:flex; gap:4px; }
.sl-vmbtn { background:none; border:1px solid #ddd; border-radius:6px; width:30px; height:30px; cursor:pointer; font-size:13px; color:#888; display:flex; align-items:center; justify-content:center; }
.sl-vmbtn.active { background:#333; border-color:#333; color:#fff; }

/* ---- [3] 게시물 카드 (기본 = full) ---- */
.btn_bo_user { display:none; }
.sl-postlist { list-style:none; margin:0; padding:0 10px 10px; display:grid; grid-template-columns:1fr 1fr; gap:12px; background:#fff; }
.sl-post-item { position:relative; background:#fff; overflow:hidden; border-radius:18px; padding:0; box-shadow:none; }
.sl-post-meta { display:flex; justify-content:space-between; align-items:center; padding:10px 14px 8px; }
.sl-post-date { font-size:12px; color:#999; }
.sl-post-rank { font-size:12px; color:#999; font-weight:500; }
.sl-post-imglink { display:block; }
.sl-post-imgwrap { position:relative; width:100%; aspect-ratio:1 / 0.76; overflow:hidden; background:#fff; }
.sl-post-img { width:100%; height:100%; display:block; object-fit:cover; }
.sl-img-placeholder-post { width:100%; height:100%; min-height:0; padding:18px; }
.sl-img-placeholder-post i { font-size:28px; color:#bbb; }
.sl-post-imgwrap .sl-img-placeholder-post { background:#fff; border:1px solid #f0f0f0; }
.sl-post-item.is-no-image .sl-post-imgwrap { aspect-ratio:1 / 0.76; background:#f5f5f5; border:0; }
.sl-post-item.is-no-image .sl-post-img { object-fit:cover; background:#f5f5f5; }
.sl-post-item.is-no-image .sl-img-placeholder-post { background:#fafafa; border:0; }
.sl-post-item.is-no-image .sl-img-placeholder-post i { font-size:24px; color:#c3c3c3; }
.sl-post-badge { position:absolute; top:10px; right:10px; background:rgba(90,108,80,0.82); color:#fff; font-size:12px; font-weight:700; min-width:28px; height:28px; padding:0 8px; border-radius:20px; display:flex; align-items:center; justify-content:center; }
.sl-post-body { padding:15px; }
.sl-post-title { display:block; font-size:17px; font-weight:800; color:#111; text-decoration:none; margin-bottom:6px; line-height:1.35; }
.sl-post-title:hover { color:#7b0000; }
.sl-post-excerpt { font-size:13px; color:#777; line-height:1.5; margin:0 0 10px; display:-webkit-box; line-clamp:2; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:39px; }
.sl-post-reactions { display:flex; gap:10px; align-items:center; margin-bottom:0; padding-top:4px; }
.sl-react-btn { background:none; border:none; cursor:pointer; font-size:16px; color:#444; padding:2px 0; display:flex; align-items:center; gap:3px; }
.sl-react-good { color:#ff5a7a; font-size:16px; }
.sl-heart-btn { display:flex; align-items:center; gap:4px; background:none; border:none; cursor:pointer; font-size:16px; color:#444; padding:2px 0; }
.sl-heart-btn .sl-heart-off { color:#aaa; }
.sl-heart-btn .sl-heart-on  { color:#ff5a7a; }
.sl-heart-btn.sl-heart-active { cursor:default; }
.sl-heart-btn.sl-heart-active .sl-good-cnt { color:#ff5a7a; font-weight:700; }
.sl-good-cnt { font-size:14px; color:#666; }
.sl-post-shopinfo { font-size:13px; max-width:700px; margin:0 auto; }
.sl-post-shopinfo p { margin:2px 0; font-size:13px; font-weight:700; color:#8b0000; line-height:1.6; }
.sl-post-btns { display:none; }
.sl-pbtn { display:flex; align-items:center; justify-content:center; gap:7px; padding:11px 8px; border:1px solid #d0d0d0; border-radius:10px; background:#fff; font-size:13px; font-weight:600; color:#333; text-decoration:none; }
.sl-pbtn:hover { background:#f9f9f9; }

/* ---- 뷰모드: 2열 격자 ---- */
.sl-postlist.sl-mode-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; padding:0; background:#fff; padding:10px; }
.sl-mode-grid .sl-post-item { border-radius:6px; box-shadow:none; margin:0; overflow:hidden; }
.sl-mode-grid .sl-post-imglink { display:block; width:100%; }
.sl-mode-grid .sl-post-imgwrap { width:100%; aspect-ratio:1 / 1; overflow:hidden; }
.sl-mode-grid .sl-post-img { width:100%; height:100%; object-fit:cover; }
.sl-mode-grid .sl-post-item.is-no-image .sl-post-imgwrap { aspect-ratio:1 / 1; border:0; background:#f5f5f5; }
.sl-mode-grid .sl-post-item.is-no-image .sl-post-img { width:100%; height:100%; object-fit:cover; background:#f5f5f5; }
.sl-mode-grid .sl-img-placeholder-post { width:100%; height:100%; min-height:0; font-size:12px; }
.sl-mode-grid .sl-post-meta,
.sl-mode-grid .sl-post-body,
.sl-mode-grid .sl-post-badge { display:none !important; }

/* ---- 뷰모드: 목록형 ---- */
.sl-postlist.sl-mode-list2 { display:block; padding:0 0 10px; }
.sl-mode-list2 .sl-post-item { display:flex; flex-wrap:wrap; gap:8px 12px; padding:16px 14px; align-items:flex-start; margin-bottom:0; border-radius:0; box-shadow:none; border-bottom:1px solid #ececec; background:#fff; }
.sl-mode-list2 .sl-post-body { order:1; flex:1; min-width:0; padding:0; }
.sl-mode-list2 .sl-post-imglink { order:2; width:92px; flex:0 0 92px; }
.sl-mode-list2 .sl-post-imgwrap { aspect-ratio:unset; width:92px; height:92px; border-radius:8px; overflow:hidden; }
.sl-mode-list2 .sl-post-img { width:100%; height:100%; object-fit:cover; }
.sl-mode-list2 .sl-img-placeholder-post { width:100%; height:100%; min-height:0; aspect-ratio:unset; border-radius:8px; font-size:11px; line-height:1.4; }
.sl-mode-list2 .sl-post-meta { order:3; display:flex; width:calc(100% - 104px); padding:0; font-size:12px; color:#8a8a8a; justify-content: flex-start; gap:12px; }
.sl-mode-list2 .sl-post-title { font-size:17px; margin-bottom:6px; font-weight:800; line-height:1.35; }
.sl-mode-list2 .sl-post-excerpt { font-size:14px; color:#666; margin:0 0 6px; line-clamp:2; -webkit-line-clamp:2; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; min-height:0; }
.sl-mode-list2 .sl-post-date,
.sl-mode-list2 .sl-post-rank { color:#8a8a8a; text-shadow:none; }
.sl-mode-list2 .sl-post-reactions { order:4; display:flex; width:calc(100% - 104px); gap:10px; padding:0; margin:0; border:0; }
.sl-mode-list2 .sl-react-btn { font-size:12px; color:#8a8a8a; padding:0; }
.sl-mode-list2 .sl-react-good { font-size:12px; color:#8a8a8a; }
.sl-mode-list2 .sl-post-shopinfo, .sl-mode-list2 .sl-post-btns, .sl-mode-list2 .sl-post-badge { display:none !important; }

/* ---- 카테고리 드롭다운 ---- */
.sl-cat-wrap { position:relative; }
.sl-cat-dropdown { display:none; position:absolute; top:calc(100% + 6px); left:0; min-width:160px; background:#fff; border:1px solid #e0e0e0; border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,0.12); z-index:200; list-style:none; margin:0; padding:6px 0; overflow:hidden; }
.sl-cat-wrap.open .sl-cat-dropdown { display:block; }
.sl-cat-dropdown li a { display:block; padding:11px 18px; font-size:14px; color:#333; text-decoration:none; white-space:nowrap; }
.sl-cat-dropdown li a:hover { background:#f5f5f5; }
.sl-cat-dropdown li a.active { color:#7b0000; font-weight:700; background:#fdf5f5; }
.sl-cat-cnt { color:#aaa; font-size:12px; font-weight:400; }
.sl-cat-dropdown li a.active .sl-cat-cnt { color:#c08080; }

/* ---- 카테고리 선택 영역 (디자이너 프로필 첫 진입 시) ---- */
.sl-cat-select { padding:20px 16px 14px; background:#fff; margin-bottom:6px; }
.sl-cat-select-title { font-size:13px; color:#999; margin:0 0 12px; }
.sl-cat-btns { display:flex; flex-wrap:wrap; gap:8px; }
.sl-cat-btn { display:inline-block; padding:9px 20px; border:1.5px solid #ddd; border-radius:20px; font-size:14px; color:#444; text-decoration:none; font-weight:600; background:#fff; transition:background 0.15s, border-color 0.15s; }
.sl-cat-btn:hover { background:#222; color:#fff; border-color:#222; }
.sl-cat-btn.active { background:#222; color:#fff; border-color:#222; }

/* ---- 페이지네이션 ---- */
.sl-pagination { padding:16px; text-align:center; background:#fff; margin-top:8px; }

.sl-footer-copyright { margin-top:16px; padding:24px 18px 26px; background:#f9fafb; border-top:2px solid #ddd; font-weight: 500; font-size:14px; letter-spacing:-1px;}
.sl-footer-copyright-inner { max-width:100%; }
.sl-footer-brand { margin-bottom:12px; font-size:11px; font-weight:900; letter-spacing:0.24em; color:#64748b; }
.sl-footer-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px 14px; }
.sl-footer-grid p { margin:0; display:flex; flex-direction:row; gap:5px; align-items: center;}
.sl-footer-grid p.is-full { grid-column:1 / -1; }
.sl-footer-grid span { font-size:14px; color:#626262; font-weight:700; }
.sl-footer-grid strong { font-size:14px; color:#334155; line-height:1.5; word-break:break-word; font-weight: 600;}

.sl-share-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,0.45); opacity:0; visibility:hidden; transition:all .2s ease; z-index:1400; }
.sl-share-modal-backdrop.open { opacity:1; visibility:visible; }
.sl-share-modal { position:fixed; left:50%; bottom:0; width:min(96%, 520px); transform:translate(-50%, 110%); opacity:0; pointer-events:none; transition:transform .2s ease, opacity .2s ease; z-index:1401; background:#fff; border-radius:18px 18px 0 0; padding:18px 16px 16px; box-shadow:0 -10px 40px rgba(0,0,0,0.2); }
.sl-share-modal.open { transform:translate(-50%, 0); opacity:1; pointer-events:auto; }
.sl-share-modal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.sl-share-modal-head h3 { margin:0; font-size:22px; font-weight:800; color:#111827; }
.sl-share-modal-close { width:34px; height:34px; border-radius:50%; border:1px solid #e5e7eb; background:#fff; color:#374151; cursor:pointer; }
.sl-share-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin-top:4px; }
.sl-share-modal-btn { border:0; background:#fff; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:7px; padding:8px 4px; color:#111827; }
.sl-share-modal-btn i { width:44px; height:44px; border-radius:50%; background:#f3f4f6; display:flex; align-items:center; justify-content:center; font-size:18px; }
.sl-share-modal-btn span { font-size:12px; color:#4b5563; }
.sl-share-url-row { margin-top:14px; display:flex; align-items:center; border:1px solid #d1d5db; border-radius:10px; overflow:hidden; }
.sl-share-url-row input { flex:1; border:0; background:#fff; padding:12px 12px; font-size:14px; color:#1f2937; outline:none; }
.sl-share-url-row button { border:0; border-left:1px solid #e5e7eb; background:#f9fafb; color:#374151; font-size:14px; font-weight:700; padding:12px 14px; cursor:pointer; }
.sl-share-url-row button:hover { background:#f3f4f6; }

.sl-local-toast { position:fixed; left:50%; top:50%; min-width:280px; max-width:min(88vw, 420px); padding:14px 24px; border-radius:30px; background:rgba(17,24,39,0.96); color:#fff; font-size:15px; font-weight:600; text-align:center; box-shadow:0 14px 40px rgba(15,23,42,0.28); transform:translate(-50%, calc(-50% + 18px)); opacity:0; visibility:hidden; transition:opacity .24s ease, transform .24s ease, visibility .24s ease; z-index:20000; pointer-events:none; }
.sl-local-toast.show { opacity:1; visibility:visible; transform:translate(-50%, -50%); }

/* ---- 하단 네비게이션 ---- */
.sl-bnav-btn { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px 0; font-size:20px; color:#666; text-decoration:none; }
.sl-bnav-btn:hover { color:#333; }
.sl-bnav-plus { font-size:22px; color:#fff; background:#222; border-radius:50%; width:44px; height:44px; margin:-8px auto 0; flex:none; }


.map_wrap {
display: none; /* ì´ˆê¸°ê°’ */
position: fixed;
z-index: 10001;
background: #fff;
border-radius: 16px;
box-shadow: 0 20px 60px rgba(0,0,0,0.3);
overflow: hidden;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 90%;
max-width: 600px;
}

/* ì§€ë„ ì˜ì—­ ë†’ì´ - ë„ˆë¹„ê°€ 600pxë¡œ ì œí•œë˜ë¯€ë¡œ ë†’ì´ë„ ì ì ˆížˆ ì¡°ì ˆ */
.map-container {
    width: 100%;
    height: 400px;         /* 600px ë„ˆë¹„ì— ì ë‹¹í•œ ë†’ì´ */
    min-height: 300px;
}

#map_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 10000;
    transition: all 0.3s ease;
}

.map-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 20px;
            border-bottom: 1px solid #f0f0f0;
        }
        .shop-name {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 17px;
            color: #111;
        }
        .shop-name i { width: 18px; color: #ff4d4d; }
        .close-map { background: none; border: none; cursor: pointer; color: #999; transition: 0.2s; }
        .close-map:hover { color: #000; }
.naver-map-btn {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid #e1e1e1;
    border-radius: 6px;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    background: #fff;
}

/* ì •ë³´ ë°” ë””ìžì¸ (ì£¼ì†Œ ë° ì—°ë½ì²˜) */
.map-info-content {
    padding: 15px 20px;
    background: #fafafa;
    border-bottom: 1px solid #eee;
}
.info-row {
    display: flex;
    margin-bottom: 8px;
    font-size: 14px;
    align-items: flex-start;
}
.info-row:last-child { margin-bottom: 0; }
.info-label {
    width: 65px;
    font-weight: 600;
    color: #888;
    flex-shrink: 0;
}
.info-text {
    color: #333;
    line-height: 1.4;
    word-break: keep-all;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.info-text a { color: #007bff; text-decoration: none; font-weight: 500; }


@media (max-width:640px) {
    .sl-page-shell { padding:0; background:#fff; }
    .sl-drawer { width:92%; }
    .sl-drawer-image-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .sl-menu-btn-overlay { top:12px; right:12px; }
    .sl-scroll-topbar { left:0; width:100%; transform:translate(0, -12px); }
    .sl-scroll-topbar.is-visible { transform:translate(0, 0); }
    .sl-scroll-topbar-inner { height:56px; padding:0 12px 0 14px; }
    .sl-scroll-topbar-title { font-size:20px; }
    .sl-designer-strip-overlay { left:14px; right:14px; bottom:14px; }
    .sl-postlist { gap:10px; padding:0 8px 10px; }
    .sl-post-title { font-size:15px; }
    .sl-postlist.sl-mode-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
    .sl-mode-list2 .sl-post-title { font-size:15px; }
    .sl-mode-list2 .sl-post-excerpt { font-size:13px; }
    .sl-image-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .sl-footer-copyright { padding:22px 14px 24px; }
    .sl-footer-grid { grid-template-columns:1fr; }
    .sl-share-modal { width:100%; max-width:none; border-radius:16px 16px 0 0; }
    .sl-share-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px 4px; }
    .sl-share-modal-btn i { width:40px; height:40px; font-size:16px; }
}

@media (max-width:500px) {
    .sl-postlist {
        grid-template-columns:1fr;
    }
}

@media (min-width: 900px) {
    .sl-page-shell { padding:0px 0 40px; }
    .sl-page { border-radius:0px; box-shadow:none; overflow:hidden; }
}
