/*
 * WEBGLOBE MAINTAINER NOTES
 *
 * Style the kitchen legal interface and its responsive presentation.
 *
 * The selectors form a contract with the rendered markup and browser interactions. Preserve
 * keyboard focus, disabled/hidden states and the smaller-screen rules when adjusting the
 * cascade; an attractive desktop layout is not sufficient evidence of usable mobile forms.
 *
 * Kook & Ko owns a separate customer realm. Keep its account, stock and order identifiers scoped
 * to that shop when connecting this component to shared infrastructure. Demo prices and parcels
 * remain presentation and workflow examples.
 */
.k-legal-header { display: flex; justify-content: space-between; gap: 24px; }
.k-legal-header > div { display: flex; gap: 24px; flex-wrap: wrap; justify-content: flex-end; font-size: 13px; }
.k-legal-header a:not(.k-brand) { text-decoration: underline; text-underline-offset: 4px; }
.k-legal-main { max-width: 960px; padding-block: clamp(32px, 6vw, 72px); }
.k-legal-main h1 { font: 500 clamp(36px, 6vw, 60px)/1.1 var(--k-serif); margin-block: 16px 20px; overflow-wrap: anywhere; }
.k-legal-main h2 { font: 500 clamp(24px, 3vw, 30px)/1.25 var(--k-serif); margin-block: 0 20px; }
.k-legal-version { font-size: 12px; color: var(--k-muted); overflow-wrap: anywhere; }
.k-legal-intro { font-size: clamp(16px, 2vw, 19px); max-width: 72ch; margin-block: 24px; }
.k-legal-summary, .k-legal-update, .k-legal-accept { background: #eff1e6; border: 1px solid #d6dac7; border-radius: 8px; padding: clamp(20px, 4vw, 32px); margin-block: 28px; }
.k-legal-summary h2 { font: 600 19px/1.4 var(--k-sans); }
.k-legal-main ul { padding-left: 22px; }
.k-legal-main li + li { margin-top: 12px; }
.k-legal-main a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.k-legal-main p { margin-block: 0 16px; }
.k-legal-actions { display: flex; flex-wrap: wrap; gap: 18px 30px; margin-block: 28px; font-size: 14px; }
.k-legal-contents { border-block: 1px solid var(--k-line); padding-block: 28px; margin-bottom: 40px; }
.k-legal-contents ol { columns: 2; column-gap: 48px; padding-left: 22px; }
.k-legal-contents li { break-inside: avoid; padding-left: 4px; }
.k-legal-document section { scroll-margin-top: 36px; margin-block: 0 42px; }
.k-legal-document { line-height: 1.85; font-size: 15px; }
.k-legal-references { font-size: 14px; }
.k-legal-accept label { display: flex; gap: 12px; align-items: flex-start; margin-block: 24px; }
.k-legal-accept input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 4px; accent-color: var(--k-olive); }
.k-legal-accept .k-button { margin-block: 12px 20px; max-width: 100%; white-space: normal; text-align: center; }
.k-legal-accept > a { display: block; }
@media (max-width: 600px) {
  .k-legal-header { flex-wrap: wrap; }
  .k-legal-header > div { width: 100%; justify-content: space-between; }
  .k-legal-contents ol { columns: 1; }
}
@media print {
  .k-announcement, .k-header, .k-skip, .k-legal-actions, .k-legal-contents, .k-legal-accept, .k-legal-update, footer { display: none !important; }
  .k-legal-main { max-width: none; margin: 0; padding: 0; color: #000; background: #fff; }
  .k-legal-main h2 { break-after: avoid; }
  .k-legal-main p, .k-legal-main li { orphans: 3; widows: 3; }
}
