/* 새 디자인의 한인업소록 첫 화면 (Controls/V2/V2Directory). 머리 틀(.v2-bh)은 V2Board.css 의 것을 쓴다. */

.v2-dir { font-family: var(--v2-font); color: var(--v2-text); padding-top: 22px; padding-bottom: 10px; }
.v2-dir a { text-decoration: none; }
.v2-dir-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.v2-dir-main, .v2-dir-side { min-width: 0; }
.v2-dir-side { display: flex; flex-direction: column; gap: 16px; }
.v2-dir-hero .v2-bh-art { background-color: transparent; }

/* ---------- 업종 칸 ---------- */
.v2-dir-tiles { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; margin-bottom: 26px; }
.v2-dir-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; min-height: 104px; padding: 14px 6px; border-radius: 14px;
    background: var(--s); color: var(--v2-text); text-align: center; transition: transform .15s, box-shadow .15s; }
.v2-dir-tile:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(31, 36, 48, .08); }
/* the group being listed (category list page) */
.v2-dir-tile.is-on { background: #fff; box-shadow: inset 0 0 0 2px var(--c), 0 6px 16px rgba(31, 36, 48, .10); }
.v2-dir-tile.is-on b { color: var(--c); font-weight: 900; }
.v2-dir-tile-icon { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--c); color: #fff;
    box-shadow: 0 6px 14px color-mix(in srgb, var(--c) 35%, transparent); }
