/* Policy pages v12 (2026-11-10): shipping, returns, terms, privacy, contact, faq.
   Text-only "In short" box, contents list, readable prose (~65 characters a line), tables that stack on phones,
   English first with a Korean section (#ko). Works on top of the story book-page background. */
.policy .page-head { text-align: left; padding-bottom: 8px; }
.policy .page-head h1 { margin-bottom: .2em; }
.policy .updated { font-size: 16px; color: var(--ink-soft); margin: 0 0 .3em; }
.lang-switch { display: flex; align-items: center; gap: 10px; margin: 8px 0 0; font-size: 17px; color: var(--gold); }
.lang-switch a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--gold-line); padding-bottom: 1px; }
.lang-switch a[lang="ko"] { font-family: var(--kr); font-size: 15px; }
.policy .ph { white-space: normal; }

.policy .prose { font-size: 19px; line-height: 1.65; }
.policy .prose > p, .policy .prose > ul, .policy .prose > ol, .policy .prose h2, .policy .prose h3 { max-width: 34em; }
.policy .prose a { color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: 3px; }
.policy .prose h2 { position: relative; font-size: clamp(26px, 2.8vw, 32px); margin: 1.9em 0 .45em; padding-top: 16px; }
.policy .prose h2::before { content: ""; position: absolute; left: 0; top: 0; width: 56px; height: 1px; background: var(--gold); }
.policy .prose h3 { font-size: 23px; font-weight: 500; margin: 1.4em 0 .3em; }
.policy .prose ul, .policy .prose ol { padding-left: 1.15em; }
.policy .prose li { margin-bottom: 8px; }

.in-short { background: var(--card); background: color-mix(in srgb, var(--card) 86%, transparent); border: 1px solid var(--gold-line); border-radius: 12px; padding: 18px 24px 12px; margin: 20px 0 22px; max-width: 34em; }
.is-label { font-family: var(--fell); letter-spacing: .14em; font-size: 14px; color: var(--gold); margin: 0 0 8px; }
.in-short ul { list-style: none; padding: 0 !important; margin: 0; }
.in-short li { position: relative; padding-left: 24px; margin-bottom: 8px; }
.in-short li::before { content: "\2726"; position: absolute; left: 0; top: .1em; color: var(--gold); font-size: 13px; }

.toc { margin: 0 0 8px; max-width: 34em; }
.toc ol { columns: 2; column-gap: 32px; margin: 0; padding-left: 1.3em; font-size: 17px; line-height: 1.5; }
.toc li { margin-bottom: 4px; break-inside: avoid; }
.toc a { text-decoration: none; border-bottom: 1px solid var(--gold-line); }

.tbl { margin: 12px 0 20px; }
.tbl table { width: 100%; border-collapse: collapse; font-size: 16.5px; line-height: 1.45; }
.tbl th { text-align: left; font-family: var(--fell); font-weight: 400; font-size: 13px; letter-spacing: .1em; color: var(--gold); border-bottom: 1px solid var(--gold-line); padding: 8px 10px; vertical-align: bottom; }
.tbl td { border-bottom: 1px solid rgba(180, 147, 90, .25); padding: 9px 10px; vertical-align: top; }

#ko { margin-top: 64px; padding-top: 4px; border-top: 1px solid var(--gold-line); }
.ko.prose { font-family: var(--kr); font-size: 16.5px; line-height: 1.85; word-break: keep-all; }
.ko.prose h2 { font-family: var(--kr); font-weight: 700; font-size: 21px; margin-top: 1.7em; }
.ko.prose h2:first-child { font-size: 24px; margin-top: 1.2em; }
.ko .is-label { font-family: var(--kr); letter-spacing: .04em; }
.ko .tbl table { font-size: 15px; }
.ko .tbl th { font-family: var(--kr); letter-spacing: 0; font-size: 13px; }

.faq-page .prose h3 { font-size: 22px; margin-top: 1.2em; }
.faq-page .prose h3 + p { color: var(--ink-soft); }

@media (max-width: 640px) {
  .policy .prose { font-size: 18px; }
  .ko.prose { font-size: 16px; }
  .in-short { padding: 16px 18px 10px; }
  .toc ol { columns: 1; }
  .tbl table, .tbl thead, .tbl tbody, .tbl tr, .tbl td { display: block; width: 100%; }
  .tbl thead { display: none; }
  .tbl tr { background: var(--card); background: color-mix(in srgb, var(--card) 86%, transparent); border: 1px solid var(--gold-line); border-radius: 10px; padding: 8px 14px; margin-bottom: 10px; }
  .tbl td { border: 0; padding: 4px 0; }
  .tbl td::before { content: attr(data-h); display: block; font-family: var(--fell); font-size: 12px; letter-spacing: .1em; color: var(--gold); }
  .ko .tbl td::before { font-family: var(--kr); letter-spacing: 0; }
}
