/* Legal pages on miseenkit.com (privacy, terms, delete-account; EN and DE).
   Same system as the landing page: direction A "Tageskarte" in light,
   direction B "After Service" in dark, following the visitor's system
   setting. Restyle only: the legal wording lives in the HTML and is not
   touched by this file. Contrast (WCAG 2): light ink 18.42:1, ink 2 7.00:1,
   enamel links 8.54:1; dark white 21:1, ink 2 7.33:1. */
:root {
  color-scheme: light;
  --paper:#FFFFFF; --ink:#141414; --ink-2:#595959; --hair:#D6D6D6; --rule:#141414;
  --link:#0A4B96; --link-line:#0A4B96; --wash:#EAF0F8; --raised:#F4F4F4; --focus:#0A4B96;
  --seg-bg:transparent; --seg-border:#141414; --seg-on:#141414; --seg-on-text:#FFFFFF;
  --radius:0px; --radius-inner:0px;
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --paper:#000000; --ink:#FFFFFF; --ink-2:#98989F; --hair:#38383A; --rule:#38383A;
    --link:#FFFFFF; --link-line:#636366; --wash:#1C1C1E; --raised:#1C1C1E; --focus:#FFFFFF;
    --seg-bg:#1C1C1E; --seg-border:#1C1C1E; --seg-on:#FFFFFF; --seg-on-text:#000000;
    --radius:12px; --radius-inner:10px;
  }
}
* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -webkit-text-size-adjust:100%; }
body { background:var(--paper); color:var(--ink); font-family:"Schibsted Grotesk",-apple-system,"Helvetica Neue",sans-serif; font-size:16px; line-height:24px; overflow-x:hidden; }
a { color:inherit; }
:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.wrap { width:min(1040px, 100% - 40px); margin-inline:auto; }

/* Header: wordmark, EN | DE switch, the 2px rule. Same as the landing page. */
.top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:16px 12px; border-bottom:2px solid var(--rule); }
.wordmark { font-size:24px; line-height:26px; font-weight:800; letter-spacing:-0.035em; text-decoration:none; }
.langs { display:flex; border:1.5px solid var(--seg-border); background:var(--seg-bg); border-radius:var(--radius); padding:calc(var(--radius) / 6); }
.langs a { display:flex; align-items:center; min-height:40px; min-width:48px; justify-content:center; padding:0 12px; font-size:14px; font-weight:600; text-decoration:none; border-radius:var(--radius-inner); }
.langs a[aria-current="page"] { background:var(--seg-on); color:var(--seg-on-text); }
.langs a:not([aria-current]):hover { background:var(--wash); }

/* The document: one readable column, hierarchy from weight and size. */
.legal { padding-block:32px 72px; }
.legal .doc { max-width:42rem; }
.legal h1 { font-size:clamp(32px, 5vw, 44px); line-height:1.06; font-weight:800; letter-spacing:-0.03em; text-wrap:balance; }
.legal-meta { margin-top:12px; font-size:13px; line-height:20px; font-weight:500; letter-spacing:0.01em; color:var(--ink-2); }
.legal-meta strong { color:var(--ink); font-weight:600; }
.legal hr { border:0; border-top:2px solid var(--rule); margin:24px 0 20px; }
.legal h2 { font-size:20px; line-height:26px; font-weight:700; letter-spacing:-0.015em; margin:32px 0 10px; text-wrap:balance; }
.legal hr + h2 { margin-top:0; }
.legal h3 { font-size:16px; line-height:24px; font-weight:700; margin:22px 0 6px; }
.legal p, .legal li { font-size:16px; line-height:26px; text-wrap:pretty; }
.legal p { margin-bottom:12px; }
.legal p strong, .legal li strong { font-weight:600; }
.legal em { font-style:italic; }
.legal ul, .legal ol { margin:0 0 16px; padding-left:0; list-style:none; }
.legal ol { counter-reset:item; }
.legal ul li, .legal ol li { position:relative; padding-left:20px; margin-bottom:6px; }
.legal ul li::before { content:""; position:absolute; left:2px; top:11px; width:6px; height:6px; background:var(--ink); }
.legal ol li { counter-increment:item; padding-left:28px; }
.legal ol li::before { content:counter(item) "."; position:absolute; left:0; font-weight:700; }
.legal a { color:var(--link); text-decoration:underline; text-decoration-color:var(--link-line); text-underline-offset:3px; overflow-wrap:anywhere; }
.legal a:hover { text-decoration-thickness:2px; }
/* Tables scroll inside themselves, never the page. */
.legal table { display:block; overflow-x:auto; width:100%; border-collapse:collapse; margin:8px 0 20px; font-size:14px; line-height:20px; }
.legal th, .legal td { border-bottom:1px solid var(--hair); padding:10px 12px 10px 0; text-align:left; vertical-align:top; min-width:8rem; }
.legal th { font-weight:700; border-bottom:2px solid var(--rule); }

/* Footer, as on the landing page. */
footer { border-top:2px solid var(--rule); padding-block:16px 40px; }
.foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; align-items:baseline; }
.tagline { margin-top:4px; font-size:13px; line-height:18px; font-weight:500; letter-spacing:0.01em; color:var(--ink-2); }
.links { display:flex; flex-wrap:wrap; gap:4px 20px; }
.links a { display:inline-flex; min-height:44px; align-items:center; font-size:15px; text-decoration:none; }
.links a:hover { text-decoration:underline; text-underline-offset:4px; }
.fine { margin-top:8px; font-size:13px; line-height:18px; color:var(--ink-2); }
@media (min-width: 900px) { .wrap { width:min(1040px, 100% - 80px); } .legal { padding-block:48px 96px; } }
@media (prefers-reduced-motion: no-preference) { body { transition:background-color 200ms ease-out, color 200ms ease-out; } }
@media print { .top .langs, footer .links { display:none; } }
