/* 리브레아뜨 다국어 — 언어 선택 · 언어별 글꼴 (원본: tools/i18n.css → site/assets/site/css/i18n.css) */
#header .lang-switch { position: relative; z-index: 10; display: flex; align-items: center; gap: 2px; }
#header .lang-switch a { font-family: 'gotham', 'Montserrat', sans-serif; font-size: 12px; letter-spacing: .04em; line-height: 1; color: rgba(255,255,255,.62); padding: 6px 7px; text-decoration: none; transition: color .2s; }
#header .lang-switch a:hover, #header .lang-switch a.on { color: #fff; }
#header .lang-switch a.on { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
#header.white .lang-switch a { color: rgba(0,0,0,.45); }
#header.white .lang-switch a:hover, #header.white .lang-switch a.on { color: #111; }
#header .snb-lang { padding: 0 40px 40px 20px; }
#header .snb-lang .lang-switch a { color: rgba(255,255,255,.7); font-size: 13px; padding: 6px 12px 6px 0; }
#header .snb-lang .lang-switch a.on { color: #fff; }
/* 모바일: 헤더에는 현재 언어만 짧게, 전체 목록은 메뉴 안 */
@media (width <= 640px) {
  #header .inner-lg > .lang-switch a:not(.on) { display: none; }
  #header .inner-lg > .lang-switch a.on { text-decoration: none; padding: 6px 0; }
}
/* 중국어·일본어: 한국어 글꼴(나눔스퀘어 등)로 한자가 찍히지 않게 현지 글꼴 우선 */
html:lang(zh-Hans) body, html:lang(zh-Hans) body *:not(i):not([class*="icon"]) { font-family: 'gotham', 'Montserrat', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', sans-serif !important; }
html:lang(ja) body, html:lang(ja) body *:not(i):not([class*="icon"]) { font-family: 'gotham', 'Montserrat', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', 'Noto Sans JP', sans-serif !important; }
html:lang(en) body { word-break: normal; }
/* 영어 달력 요일(Sun~Sat)이 한 글자 칸을 넘지 않게 */
html:lang(en) .reserve-cal .week p, html:lang(en) .reserve-cal-mid .week span, html:lang(en) .calendar .week p, html:lang(en) .calendar-bot .week p { font-size: 11px; letter-spacing: -.03em; }
