/* site v15 (2026-11-10) · English / Korean.
   - The "EN · 한" switch in the header (desktop + phone) and inside the phone menu.
   - The one-line suggestion on English pages for Korean browsers ("한국어로 볼까요? · 보기 / 닫기").
   - Korean typography on /ko/ pages (html[lang="ko"]).
   Korean font: the family is set by data/i18n/ko.json ("font") and injected into every /ko/ page as --ko-font
   by tools/build-i18n.mjs. Change it there (one line) and rebuild. The value below is only the fallback. */
:root { --ko-font: "Gowun Batang"; }

/* ---------- Korean pages ---------- */
html[lang="ko"] {
  --serif: "Cormorant Garamond", "Cormorant", var(--ko-font), "Noto Serif KR", Georgia, serif;
  --fell: "IM Fell English SC", "Cormorant Garamond", var(--ko-font), "Noto Serif KR", Georgia, serif;
  --kr: var(--ko-font), "Noto Serif KR", serif;
}
/* no fake italics for Hangul (the Korean fonts have no italic); Latin names keep Cormorant's real italic */
html[lang="ko"] { font-synthesis: weight; }
html[lang="ko"] body { word-break: keep-all; overflow-wrap: anywhere; }
/* wide small-caps spacing reads as gaps between Hangul syllables */
html[lang="ko"] :is(.lb-ooak, .label, .cap-meta, .pd-ooak, .tix .admit, .k, .is-label, .t-eyebrow, .v-name, .tag, .cap, .small, .hint) { letter-spacing: .02em; }
html[lang="ko"] .eyebrow, html[lang="ko"] .foot-col h4, html[lang="ko"] .pay-label { letter-spacing: .06em; }
html[lang="ko"] h1 em, html[lang="ko"] h2 em, html[lang="ko"] em { font-style: normal; }
html[lang="ko"] .btn { letter-spacing: 0; }
html[lang="ko"] .facts span { white-space: normal; }
/* product names stay English; a small Korean helper line where it helps */
.ko-sub { display: block; font-family: var(--kr); font-size: .42em; letter-spacing: .04em; color: var(--ink-soft, #6b5a4c); margin-top: .35em; font-weight: 400; }
/* v19 (2026-11-13): Korean gloss right after an English product name, e.g. Life's a Carousel Bag (인생의 회전목마).
   Inline, but inline-block so the bracket moves to the next line as one piece instead of breaking mid-word.
   Korean serif (same family as the Korean text), upright, smaller and softer than the name. */
.ko-gloss { display: inline-block; font-family: var(--kr); font-style: normal; font-weight: 400; letter-spacing: 0; color: var(--ink-soft, #6b5a4c); font-size: .8em; line-height: 1.3; }
.pd-title .ko-gloss { font-size: .5em; vertical-align: .14em; }
:is(.lb-name, .cap-name, .sh-stub h3) .ko-gloss { font-size: .82em; }
/* policy pages on /ko/: Korean section first, the English text below it */
html[lang="ko"] .policy #ko { margin-top: 0; padding-top: 0; border-top: 0; }
html[lang="ko"] .policy #en { margin-top: 64px; padding-top: 4px; border-top: 1px solid var(--gold-line); }
.policy .en-head { font-family: var(--fell); letter-spacing: .14em; font-size: 15px; color: var(--gold); font-weight: 400; margin: 1.6em 0 .2em; }

/* ---------- header switch ---------- */
.lang-sw { display: inline-flex; align-items: center; gap: 4px; margin-right: 14px; font-family: var(--serif); font-size: 15px; line-height: 1; white-space: nowrap; }
.lang-sw a { color: var(--ink-soft, #6b5a4c); text-decoration: none; padding: 6px 3px 4px; border-bottom: 1px solid transparent; }
.lang-sw a:hover { color: var(--ink); }
.lang-sw a[aria-current="true"] { color: var(--ac-text, #9a6a62); border-bottom-color: currentColor; }
.lang-sw .lk { font-family: var(--kr); font-size: 14px; }
.lang-sw .dot { color: var(--gold); font-size: 10px; }
.mobile-nav .lang-row { display: flex; gap: 18px; padding: 14px 0 4px; font-size: 18px; border-bottom: 0; }
.mobile-nav .lang-row a { display: inline; padding: 0; border-bottom: 1px solid transparent; font-size: 18px; }
.mobile-nav .lang-row a[aria-current="true"] { color: var(--ac-text, #9a6a62); border-bottom-color: currentColor; }
.mobile-nav .lang-row .lk { font-family: var(--kr); font-size: 16px; }
@media (max-width: 900px) {
  .lang-sw { margin-right: 8px; font-size: 14px; }
  .lang-sw .lk { font-size: 13px; }
}

/* ---------- one-line suggestion (English pages, Korean browsers, no saved choice) ---------- */
.lang-hint { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 4px 14px; padding: 7px 16px; background: var(--ac-soft, #f8e9e5); border-bottom: 1px solid var(--gold-line); font-family: var(--kr); font-size: 14px; color: var(--ink); line-height: 1.4; }
.lang-hint[hidden] { display: none; }
.lang-hint a, .lang-hint button { font: inherit; color: var(--ink); background: none; border: 0; padding: 2px 0; cursor: pointer; text-decoration: none; border-bottom: 1px solid var(--gold-line); }
.lang-hint a { color: var(--ac-text, #9a6a62); border-bottom-color: currentColor; }
.lang-hint .sep { color: var(--gold); }

/* 2026-11-13: on Korean pages the notice box used Cormorant first, whose middle dot (·) sits low and reads as a full stop. Use the Korean serif for the whole notice. */
html[lang="ko"] :is(.ooak-box, .ooak-text) { font-family: var(--kr); }
