/* HARU Guide — 공용 디자인 토큰 + 손님 편의 기능(편의시설·교통·식당 문장·홈 화면 추가) */
:root{--h-bg:#FAF8F4;--h-card:#FFFFFF;--h-ink:#14262B;--h-muted:#5B6B6E;--h-line:#E7E2D9;--h-soft:#F2EEE7;--h-brand:#0E3B43;--h-accent:#E86F4D;--h-danger:#B4321C;--h-ok:#1F6D5A;--h-radius:18px;
  --h-font:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR','Noto Sans Thai','Noto Sans JP','Noto Sans SC',system-ui,sans-serif}
.h-ico{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em;flex:0 0 auto}
.h-section,.h-sheet,.h-phrase-full,.h-powered,.h-install,.h-offline{font-family:var(--h-font)}
.h-section .h-h2{display:flex;align-items:center;gap:8px;font-size:24px;margin:0 0 6px;color:var(--h-ink);letter-spacing:-.01em}
.h-section .h-h2 .h-ico{color:var(--h-brand)}
.h-note{color:var(--h-muted);font-size:14px;margin:0 0 12px;line-height:1.5}
.h-card{background:var(--h-card);border:1px solid var(--h-line);border-radius:var(--h-radius);padding:16px;margin-top:10px}
.h-h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:17px;color:var(--h-ink)}
.h-h3 .h-ico{color:var(--h-brand)}
.h-p{margin:0 0 10px;line-height:1.6;color:#2B3A3E;font-size:15px}
.h-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 18px;border-radius:14px;border:1px solid var(--h-line);background:#fff;color:var(--h-ink);font:700 15px/1 var(--h-font);cursor:pointer}
.h-btn.primary{background:var(--h-brand);border-color:var(--h-brand);color:#fff}
.h-btn.small{min-height:40px;padding:0 14px;font-size:14px}
.h-btn:focus-visible,.h-amen-btn:focus-visible,.h-phrase:focus-visible{outline:3px solid #F2B8A6;outline-offset:2px}

/* 5) 편의시설 */
.h-amen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.h-amen-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px 6px;border-radius:16px;border:1px solid var(--h-line);background:#fff;color:var(--h-ink);font:600 13.5px/1.25 var(--h-font);text-align:center;cursor:pointer}
.h-amen-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--h-soft);color:var(--h-brand)}
.h-amen-ico .h-ico{width:22px;height:22px}
.h-amen.compact .h-amen-btn{min-height:76px;font-size:13px}
@media (min-width:761px){.h-amen{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* 7) 식당 문장 */
.h-phrases{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:10px}
.h-phrase{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:64px;padding:12px 14px;border-radius:16px;border:1px solid var(--h-line);background:#fff;text-align:left;cursor:pointer;font-family:var(--h-font)}
.h-phrase-k{font-size:19px;font-weight:800;color:var(--h-ink)}
.h-phrase-t{font-size:13.5px;color:var(--h-muted)}
.h-phrase-full{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}
.h-phrase-full[hidden]{display:none}
.h-phrase-ko{font-size:clamp(40px,12vw,84px);font-weight:900;line-height:1.15;color:var(--h-ink);word-break:keep-all}
.h-phrase-tr{font-size:18px;color:var(--h-muted)}

/* 시트 */
.h-sheet{border:0;border-radius:22px 22px 0 0;padding:0;width:100%;max-width:560px;margin:auto auto 0;box-shadow:0 -10px 40px rgba(0,0,0,.18)}
.h-sheet::backdrop{background:rgba(10,24,28,.45)}
.h-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 6px}
.h-sheet-title{margin:0;font-size:19px;color:var(--h-ink)}
.h-x{width:44px;height:44px;border:0;border-radius:12px;background:var(--h-soft);color:var(--h-ink);display:grid;place-items:center;cursor:pointer}
.h-sheet-body{padding:6px 18px calc(18px + env(safe-area-inset-bottom,0px))}
.h-sheet-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* 8) 홈 화면에 추가 · 오프라인 */
.h-install{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border-radius:var(--h-radius);background:#EEF5F3;border:1px solid #CFE3DD}
.h-install-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:var(--h-ok)}
.h-install-tx{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--h-muted)}
.h-install-tx b{font-size:15px;color:var(--h-ink)}
.h-offline{position:fixed;left:12px;right:12px;top:calc(8px + env(safe-area-inset-top,0px));z-index:90;padding:10px 14px;border-radius:12px;background:#14262B;color:#fff;font-size:14px;text-align:center}
.h-offline[hidden]{display:none}
.h-powered{padding:22px 16px 18px;text-align:center;color:#8A979A;font:500 12.5px/1 var(--h-font);letter-spacing:.02em}
.h-powered b{color:var(--h-brand);letter-spacing:.12em}
