/* 한인 매장 디렉토리 — 색은 redesign.css 토큰(--navy/--accent/--accent-text/--tint-blue/--card-line)을 따른다 */
.st-head{padding-top:40px}
.st-head h1{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.25;letter-spacing:-.02em;margin:6px 0 10px}
.st-count{display:inline-block;margin-left:8px;padding:2px 14px;border-radius:999px;background:var(--tint-blue);color:var(--accent-text);font-size:.55em;vertical-align:middle}
.st-lede{color:var(--soft);max-width:60ch;margin:0 0 20px}
.st-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:24px}
.st-field{display:grid;gap:6px;font-size:.875rem;font-weight:700;flex:1 1 220px}
.st-field input,.st-field select{min-height:48px;padding:0 14px;border:1px solid #cfd7e3;border-radius:var(--r-input,16px);background:#fff;color:var(--navy);font:inherit;font-weight:500}
.st-check{display:inline-flex;align-items:center;gap:8px;min-height:48px;font-weight:600}
.st-check input{width:20px;height:20px}
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.st-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--card-line);border-radius:var(--r-card,22px);box-shadow:var(--shadow);color:inherit;text-decoration:none}
a.st-card:hover,a.st-card:focus-visible{border-color:var(--accent);transform:translateY(-2px)}
.st-card[hidden]{display:none}
.st-card img,.st-noimg{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--tint-blue)}
.st-body{display:grid;gap:4px;padding:14px 16px 18px}
.st-body strong{font-size:1.05rem;color:var(--navy)}
.st-addr,.st-meta{font-size:.875rem;color:var(--soft)}
.st-chip{display:inline-block;justify-self:start;padding:2px 10px;border-radius:999px;background:var(--tint-blue);color:var(--accent-text);font-size:.8125rem;font-weight:700}
.st-chip-big{padding:9px 16px;font-size:.9375rem;text-decoration:none;min-height:44px}
.st-chip-big b{margin-left:4px}
.st-cats{display:flex;flex-wrap:wrap;gap:8px}
.st-home{padding:48px 16px}
.st-empty,.st-foot{margin:20px 0}
.st-notice{padding:14px 18px;border-left:4px solid var(--accent);background:var(--tint-blue);border-radius:12px;max-width:70ch}
.st-detail{padding:32px 16px}
.st-detail h1{margin:8px 0 16px;font-size:clamp(1.7rem,4vw,2.3rem);letter-spacing:-.02em}
.st-info{display:grid;grid-template-columns:96px 1fr;gap:10px 14px;margin:0 0 20px}
.st-info dt{color:var(--soft);font-weight:700}.st-info dd{margin:0}
.st-menu{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.st-menu li{padding:6px 14px;border:1px solid var(--card-line);border-radius:999px;background:#fff;font-size:.9375rem}
.st-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.st-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.st-detail h2{margin-top:32px}

/* ── 디자인 다듬기 ── */
.st-hero{background:linear-gradient(135deg,#e5f0ff 0%,#f3f9ff 55%,#fff 100%);border-bottom:1px solid var(--card-line)}
.st-hero .st-head{padding-bottom:28px}
.st-filters{padding:14px;background:#fff;border:1px solid var(--card-line);border-radius:22px;box-shadow:var(--shadow);margin-bottom:0}
.st-field input,.st-field select{border-color:var(--card-line);background:var(--bg)}
.st-field input:focus,.st-field select:focus{outline:2px solid var(--accent);outline-offset:1px;background:#fff}
.st-check{padding:0 14px;border-radius:999px;background:var(--bg);cursor:pointer}
.st-grid{margin-top:28px;gap:20px}
.st-card{position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
a.st-card:hover,a.st-card:focus-visible{transform:translateY(-4px);box-shadow:0 2px 4px #0f27470a,0 18px 36px #0f27471f}
.st-card img{transition:transform .35s}
a.st-card:hover img{transform:scale(1.05)}
.st-card{--clip:hidden}
.st-card>img,.st-card>.st-noimg{overflow:hidden}
.st-noimg{background:linear-gradient(135deg,var(--tint-blue),#cfe6fb)}
.st-body{flex:1;align-content:start;gap:6px}
.st-body strong{font-size:1.1rem;letter-spacing:-.01em;line-height:1.35}
.st-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.st-badges:empty{display:none}
.st-badge{font-style:normal;font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:999px;background:#fff1ea;color:#c2410c}
.st-badge.st-kk{background:#fff8d6;color:#7a5b00}
.st-card.st-static{box-shadow:none}
.st-detail{max-width:980px}
.st-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center;margin-bottom:28px}
.st-cover{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.st-summary h1{margin:12px 0 18px}
.st-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.st-info{padding:22px 24px;background:#fff;border:1px solid var(--card-line);border-radius:22px;box-shadow:var(--shadow)}
.st-photos img{border-radius:20px;box-shadow:var(--shadow)}
.st-menu li{background:var(--bg)}
@media (max-width:720px){
 .st-top{grid-template-columns:1fr;gap:18px}
 .st-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
 .st-body{padding:10px 12px 14px}
 .st-body strong{font-size:1rem}
 .st-filters{padding:12px}
 .st-info{grid-template-columns:78px 1fr;padding:16px}
}
@media (prefers-reduced-motion:reduce){.st-card,.st-card img{transition:none}a.st-card:hover{transform:none}a.st-card:hover img{transform:none}}

/* 매장 페이지 하단 바: 풀빌라 상담 대신 매장 이동 */
.st-bar a:last-child{background:var(--navy)!important;color:#fff!important}
