/* Quiet legal reading surfaces. Inherit the portal's self-hosted Thai font and neutral themes. */
.sh-legal { max-width:1120px; margin-inline:auto; padding-block:2rem 5rem; }
.sh-legal a { text-underline-offset:4px; }
.sh-legal a:focus-visible { outline:2px solid var(--c-ink); outline-offset:4px; border-radius:3px; }
.sh-legal-breadcrumb { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; color:var(--c-muted); font-size:.875rem; }
.sh-legal-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.sh-legal-breadcrumb a:hover { color:var(--c-ink); text-decoration:underline; }
.sh-legal-hero { padding:1.5rem 0 2rem; }
.sh-legal-tabs { display:flex; gap:.5rem; margin-bottom:2.75rem; flex-wrap:wrap; }
.sh-legal-tabs a { min-height:44px; display:inline-flex; align-items:center; padding:.6rem 1rem; border:1px solid var(--c-line); border-radius:8px; font-size:.875rem; }
.sh-legal-tabs a:hover { background:var(--c-panel2); }
.sh-legal-tabs [aria-current="page"] { background:var(--c-ink); border-color:var(--c-ink); color:var(--c-base); }
.sh-legal-eyebrow { color:var(--c-muted); font-size:.75rem; letter-spacing:.08em; margin:0 0 .75rem; }
.sh-legal-hero h1 { max-width:100%; font-size:clamp(2rem,4.2vw,3.25rem); line-height:1.45; letter-spacing:-.035em; }
.sh-legal-lead { max-width:46rem; color:var(--c-muted); font-size:1.125rem; line-height:1.85; margin-top:1rem; }
.sh-legal-meta { display:flex; gap:.5rem 1.5rem; flex-wrap:wrap; font-size:.8125rem; color:var(--c-muted); margin-top:1.25rem; }
.sh-legal-draft { background:var(--c-panel2); border:1px dashed var(--c-line); border-radius:9px; padding:1rem 1.25rem; margin-bottom:1.75rem; font-size:.875rem; line-height:1.85; }
.sh-legal-draft strong { font-weight:600; }
.sh-legal-draft p { color:var(--c-muted); margin:.3rem 0 0; }
.sh-legal-draft a { color:var(--c-ink); text-decoration:underline; }
.sh-legal-summary { border-block:1px solid var(--c-line); padding:1.5rem 0; margin-bottom:2.5rem; }
.sh-legal-summary h2 { font-size:1rem; }
.sh-legal-summary ul { list-style:disc; padding-left:1.25rem; margin:.75rem 0 1rem; max-width:52rem; line-height:1.85; font-size:.9375rem; color:var(--c-muted); }
.sh-legal-summary li+li { margin-top:.4rem; }
.sh-legal-action { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; font-size:.9375rem; font-weight:500; text-decoration:underline; }
.sh-legal-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:4rem; align-items:start; }
.sh-legal-toc { position:sticky; top:6.5rem; max-height:calc(100dvh - 8rem); overflow-y:auto; padding:.25rem .5rem .5rem 0; scrollbar-width:thin; }
.sh-legal-toc p { margin:0 0 .5rem; font-size:.8125rem; font-weight:600; }
.sh-legal-toc ol, .sh-legal-mobile-toc ol { margin:0; padding-left:1.35rem; list-style:decimal; color:var(--c-muted); font-size:.8125rem; }
.sh-legal-toc a { display:block; padding:.45rem .25rem; line-height:1.7; }
.sh-legal-toc a:hover, .sh-legal-mobile-toc a:hover { color:var(--c-ink); text-decoration:underline; }
.sh-legal-mobile-toc { display:none; }
.sh-legal-prose { min-width:0; max-width:48rem; font-size:1rem; line-height:1.95; overflow-wrap:anywhere; }
.sh-legal-section { scroll-margin-top:6.5rem; margin:0 0 2.75rem; }
.sh-legal-section h2 { display:flex; align-items:baseline; gap:.6rem; font-size:1.25rem; font-weight:600; line-height:1.65; margin:0 0 1rem; letter-spacing:-.01em; }
.sh-legal-section h2>span { color:var(--c-muted); flex-shrink:0; font-size:.875em; font-variant-numeric:tabular-nums; }
.sh-legal-prose p { margin:0 0 1rem; }
.sh-legal-prose :is(ul,ol) { padding-left:1.4rem; margin:1rem 0; }
.sh-legal-prose ul { list-style:disc; }
.sh-legal-prose ol { list-style:decimal; }
.sh-legal-prose li+li { margin-top:.8rem; }
.sh-legal-process { counter-reset:legal-step; list-style:none!important; padding:0!important; }
.sh-legal-process>li { position:relative; padding:0 0 1.25rem 2.6rem; counter-increment:legal-step; border-left:1px solid var(--c-line); margin-left:.8rem; }
.sh-legal-process>li+li { margin-top:0; }
.sh-legal-process>li::before { content:counter(legal-step); position:absolute; left:-.875rem; top:0; width:1.75rem; height:1.75rem; display:grid; place-items:center; border:1px solid var(--c-line); border-radius:50%; background:var(--c-base); font-size:.8125rem; line-height:1; }
.sh-legal-process h3 { font-size:1rem; line-height:1.7; margin:0 0 .35rem; }
.sh-legal-process p { color:var(--c-muted); margin:0; }
.sh-legal-process>li:last-child { border-color:transparent; }
.sh-legal-contact { border-top:1px solid var(--c-line); padding-top:1.75rem; }
.sh-legal-contact dl { margin:1.25rem 0; }
.sh-legal-contact dl>div { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:.75rem; border-bottom:1px solid var(--c-line); padding:.8rem 0; }
.sh-legal-contact dt { color:var(--c-muted); font-size:.875rem; }
.sh-legal-contact dd { margin:0; white-space:pre-line; font-size:.9375rem; }
.sh-legal-contact dd a { text-decoration:underline; }
.sh-legal-references { border-top:1px solid var(--c-line); padding-top:1.5rem; font-size:.875rem; color:var(--c-muted); }
.sh-legal-references h2 { font-size:1rem; color:var(--c-ink); margin:0 0 .5rem; }
.sh-legal-references a { text-decoration:underline; }
.sh-legal-end { display:flex; gap:1rem 2rem; justify-content:space-between; flex-wrap:wrap; border-top:1px solid var(--c-line); padding-top:1rem; margin-top:2rem; font-size:.875rem; }
.sh-legal-end a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; }
@media (max-width:900px) {
  .sh-legal-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .sh-legal-toc { display:none; }
  .sh-legal-mobile-toc { display:block; border-bottom:1px solid var(--c-line); margin-bottom:2rem; padding-bottom:.5rem; }
  .sh-legal-mobile-toc summary { cursor:pointer; min-height:48px; padding:.5rem 0; font-size:.9375rem; font-weight:500; }
  .sh-legal-mobile-toc a { display:block; min-height:44px; padding:.5rem .25rem; }
  .sh-legal-prose { max-width:none; }
}
@media (max-width:520px) {
  .sh-legal { padding-block:1rem 3rem; }
  .sh-legal-tabs { margin-bottom:2rem; }
  .sh-legal-hero { padding-top:1rem; }
  .sh-legal-lead { font-size:1rem; }
  .sh-legal-contact dl>div { grid-template-columns:minmax(0,1fr); gap:.15rem; }
  .sh-legal-section h2 { font-size:1.125rem; }
  .sh-legal-section { margin-bottom:2rem; }
}
@media print {
  :root, html.dark { --c-base:#fff; --c-ink:#000; --c-muted:#333; --c-line:#aaa; --c-panel2:#f5f5f5; }
  .sh-header, .sh-start-footer, .sh-legal-tabs, .sh-legal-toc, .sh-legal-mobile-toc, .sh-legal-end, .sh-skip { display:none!important; }
  .sh-legal { max-width:none; padding:0; }
  .sh-legal-layout { display:block; }
  .sh-legal-prose { max-width:none; font-size:11pt; }
  .sh-legal-section h2 { break-after:avoid; }
  .sh-legal-prose p, .sh-legal-prose li { orphans:3; widows:3; }
  .sh-legal-draft { break-inside:avoid; }
}