.v2-dir-tile b { font-size: 12.5px; font-weight: 700; line-height: 1.35; color: #2f3445; word-break: keep-all; }

/* ---------- 목록 화면(76)의 업종 알약: 그 분류의 세부 업종, 또는 검색이면 분류들 ---------- */
.v2-dir-pills { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; padding: 14px 16px; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; }
.v2-dir-pills-head { display: inline-flex; align-items: center; gap: 8px; margin-right: 6px; font-size: 15px; font-weight: 900; color: var(--v2-navy); }
.v2-dir-pills-icon { width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--c); color: #fff; }
.v2-dir-pills a { padding: 7px 14px; border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; color: #4b5162; font-size: 13px; font-weight: 700; }
.v2-dir-pills a:hover { border-color: var(--v2-primary); color: var(--v2-primary); }
.v2-dir-pills a.is-on { border-color: var(--v2-primary); background: var(--v2-primary); color: #fff; }

/* ---------- 제목 줄 ---------- */
.v2-dir-sec { margin-bottom: 28px; }
.v2-dir-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 14px; }
.v2-dir-head h2 { display: flex; align-items: center; gap: 8px; margin: 0; padding-left: 12px; border-left: 4px solid var(--v2-primary); font-size: 20px; font-weight: 900; line-height: 1.2; color: var(--v2-navy); }
.v2-dir-head h2 small { font-size: 13px; font-weight: 600; color: var(--v2-muted); }
.v2-dir-crown { font-size: 18px; }
.v2-dir-head:has(.v2-dir-crown) h2 { padding-left: 0; border-left: 0; }

/* ---------- 프리미엄 업소 ---------- */
.v2-dir-premium { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.v2-dir-pcard { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; color: var(--v2-text); transition: transform .15s, box-shadow .15s; }
.v2-dir-pcard:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(31, 36, 48, .08); }
.v2-dir-pimg { position: relative; display: block; aspect-ratio: 4 / 3; background: #f6f6fa; }
.v2-dir-pimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2-dir-pimg i { position: absolute; left: 8px; top: 8px; padding: 2px 8px; border-radius: 6px; background: var(--v2-primary); color: #fff; font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .4px; }
.v2-dir-pbody { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px 12px; }
.v2-dir-pbody b { font-size: 13.5px; font-weight: 800; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-dir-pcard:hover b { color: var(--v2-primary); }
.v2-dir-pdesc { font-size: 12px; line-height: 1.45; color: #5b6170; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 장소·전화 앞의 작은 그림 */
.v2-dir-meta { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--v2-muted); }
.v2-dir-meta::before { content: ''; flex: 0 0 13px; width: 13px; height: 13px; background: currentColor; opacity: .75;
    -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.v2-dir-meta.is-place { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E"); }
.v2-dir-meta.is-tel { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
a.v2-dir-meta:hover { color: var(--v2-primary); }

/* ---------- 목록 ---------- */
.v2-dir-head-list h2 { margin-right: auto; }
.v2-dir-hiring { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid #bfe6cf; border-radius: 10px; background: #effaf3; color: #15803d; font-size: 13.5px; font-weight: 800; }
.v2-dir-hiring em { font-style: normal; font-weight: 600; }
.v2-dir-check { width: 17px; height: 17px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid #22a35a; border-radius: 5px; background: #fff; color: #fff; font-size: 12px; line-height: 1; }
.v2-dir-hiring.is-on .v2-dir-check { background: #22a35a; }
.v2-dir-hiring:hover { border-color: #22a35a; }
.v2-dir-mybiz { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 10px; background: var(--v2-primary); color: #fff !important; font-size: 13.5px; font-weight: 800; }
.v2-dir-mybiz:hover { background: #5a30c8; }

.v2-dir-list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; overflow: hidden; }
.v2-dir-row { display: flex; align-items: center; gap: 16px; padding: 16px 18px; }
.v2-dir-row + .v2-dir-row { border-top: 1px solid var(--v2-line); }
.v2-dir-row.is-paid { background: linear-gradient(90deg, #faf8ff, #fff 60%); }
.v2-dir-thumb { flex: 0 0 120px; width: 120px; height: 90px; border-radius: 12px; overflow: hidden; background: #f6f6fa; display: flex; align-items: center; justify-content: center; }
.v2-dir-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2-dir-thumb.is-icon { background: var(--s); color: var(--c); }
.v2-dir-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.v2-dir-name { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.v2-dir-name > a { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; color: var(--v2-text); }
.v2-dir-name b { font-size: 16px; font-weight: 800; }
.v2-dir-name > a:hover b { color: var(--v2-primary); }
.v2-dir-name > a span { font-size: 12.5px; font-weight: 600; color: var(--v2-primary); }
.v2-dir-cat { padding: 2px 9px; border-radius: 6px; background: var(--c); color: #fff; font-size: 11.5px; font-weight: 800; }
.v2-dir-badge { padding: 1px 7px; border: 1px solid #d9cdfa; border-radius: 6px; color: var(--v2-primary); font-size: 10px; font-weight: 800; letter-spacing: .3px; }
.v2-dir-info p { margin: 0; font-size: 13px; line-height: 1.55; color: #5b6170; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-dir-metas { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.v2-dir-go { flex: 0 0 auto; padding: 8px 14px; border: 1px solid var(--v2-line); border-radius: 10px; color: #4b5162; font-size: 12.5px; font-weight: 700; }
.v2-dir-go:hover { border-color: var(--v2-primary); color: var(--v2-primary); }
.v2-dir-empty { padding: 40px 0; text-align: center; color: var(--v2-muted); }

/* 이 업소가 올린 구인 글 (Core/BizJobPosts.Line) */
.v2-dir .YPJobLine { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; font-size: 12.5px; color: var(--v2-text); }
.v2-dir .YPJobMark { flex: 0 0 auto; padding: 1px 8px; border-radius: 6px; background: #e8f7ee; color: #15803d; font-weight: 800; font-size: 11.5px; }
.v2-dir .YPJobTitle { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.v2-dir .YPJobDate { flex: 0 0 auto; color: var(--v2-muted); font-size: 11.5px; }
.v2-dir .YPJobLine:hover .YPJobTitle { color: var(--v2-primary); }

.v2-dir-pager { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 6px; margin: 20px 0 4px; }
.v2-dir-pager a, .v2-dir-pager b, .v2-dir-pager span { min-width: 36px; height: 36px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 14px; font-weight: 700; }
.v2-dir-pager a { border: 1px solid var(--v2-line); background: #fff; color: #4b5162; }
.v2-dir-pager a:hover { border-color: var(--v2-primary); color: var(--v2-primary); }
.v2-dir-pager b { background: var(--v2-primary); color: #fff; }
.v2-dir-pager span { color: var(--v2-muted); }

/* 목록 아래 배너 칸 (MiddleFiveCellAD) */
.v2-dir .MiddleCellAD { margin: 4px 0 20px; }
.v2-dir .MiddleCellAD .cell-img { border-radius: 12px; border-color: var(--v2-line); }
.v2-dir .MiddleCellAD .cell-title { font-size: 12.5px; color: #4b5162; }

/* ---------- 오른쪽 ---------- */
.v2-dir-box { padding: 16px; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; }
.v2-dir-boxhead { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.v2-dir-boxhead h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 18px; font-weight: 900; color: var(--v2-navy); }
.v2-dir-star { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--v2-primary); color: #fff; font-size: 13px; }
.v2-dir-boxhead > a { font-size: 12.5px; font-weight: 700; color: var(--v2-muted); }
.v2-dir-boxhead > a:hover { color: var(--v2-primary); }
.v2-dir-biz ul { margin: 0; padding: 0; list-style: none; }
.v2-dir-biz li a { display: flex; gap: 12px; align-items: center; padding: 10px 0; color: var(--v2-text); }
.v2-dir-biz li + li a { border-top: 1px solid var(--v2-line); }
.v2-dir-biz-img { flex: 0 0 76px; width: 76px; height: 64px; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, var(--v2-primary-soft), #fdeef4); }
.v2-dir-biz-img img { width: 100%; height: 100%; object-fit: cover; background: #fff; display: block; }
.v2-dir-biz-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.v2-dir-biz-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.v2-dir-biz-top i { padding: 1px 8px; border-radius: 6px; background: #fdeaf1; color: #c8004f; font-size: 10.5px; font-style: normal; font-weight: 800; }
.v2-dir-biz-top em { font-size: 12px; font-style: normal; font-weight: 800; color: var(--v2-primary); }
.v2-dir-biz-text b { font-size: 13.5px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-dir-biz li a:hover b { color: var(--v2-primary); }
.v2-dir-biz-text small { font-size: 11.5px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.v2-dir-join { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 16px; background: linear-gradient(135deg, #4f46e5, #6b3fe0); color: #fff; }
.v2-dir-join b { font-size: 17px; font-weight: 900; }
.v2-dir-join span { font-size: 13px; line-height: 1.6; color: #e4e0ff; }
.v2-dir-join > a { align-self: flex-start; margin-top: 6px; padding: 9px 16px; border-radius: 10px; background: #fff; color: #4f46e5 !important; font-size: 13.5px; font-weight: 800; }
.v2-dir-join small { margin-top: 4px; font-size: 12px; color: #d9d4ff; }
.v2-dir-join small a { color: #fff !important; font-weight: 800; }

/* ---------- 좁은 화면 ---------- */
@media (max-width: 1180px) {
    .v2-dir-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .v2-dir-premium { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v2-dir-premium .v2-dir-pcard:nth-child(n+4) { display: none; }
}
@media (max-width: 980px) {
    .v2-dir-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .v2-dir-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .v2-dir-tile { min-height: 84px; gap: 6px; padding: 10px 4px; }
    .v2-dir-tile-icon { width: 38px; height: 38px; }
    .v2-dir-tile-icon svg { width: 20px; height: 20px; }
    .v2-dir-tile b { font-size: 11.5px; }
    .v2-dir-premium { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-dir-premium .v2-dir-pcard:nth-child(n+4) { display: flex; }
    .v2-dir-premium .v2-dir-pcard:nth-child(n+5) { display: none; }
    .v2-dir-row { align-items: flex-start; padding: 14px; gap: 12px; }
    .v2-dir-thumb { flex-basis: 76px; width: 76px; height: 76px; }
    .v2-dir-go { display: none; }
}

/* ---------- AhaCard: 회원 카드 할인이 있는 업소 ---------- */
.v2-dir-card { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; max-width: 100%; padding: 4px 12px 4px 4px; border-radius: 999px;
    background: linear-gradient(90deg, #efe9fd, #fdeef6); color: #4b2fb8 !important; font-size: 12.5px; font-weight: 700; }
.v2-dir-card b { flex: 0 0 auto; padding: 2px 9px; border-radius: 999px; background: linear-gradient(135deg, #4f46e5, #6b3fe0); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .3px; }
.v2-dir-card span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-dir-card:hover { background: linear-gradient(90deg, #e3d9fc, #fbe0ee); }
.v2-dir-pcard-aha { position: absolute; right: 8px; top: 8px; padding: 2px 8px; border-radius: 6px; background: linear-gradient(135deg, #4f46e5, #a03fd0); color: #fff;
    font-size: 10px; font-style: normal; font-weight: 900; letter-spacing: .3px; }
.v2-dir-aha { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid #e3d9fc; border-radius: 16px; background: linear-gradient(160deg, #f5f1ff, #fff 70%); }
.v2-dir-aha-card { align-self: flex-start; margin-bottom: 4px; padding: 10px 16px; border-radius: 12px; background: linear-gradient(135deg, #4f46e5, #6b3fe0 55%, #a03fd0); color: #fff;
    font-size: 16px; font-weight: 500; box-shadow: 0 8px 18px rgba(79, 70, 229, .25); transform: rotate(-3deg); }
.v2-dir-aha-card b { font-weight: 900; }
.v2-dir-aha > b { font-size: 16px; font-weight: 900; color: var(--v2-navy); }
.v2-dir-aha > span { font-size: 13px; line-height: 1.6; color: #4b5162; }
.v2-dir-aha a { align-self: flex-start; margin-top: 4px; padding: 9px 16px; border-radius: 10px; background: var(--v2-primary); color: #fff !important; font-size: 13.5px; font-weight: 800; }
.v2-dir-aha a:hover { background: #5a30c8; }

/* ---------- 머리 오른쪽: AhaCard 광고 (도시 그림 대신) ---------- */
@keyframes v2-dir-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.v2-dir-hero .v2-bh-art.v2-dir-ahaart { background: none; display: flex; align-items: center; justify-content: flex-end; padding: 22px 28px 66px 0; }
.v2-dir-ahaban { position: relative; overflow: hidden; display: flex; align-items: center; gap: 6px; width: 100%; max-width: 600px; min-height: 196px; padding: 22px 0 22px 28px;
    border-radius: 22px; background: linear-gradient(120deg, #231a5e 0%, #3b1f8f 55%, #6b3fe0 100%); color: #fff !important; text-decoration: none !important;
    box-shadow: 0 18px 40px rgba(35, 26, 94, .28); transition: transform .2s; }
.v2-dir-ahaban:hover { transform: translateY(-2px); }
.v2-dir-ahaban::before { content: ''; position: absolute; left: -70px; top: -90px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(230, 0, 92, .35), rgba(230, 0, 92, 0) 70%); }
.v2-dir-ahaban-text { position: relative; z-index: 1; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.v2-dir-ahaban-text i { align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #ffc2dc; font-size: 12px; font-style: normal; font-weight: 800; letter-spacing: .3px; }
.v2-dir-ahaban-text b { font-size: 24px; font-weight: 900; line-height: 1.3; letter-spacing: -.5px; }
.v2-dir-ahaban-text span { font-size: 13px; line-height: 1.6; color: #d9d2ff; }
.v2-dir-ahaban-text em { align-self: flex-start; margin-top: 4px; padding: 9px 16px; border-radius: 10px; background: #fff; color: #4b2fb8; font-size: 13.5px; font-style: normal; font-weight: 800; }
.v2-dir-ahaban img { position: relative; z-index: 1; flex: 0 0 auto; width: 230px; height: auto; margin-right: -18px; animation: v2-dir-float 4.5s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .v2-dir-ahaban img { animation: none; } }
@media (max-width: 1180px) { .v2-dir-ahaban img { width: 180px; } .v2-dir-ahaban-text b { font-size: 20px; } }
@media (max-width: 900px) { .v2-dir-hero .v2-bh-art.v2-dir-ahaart { display: none; } }

/* ---------- 주요 업소 소식 ---------- */
.v2-dir-head .v2-dir-more { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--v2-muted); }
.v2-dir-head .v2-dir-more:hover { color: var(--v2-primary); }
.v2-dir-news { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.v2-dir-ncard { display: flex; flex-direction: column; gap: 8px; color: var(--v2-text); }
.v2-dir-nimg { position: relative; display: block; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: var(--v2-bg); }
.v2-dir-nimg img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.v2-dir-ncard:hover .v2-dir-nimg img { transform: scale(1.04); }
.v2-dir-nimg i { position: absolute; left: 8px; top: 8px; padding: 3px 9px; border-radius: 12px; background: var(--v2-primary); color: #fff; font-size: 11px; font-style: normal; font-weight: 700; }
.v2-dir-ncard b { font-size: 14.5px; font-weight: 700; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-dir-ncard:hover b { color: var(--v2-primary); }
@media (max-width: 760px) { .v2-dir-news { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 프리미엄 카드의 홈페이지 */
.v2-dir-meta.is-web { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm6.9 6h-2.9a15.7 15.7 0 0 0-1.4-3.6A8 8 0 0 1 18.9 8zM12 4c.8 1.2 1.5 2.5 1.9 4h-3.8c.4-1.5 1.1-2.8 1.9-4zM4.3 14a8.2 8.2 0 0 1 0-4h3.4a16.5 16.5 0 0 0 0 4zm.8 2h2.9c.3 1.3.8 2.5 1.4 3.6A8 8 0 0 1 5.1 16zM8 8H5.1a8 8 0 0 1 4.3-3.6C8.8 5.5 8.3 6.7 8 8zm4 12c-.8-1.2-1.5-2.5-1.9-4h3.8c-.4 1.5-1.1 2.8-1.9 4zm2.3-6H9.7a14.7 14.7 0 0 1 0-4h4.6a14.7 14.7 0 0 1 0 4zm.3 5.6c.6-1.1 1.1-2.3 1.4-3.6h2.9a8 8 0 0 1-4.3 3.6zm1.7-5.6a16.5 16.5 0 0 0 0-4h3.4a8.2 8.2 0 0 1 0 4z'/%3E%3C/svg%3E");
    color: var(--v2-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

/* ---------- 오른쪽 AhaCard 상자 (새 모양) ---------- */
.v2-dir-aha { align-items: stretch; gap: 8px; padding: 20px 18px 18px; border: 1px solid #e3d9fc; background: linear-gradient(165deg, #f3eeff 0%, #fdf2f8 45%, #fff 75%); }
.v2-dir-aha-img { display: block; width: 78%; max-width: 230px; height: auto; margin: -4px auto 6px; filter: drop-shadow(0 10px 14px rgba(79, 70, 229, .18)); }
.v2-dir-aha > b { font-size: 17px; }
.v2-dir-aha ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.v2-dir-aha li { position: relative; padding-left: 22px; font-size: 13px; line-height: 1.5; color: #4b5162; }
.v2-dir-aha li::before { content: ''; position: absolute; left: 0; top: 2px; width: 15px; height: 15px; border-radius: 50%; background: var(--v2-primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b3fe0' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 10px no-repeat; }
.v2-dir-aha-count { align-self: flex-start; margin-top: 4px; padding: 4px 11px; border-radius: 999px; background: #fff; border: 1px solid #e3d9fc; font-size: 12.5px; color: #4b5162; }
.v2-dir-aha-count b { color: var(--v2-primary); }
/* the count is a link to the AhaCard page - it keeps its pill look, not the box's button */
.v2-dir-aha a.v2-dir-aha-count { align-self: flex-start; margin-top: 4px; padding: 4px 11px; text-align: left; background: #fff; color: #4b5162 !important; font-size: 12.5px; font-weight: 400; }
.v2-dir-aha a.v2-dir-aha-count:hover { background: var(--v2-primary-soft); border-color: var(--v2-primary); }
.v2-dir-aha a { align-self: stretch; margin-top: 6px; padding: 11px 16px; text-align: center; }


/* ---------- 머리 뒤의 그림: 토론토 윤곽, 차양을 친 가게들, 걷는 사람들 ----------
   글자가 그 위에 서도 읽히도록 옅게. 맨 아래는 찾기 칸이 덮으므로 그 위에 선다.
   그림은 글자로 적었다 - .svg 파일은 서버의 MIME 설정에 기대야 한다. */
.v2-dir-hero .v2-bh-in::before { content: ''; position: absolute; left: 0; right: 0; bottom: 40px; height: 270px; z-index: 0; pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201200%20300'%20preserveAspectRatio='xMidYMax%20slice'%3E%3Cg%20fill='%236b3fe0'%20fill-opacity='.15'%3E%3Crect%20x='0'%20y='57'%20width='72'%20height='205'%20rx='2'/%3E%3Crect%20x='18'%20y='43'%20width='36'%20height='14'/%3E%3Crect%20x='82'%20y='57'%20width='72'%20height='205'%20rx='2'/%3E%3Crect%20x='100'%20y='43'%20width='36'%20height='14'/%3E%3Crect%20x='168'%20y='142'%20width='56'%20height='120'%20rx='2'/%3E%3Crect%20x='238'%20y='57'%20width='72'%20height='205'%20rx='2'/%3E%3Crect%20x='256'%20y='43'%20width='36'%20height='14'/%3E%3Crect%20x='318'%20y='82'%20width='48'%20height='180'%20rx='2'/%3E%3Crect%20x='330'%20y='68'%20width='24'%20height='14'/%3E%3Crect%20x='376'%20y='172'%20width='56'%20height='90'%20rx='2'/%3E%3Crect%20x='446'%20y='57'%20width='48'%20height='205'%20rx='2'/%3E%3Crect%20x='458'%20y='43'%20width='24'%20height='14'/%3E%3Crect%20x='780'%20y='82'%20width='48'%20height='180'%20rx='2'/%3E%3Crect%20x='792'%20y='68'%20width='24'%20height='14'/%3E%3Crect%20x='838'%20y='57'%20width='72'%20height='205'%20rx='2'/%3E%3Crect%20x='856'%20y='43'%20width='36'%20height='14'/%3E%3Crect%20x='918'%20y='112'%20width='56'%20height='150'%20rx='2'/%3E%3Crect%20x='932'%20y='98'%20width='28'%20height='14'/%3E%3Crect%20x='984'%20y='172'%20width='48'%20height='90'%20rx='2'/%3E%3Crect%20x='1042'%20y='82'%20width='64'%20height='180'%20rx='2'/%3E%3Crect%20x='1058'%20y='68'%20width='32'%20height='14'/%3E%3Crect%20x='1120'%20y='112'%20width='48'%20height='150'%20rx='2'/%3E%3Crect%20x='1132'%20y='98'%20width='24'%20height='14'/%3E%3Crect%20x='1178'%20y='57'%20width='56'%20height='205'%20rx='2'/%3E%3Crect%20x='1192'%20y='43'%20width='28'%20height='14'/%3E%3Cpath%20d='M529%20262L536%2070H544L551%20262Z'/%3E%3Crect%20x='520'%20y='54'%20width='40'%20height='20'%20rx='9'/%3E%3Crect%20x='536'%20y='6'%20width='8'%20height='50'/%3E%3Crect%20x='532'%20y='0'%20width='16'%20height='10'%20rx='4'/%3E%3Cpath%20d='M590%20262V232Q655%20186%20720%20232V262Z'/%3E%3C/g%3E%3Crect%20x='10'%20y='200'%20width='110'%20height='70'%20rx='4'%20fill='%23ffffff'%20fill-opacity='.55'/%3E%3Crect%20x='10'%20y='200'%20width='110'%20height='70'%20rx='4'%20fill='%236b3fe0'%20fill-opacity='.08'/%3E%3Crect%20x='22'%20y='207'%20width='86'%20height='12'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M6.0%20224h19.7l2%2012h-23.7z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M4.0%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M25.7%20224h19.7l2%2012h-23.7z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M23.7%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M45.3%20224h19.7l2%2012h-23.7z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M43.3%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M65.0%20224h19.7l2%2012h-23.7z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M63.0%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M84.7%20224h19.7l2%2012h-23.7z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M82.7%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M104.3%20224h19.7l2%2012h-23.7z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M102.3%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Crect%20x='22'%20y='246'%20width='53'%20height='16'%20rx='3'%20fill='%23ffffff'%20fill-opacity='.6'/%3E%3Crect%20x='84'%20y='244'%20width='22'%20height='26'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.12'/%3E%3Crect%20x='178'%20y='190'%20width='110'%20height='80'%20rx='4'%20fill='%23ffffff'%20fill-opacity='.55'/%3E%3Crect%20x='178'%20y='190'%20width='110'%20height='80'%20rx='4'%20fill='%236b3fe0'%20fill-opacity='.08'/%3E%3Crect%20x='190'%20y='197'%20width='86'%20height='12'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M174.0%20214h19.7l2%2012h-23.7z'%20fill='%236b3fe0'%20fill-opacity='.24'/%3E%3Cpath%20d='M172.0%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%236b3fe0'%20fill-opacity='.24'/%3E%3Cpath%20d='M193.7%20214h19.7l2%2012h-23.7z'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M191.7%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M213.3%20214h19.7l2%2012h-23.7z'%20fill='%236b3fe0'%20fill-opacity='.24'/%3E%3Cpath%20d='M211.3%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%236b3fe0'%20fill-opacity='.24'/%3E%3Cpath%20d='M233.0%20214h19.7l2%2012h-23.7z'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M231.0%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M252.7%20214h19.7l2%2012h-23.7z'%20fill='%236b3fe0'%20fill-opacity='.24'/%3E%3Cpath%20d='M250.7%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%236b3fe0'%20fill-opacity='.24'/%3E%3Cpath%20d='M272.3%20214h19.7l2%2012h-23.7z'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M270.3%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Crect%20x='190'%20y='236'%20width='53'%20height='26'%20rx='3'%20fill='%23ffffff'%20fill-opacity='.6'/%3E%3Crect%20x='252'%20y='234'%20width='22'%20height='36'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.12'/%3E%3Crect%20x='322'%20y='190'%20width='124'%20height='80'%20rx='4'%20fill='%23ffffff'%20fill-opacity='.55'/%3E%3Crect%20x='322'%20y='190'%20width='124'%20height='80'%20rx='4'%20fill='%236b3fe0'%20fill-opacity='.08'/%3E%3Crect%20x='334'%20y='197'%20width='100'%20height='12'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M318.0%20214h22.0l2%2012h-26.0z'%20fill='%23f59e0b'%20fill-opacity='.24'/%3E%3Cpath%20d='M316.0%20226a13.0%204.5%200%200%200%2026.0%200z'%20fill='%23f59e0b'%20fill-opacity='.24'/%3E%3Cpath%20d='M340.0%20214h22.0l2%2012h-26.0z'%20fill='%23f59e0b'%20fill-opacity='.10'/%3E%3Cpath%20d='M338.0%20226a13.0%204.5%200%200%200%2026.0%200z'%20fill='%23f59e0b'%20fill-opacity='.10'/%3E%3Cpath%20d='M362.0%20214h22.0l2%2012h-26.0z'%20fill='%23f59e0b'%20fill-opacity='.24'/%3E%3Cpath%20d='M360.0%20226a13.0%204.5%200%200%200%2026.0%200z'%20fill='%23f59e0b'%20fill-opacity='.24'/%3E%3Cpath%20d='M384.0%20214h22.0l2%2012h-26.0z'%20fill='%23f59e0b'%20fill-opacity='.10'/%3E%3Cpath%20d='M382.0%20226a13.0%204.5%200%200%200%2026.0%200z'%20fill='%23f59e0b'%20fill-opacity='.10'/%3E%3Cpath%20d='M406.0%20214h22.0l2%2012h-26.0z'%20fill='%23f59e0b'%20fill-opacity='.24'/%3E%3Cpath%20d='M404.0%20226a13.0%204.5%200%200%200%2026.0%200z'%20fill='%23f59e0b'%20fill-opacity='.24'/%3E%3Cpath%20d='M428.0%20214h22.0l2%2012h-26.0z'%20fill='%23f59e0b'%20fill-opacity='.10'/%3E%3Cpath%20d='M426.0%20226a13.0%204.5%200%200%200%2026.0%200z'%20fill='%23f59e0b'%20fill-opacity='.10'/%3E%3Crect%20x='334'%20y='236'%20width='60'%20height='26'%20rx='3'%20fill='%23ffffff'%20fill-opacity='.6'/%3E%3Crect%20x='410'%20y='234'%20width='22'%20height='36'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.12'/%3E%3Crect%20x='745'%20y='200'%20width='110'%20height='70'%20rx='4'%20fill='%23ffffff'%20fill-opacity='.55'/%3E%3Crect%20x='745'%20y='200'%20width='110'%20height='70'%20rx='4'%20fill='%236b3fe0'%20fill-opacity='.08'/%3E%3Crect%20x='757'%20y='207'%20width='86'%20height='12'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M741.0%20224h19.7l2%2012h-23.7z'%20fill='%2314b8a6'%20fill-opacity='.24'/%3E%3Cpath%20d='M739.0%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%2314b8a6'%20fill-opacity='.24'/%3E%3Cpath%20d='M760.7%20224h19.7l2%2012h-23.7z'%20fill='%2314b8a6'%20fill-opacity='.10'/%3E%3Cpath%20d='M758.7%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%2314b8a6'%20fill-opacity='.10'/%3E%3Cpath%20d='M780.3%20224h19.7l2%2012h-23.7z'%20fill='%2314b8a6'%20fill-opacity='.24'/%3E%3Cpath%20d='M778.3%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%2314b8a6'%20fill-opacity='.24'/%3E%3Cpath%20d='M800.0%20224h19.7l2%2012h-23.7z'%20fill='%2314b8a6'%20fill-opacity='.10'/%3E%3Cpath%20d='M798.0%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%2314b8a6'%20fill-opacity='.10'/%3E%3Cpath%20d='M819.7%20224h19.7l2%2012h-23.7z'%20fill='%2314b8a6'%20fill-opacity='.24'/%3E%3Cpath%20d='M817.7%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%2314b8a6'%20fill-opacity='.24'/%3E%3Cpath%20d='M839.3%20224h19.7l2%2012h-23.7z'%20fill='%2314b8a6'%20fill-opacity='.10'/%3E%3Cpath%20d='M837.3%20236a11.8%204.5%200%200%200%2023.7%200z'%20fill='%2314b8a6'%20fill-opacity='.10'/%3E%3Crect%20x='757'%20y='246'%20width='53'%20height='16'%20rx='3'%20fill='%23ffffff'%20fill-opacity='.6'/%3E%3Crect%20x='819'%20y='244'%20width='22'%20height='26'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.12'/%3E%3Crect%20x='889'%20y='190'%20width='110'%20height='80'%20rx='4'%20fill='%23ffffff'%20fill-opacity='.55'/%3E%3Crect%20x='889'%20y='190'%20width='110'%20height='80'%20rx='4'%20fill='%236b3fe0'%20fill-opacity='.08'/%3E%3Crect%20x='901'%20y='197'%20width='86'%20height='12'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M885.0%20214h19.7l2%2012h-23.7z'%20fill='%233b82f6'%20fill-opacity='.24'/%3E%3Cpath%20d='M883.0%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%233b82f6'%20fill-opacity='.24'/%3E%3Cpath%20d='M904.7%20214h19.7l2%2012h-23.7z'%20fill='%233b82f6'%20fill-opacity='.10'/%3E%3Cpath%20d='M902.7%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%233b82f6'%20fill-opacity='.10'/%3E%3Cpath%20d='M924.3%20214h19.7l2%2012h-23.7z'%20fill='%233b82f6'%20fill-opacity='.24'/%3E%3Cpath%20d='M922.3%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%233b82f6'%20fill-opacity='.24'/%3E%3Cpath%20d='M944.0%20214h19.7l2%2012h-23.7z'%20fill='%233b82f6'%20fill-opacity='.10'/%3E%3Cpath%20d='M942.0%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%233b82f6'%20fill-opacity='.10'/%3E%3Cpath%20d='M963.7%20214h19.7l2%2012h-23.7z'%20fill='%233b82f6'%20fill-opacity='.24'/%3E%3Cpath%20d='M961.7%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%233b82f6'%20fill-opacity='.24'/%3E%3Cpath%20d='M983.3%20214h19.7l2%2012h-23.7z'%20fill='%233b82f6'%20fill-opacity='.10'/%3E%3Cpath%20d='M981.3%20226a11.8%204.5%200%200%200%2023.7%200z'%20fill='%233b82f6'%20fill-opacity='.10'/%3E%3Crect%20x='901'%20y='236'%20width='53'%20height='26'%20rx='3'%20fill='%23ffffff'%20fill-opacity='.6'/%3E%3Crect%20x='963'%20y='234'%20width='22'%20height='36'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.12'/%3E%3Crect%20x='1045'%20y='190'%20width='140'%20height='80'%20rx='4'%20fill='%23ffffff'%20fill-opacity='.55'/%3E%3Crect%20x='1045'%20y='190'%20width='140'%20height='80'%20rx='4'%20fill='%236b3fe0'%20fill-opacity='.08'/%3E%3Crect%20x='1057'%20y='197'%20width='116'%20height='12'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.10'/%3E%3Cpath%20d='M1041.0%20214h21.1l2%2012h-25.1z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M1039.0%20226a12.6%204.5%200%200%200%2025.1%200z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M1062.1%20214h21.1l2%2012h-25.1z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M1060.1%20226a12.6%204.5%200%200%200%2025.1%200z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M1083.3%20214h21.1l2%2012h-25.1z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M1081.3%20226a12.6%204.5%200%200%200%2025.1%200z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M1104.4%20214h21.1l2%2012h-25.1z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M1102.4%20226a12.6%204.5%200%200%200%2025.1%200z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M1125.6%20214h21.1l2%2012h-25.1z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M1123.6%20226a12.6%204.5%200%200%200%2025.1%200z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M1146.7%20214h21.1l2%2012h-25.1z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M1144.7%20226a12.6%204.5%200%200%200%2025.1%200z'%20fill='%23e6005c'%20fill-opacity='.10'/%3E%3Cpath%20d='M1167.9%20214h21.1l2%2012h-25.1z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Cpath%20d='M1165.9%20226a12.6%204.5%200%200%200%2025.1%200z'%20fill='%23e6005c'%20fill-opacity='.24'/%3E%3Crect%20x='1057'%20y='236'%20width='67'%20height='26'%20rx='3'%20fill='%23ffffff'%20fill-opacity='.6'/%3E%3Crect%20x='1149'%20y='234'%20width='22'%20height='36'%20rx='3'%20fill='%236b3fe0'%20fill-opacity='.12'/%3E%3Crect%20x='0'%20y='262'%20width='1200'%20height='38'%20fill='%236b3fe0'%20fill-opacity='.08'/%3E%3Cg%20fill='%234f46e5'%20fill-opacity='.42'%20stroke-opacity='.42'%3E%3Ccircle%20cx='59'%20cy='253.8'%20r='4.0'/%3E%3Crect%20x='55.3'%20y='259.0'%20width='7.4'%20height='15.5'%20rx='3.0'/%3E%3Cpath%20d='M57.1%20273.8l3.0%2011.8M60.9%20273.8l-3.0%2011.8'%20stroke='%234f46e5'%20stroke-width='2.5'%20stroke-linecap='round'/%3E%3Cpath%20d='M62.0%20261.2l3.7%208.1'%20stroke='%234f46e5'%20stroke-width='1.9'%20stroke-linecap='round'/%3E%3Crect%20x='63.4'%20y='268.6'%20width='6.7'%20height='7.4'%20rx='2'/%3E%3C/g%3E%3Cg%20fill='%236b3fe0'%20fill-opacity='.42'%20stroke-opacity='.42'%3E%3Ccircle%20cx='284'%20cy='255.6'%20r='3.7'/%3E%3Crect%20x='280.6'%20y='260.4'%20width='6.8'%20height='14.3'%20rx='2.7'/%3E%3Cpath%20d='M282.3%20274.0l-2.7%2010.9M285.7%20274.0l2.7%2010.9'%20stroke='%236b3fe0'%20stroke-width='2.3'%20stroke-linecap='round'/%3E%3C/g%3E%3Cg%20fill='%236b3fe0'%20fill-opacity='.42'%20stroke-opacity='.42'%3E%3Ccircle%20cx='492'%20cy='257.4'%20r='3.3'/%3E%3Crect%20x='488.9'%20y='261.7'%20width='6.2'%20height='13.0'%20rx='2.5'/%3E%3Cpath%20d='M490.4%20274.1l2.5%209.9M493.6%20274.1l-2.5%209.9'%20stroke='%236b3fe0'%20stroke-width='2.1'%20stroke-linecap='round'/%3E%3C/g%3E%3Cg%20fill='%234f46e5'%20fill-opacity='.42'%20stroke-opacity='.42'%3E%3Ccircle%20cx='667'%20cy='257.4'%20r='3.3'/%3E%3Crect%20x='663.9'%20y='261.7'%20width='6.2'%20height='13.0'%20rx='2.5'/%3E%3Cpath%20d='M665.5%20274.1l2.5%209.9M668.5%20274.1l-2.5%209.9'%20stroke='%234f46e5'%20stroke-width='2.1'%20stroke-linecap='round'/%3E%3Cpath%20d='M669.5%20263.6l3.1%206.8'%20stroke='%234f46e5'%20stroke-width='1.6'%20stroke-linecap='round'/%3E%3Crect%20x='670.7'%20y='269.8'%20width='5.6'%20height='6.2'%20rx='2'/%3E%3C/g%3E%3Cg%20fill='%236b3fe0'%20fill-opacity='.42'%20stroke-opacity='.42'%3E%3Ccircle%20cx='851'%20cy='257.4'%20r='3.3'/%3E%3Crect%20x='847.9'%20y='261.7'%20width='6.2'%20height='13.0'%20rx='2.5'/%3E%3Cpath%20d='M849.5%20274.1l-2.5%209.9M852.5%20274.1l2.5%209.9'%20stroke='%236b3fe0'%20stroke-width='2.1'%20stroke-linecap='round'/%3E%3C/g%3E%3Cg%20fill='%234f46e5'%20fill-opacity='.42'%20stroke-opacity='.42'%3E%3Ccircle%20cx='1072'%20cy='253.8'%20r='4.0'/%3E%3Crect%20x='1068.3'%20y='259.0'%20width='7.4'%20height='15.5'%20rx='3.0'/%3E%3Cpath%20d='M1070.2%20273.8l3.0%2011.8M1073.8%20273.8l-3.0%2011.8'%20stroke='%234f46e5'%20stroke-width='2.5'%20stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E") left bottom / auto 100% repeat-x; }
.v2-dir-hero .v2-bh-in { min-height: 340px; }
@media (max-width: 900px) { .v2-dir-hero .v2-bh-in { min-height: 0; } .v2-dir-hero .v2-bh-in::before { height: 160px; opacity: .7; } }
a.v2-dir-meta.is-web:hover { text-decoration: underline; }
.v2-dir-metas .v2-dir-meta.is-web { max-width: 260px; }

/* 아하아이디어 홈페이지 적용 업소: the businesses with a website made by us, banners two to a row */
body:has(.v2-header) .v2-dir-sites { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--v2-line, #e6e8ef); border-radius: 16px; background: #fff; }
body:has(.v2-header) .v2-dir-sites > b { padding-left: 10px; border-left: 4px solid var(--v2-primary); font-size: 16px; font-weight: 900; line-height: 1.3; color: var(--v2-navy); }
body:has(.v2-header) .v2-dir-sites > span { font-size: 12.5px; line-height: 1.55; color: #6b7180; }
body:has(.v2-header) .v2-dir-sites-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 6px; }
body:has(.v2-header) .v2-dir-sites-grid a { display: block; aspect-ratio: 5 / 4; border-radius: 10px; overflow: hidden; background: #f3f4f8; box-shadow: 0 1px 2px rgba(20, 24, 40, .08); transition: transform .15s ease, box-shadow .15s ease; }
body:has(.v2-header) .v2-dir-sites-grid a:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(79, 70, 229, .18); }
body:has(.v2-header) .v2-dir-sites-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
body:has(.v2-header) .v2-dir-sites-more { align-self: flex-start; margin-top: 6px; font-size: 13px; font-weight: 800; color: var(--v2-primary) !important; }
body:has(.v2-header) .v2-dir-sites-more:hover { text-decoration: underline; }

/* 업소 포토 / 업소에서 올라온 글: the business sites (홈페이지 관리: Business), between premium and the full list */
body:has(.v2-header) .v2-dir-photos { margin: 0 0 26px; }
body:has(.v2-header) .v2-dir-ph-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body:has(.v2-header) .v2-dir-ph { display: flex; flex-direction: column; gap: 8px; color: inherit; text-decoration: none; }
body:has(.v2-header) .v2-dir-ph-img { display: block; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: #f1f2f6; }
body:has(.v2-header) .v2-dir-ph-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
body:has(.v2-header) .v2-dir-ph:hover .v2-dir-ph-img img { transform: scale(1.04); }
body:has(.v2-header) .v2-dir-ph b { font-size: 14.5px; font-weight: 800; color: var(--v2-text); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* 업소에서 올라온 글: the community page's 커뮤니티에서 올라온 글, rule for rule (V2Home.css box and title,
   V2Community.css list) - the directory does not load those two files. */
body:has(.v2-header) .v2-dir .v2-sec-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
body:has(.v2-header) .v2-dir .v2-sec-title { margin: 0; font-size: 19px; font-weight: 900; color: var(--v2-navy); padding-left: 12px; border-left: 4px solid var(--v2-primary); line-height: 1.2; }
body:has(.v2-header) .v2-dir-posts.v2-box { margin: 0 0 26px; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); padding: 16px 16px 14px; background: #fff; }
body:has(.v2-header) .v2-dir-posts ul { list-style: none; margin: 0; padding: 0; }
body:has(.v2-header) .v2-dir-posts li { margin: 0; border-bottom: 1px solid var(--v2-line); }
body:has(.v2-header) .v2-dir-posts li:last-child { border-bottom: 0; }
body:has(.v2-header) .v2-dir-posts a { display: flex; flex-direction: column; gap: 5px; padding: 14px 0; color: inherit; text-decoration: none; }
body:has(.v2-header) .v2-dir-posts b { font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--v2-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body:has(.v2-header) .v2-dir-posts a:hover b { color: var(--v2-primary); }
body:has(.v2-header) .v2-dir-posts .v2-cm-posts-excerpt { font-size: 13px; line-height: 1.55; color: #5b6172; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
body:has(.v2-header) .v2-dir-posts .v2-cm-posts-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 12px; color: var(--v2-muted); }
body:has(.v2-header) .v2-dir-posts .v2-cm-org { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: var(--v2-primary); }
body:has(.v2-header) .v2-dir-posts .v2-cm-org::before { content: ''; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b3fe0' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M15 14.5c3 0 6 2 6 5.5'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 700px) {
    body:has(.v2-header) .v2-dir-ph-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body:has(.v2-header) .v2-dir-ph:nth-child(3) { display: none; }
}

/* the section titles' 더보기 (V2Home.css is not loaded here) */
body:has(.v2-header) .v2-dir .v2-more { font-size: 13px; color: var(--v2-muted) !important; text-decoration: none; }
body:has(.v2-header) .v2-dir .v2-more:hover { color: var(--v2-primary) !important; }

/* 업소 웹사이트 포토 / 글 - the full page (Controls/V2/V2BizFeed) */
body:has(.v2-header) .v2-bf { margin: 28px auto 48px; }
body:has(.v2-header) .v2-bf-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 26px 28px; margin-bottom: 24px; border-radius: 16px; background: linear-gradient(120deg, #f5f1ff, #fdf2f8 60%, #fff); }
body:has(.v2-header) .v2-bf-kicker { margin: 0 0 6px; font-size: 13px; font-weight: 800; }
body:has(.v2-header) .v2-bf-kicker a { color: var(--v2-primary); text-decoration: none; }
body:has(.v2-header) .v2-bf-title { margin: 0; font-size: 26px; font-weight: 900; line-height: 1.3; color: var(--v2-navy); }
body:has(.v2-header) .v2-bf-sub { margin: 8px 0 0; font-size: 14px; color: #4b5162; }
body:has(.v2-header) .v2-bf-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
body:has(.v2-header) .v2-bf-tabs a { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--v2-line); background: #fff; font-size: 14px; font-weight: 700; color: #4b5162; text-decoration: none; }
body:has(.v2-header) .v2-bf-tabs a:hover { border-color: var(--v2-primary); color: var(--v2-primary); }
body:has(.v2-header) .v2-bf-tabs a.is-on { background: var(--v2-primary); border-color: var(--v2-primary); color: #fff; }
body:has(.v2-header) .v2-bf .v2-dir-ph-grid { row-gap: 22px; }
body:has(.v2-header) .v2-bf-empty { padding: 60px 0; text-align: center; color: var(--v2-muted); }

/* BIZ 이벤트 전체 (?view=bizevents): the tiles with their counts, the events two to a row */
body:has(.v2-header) .v2-dir-tiles-biz .v2-dir-tile { position: relative; }
body:has(.v2-header) .v2-dir-tile-n { font-style: normal; font-size: 13px; font-weight: 900; color: var(--c); line-height: 1; }
body:has(.v2-header) .v2-dir-tiles-biz .v2-dir-tile.is-empty { opacity: .55; }
body:has(.v2-header) .v2-dir-bizall .v2-dir-head h2 small { font-size: 16px; font-weight: 800; color: var(--v2-navy); }
body:has(.v2-header) .v2-dir-bizall-n { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--v2-muted); }
body:has(.v2-header) .v2-dir-bizall .v2-dir-biz ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
body:has(.v2-header) .v2-dir-bizall .v2-dir-biz li a { border-top: 0; border-bottom: 1px solid var(--v2-line); padding: 12px 0; }
body:has(.v2-header) .v2-dir-bizall .v2-dir-biz-img { flex-basis: 96px; width: 96px; height: 72px; }
body:has(.v2-header) .v2-dir-bizall .v2-dir-biz-text b { font-size: 14.5px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body:has(.v2-header) .v2-dir-bizall .v2-dir-biz-text small { font-size: 12px; color: var(--v2-muted); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
body:has(.v2-header) .v2-dir-newsside .v2-dir-biz-text b { font-size: 13.5px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body:has(.v2-header) .v2-dir-empty { padding: 40px 0; text-align: center; color: var(--v2-muted); }
@media (max-width: 760px) { body:has(.v2-header) .v2-dir-bizall .v2-dir-biz ul { grid-template-columns: minmax(0, 1fr); } }

/* phones: the 14 group tiles were tall boxes three to a row - now round icons four to a row,
   as the front page's shortcuts (the names here are long, hence four, not five) */
@media (max-width: 760px) {
    body:has(.v2-header) .v2-dir-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 4px; margin-bottom: 20px; }
    body:has(.v2-header) .v2-dir-tile { min-height: 0; gap: 6px; padding: 4px 2px; border: 0; background: none !important; box-shadow: none; }
    body:has(.v2-header) .v2-dir-tile:hover { transform: none; box-shadow: none; }
    body:has(.v2-header) .v2-dir-tile.is-on { box-shadow: none; }
    body:has(.v2-header) .v2-dir-tile.is-on .v2-dir-tile-icon { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--c); }
    body:has(.v2-header) .v2-dir-tile-icon { width: 44px; height: 44px; }
    body:has(.v2-header) .v2-dir-tile-icon svg { width: 22px; height: 22px; }
    body:has(.v2-header) .v2-dir-tile b { font-size: 11px; line-height: 1.3; text-align: center; }
}

/* phones: the business photos/posts page head (V2BizFeed) smaller */
@media (max-width: 640px) {
    body:has(.v2-header) .v2-bf { margin-top: 14px; }
    body:has(.v2-header) .v2-bf-head { padding: 18px 16px; margin-bottom: 16px; gap: 12px; }
    body:has(.v2-header) .v2-bf-title { font-size: 21px; }
    body:has(.v2-header) .v2-bf-sub { font-size: 13px; }
    body:has(.v2-header) .v2-bf-tabs a { padding: 7px 12px; font-size: 13px; }
}
