/* Foodiego — Plattform-Rechtstexte (gemeinsames Stylesheet)
   Eigenständig (kein shared.js / kein gemeinsames Chrome), Trattoria-Palette. */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500..800&display=swap');
:root{
  --bg:#ffffff; --surface:#ffffff; --surface-2:#f0f1f3;
  --ink:#13201a; --ink-soft:#54625b; --muted:#8b958f; --line:#e4dcc9; --line-strong:#d6ccb4;
  --primary:#0d1f17; --primary-700:#11291d;
  --accent:#ff6a3d; --accent-700:#e84e20; --accent-tint:#ffe3d8;
  --gold:#a4d62b; --gold-700:#7ba81d; --gold-tint:#eaf7c9;
  --blue:#3a6ea5; --blue-tint:#e2ebf3;
  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Hanken Grotesque',system-ui,sans-serif;
  --radius:18px; --radius-sm:12px; --radius-lg:24px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(13,31,23,.04),0 6px 18px -12px rgba(13,31,23,.16); --shadow:0 2px 6px rgba(13,31,23,.04),0 22px 48px -26px rgba(13,31,23,.22); --shadow-lg:0 4px 12px rgba(13,31,23,.05),0 40px 80px -34px rgba(13,31,23,.30);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.62;-webkit-font-smoothing:antialiased;}
.wrap{max-width:880px;margin:0 auto;padding:0 clamp(16px,4vw,40px);}

/* header */
.fl-head{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.fl-head .wrap{display:flex;align-items:center;gap:14px;height:64px;}
.fl-logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;}
.fl-logo .mk{width:34px;height:34px;border-radius:10px;background:#0d1f17;color:#c6f04a;display:grid;place-items:center;font-family:var(--font-display);font-size:20px;box-shadow:0 5px 14px -5px rgba(13,31,23,.5);}
.fl-logo b{font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.02em;}
.fl-head nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;}
.fl-head nav a{font-size:13px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:7px 11px;border-radius:var(--radius-pill);}
.fl-head nav a:hover,.fl-head nav a.active{color:var(--ink);background:var(--surface-2);}
@media(max-width:760px){.fl-head nav{display:none;}}

/* hero */
.lh{padding:clamp(30px,5vw,56px) 0 8px;}
.lh .eyebrow{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
.lh h1{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,5vw,46px);line-height:1.02;letter-spacing:-.025em;margin:8px 0 8px;}
.lh p{color:var(--ink-soft);font-size:15.5px;max-width:64ch;}

/* article */
.legal{padding:26px 0 90px;}
.legal h2{font-family:var(--font-display);font-weight:700;font-size:clamp(19px,2.6vw,25px);letter-spacing:-.02em;margin:34px 0 8px;padding-top:18px;border-top:1px solid var(--line);}
.legal h2:first-of-type{border-top:none;padding-top:0;margin-top:14px;}
.legal h3{font-size:16px;font-weight:700;margin:20px 0 6px;}
.legal p,.legal li{font-size:15px;color:var(--ink);line-height:1.62;}
.legal p{margin:9px 0;}
.legal ul,.legal ol{margin:9px 0 9px 22px;}
.legal li{margin:5px 0;}
.legal a{color:var(--primary-700);text-decoration:underline;text-underline-offset:2px;}
.legal strong,.legal b{font-weight:800;}

.box{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius-sm);padding:16px 20px;margin:12px 0;}
.box p{margin:2px 0;}

/* placeholder to fill in */
.ph{background:var(--gold-tint);color:var(--gold-700);font-weight:700;padding:1px 7px;border-radius:6px;border:1px dashed color-mix(in srgb,var(--gold) 55%,var(--line));font-size:.95em;white-space:nowrap;}

.callout{border-radius:var(--radius-sm);padding:14px 18px;font-size:14px;margin:18px 0;line-height:1.55;}
.callout.gold{background:var(--gold-tint);border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));color:#7a5c10;}
.callout.gold b{color:var(--gold-700);}
.callout.blue{background:var(--blue-tint);border:1px solid color-mix(in srgb,var(--blue) 26%,var(--line));color:#27496b;}
.callout.blue b{color:var(--blue);}
.callout.red{background:var(--accent-tint);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent-700);}
.callout.red b{color:var(--accent-700);}

.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:18px 0;box-shadow:var(--shadow-sm);}
.toc b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:8px;}
.toc ol{margin:0 0 0 20px;columns:2;gap:24px;}
.toc a{color:var(--ink-soft);text-decoration:none;font-size:14px;}
.toc a:hover{color:var(--primary-700);text-decoration:underline;}
@media(max-width:600px){.toc ol{columns:1;}}

.updated{color:var(--muted);font-size:13px;margin-top:28px;padding-top:14px;border-top:1px solid var(--line);}

.legal-table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.legal-table th{text-align:left;background:var(--surface-2);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:10px 14px;border-bottom:1px solid var(--line);}
.legal-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top;}
.legal-table tr:last-child td{border-bottom:none;}

.fl-foot{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:13px;}
.fl-foot .wrap{display:flex;gap:8px 18px;flex-wrap:wrap;justify-content:space-between;}
.fl-foot a{color:var(--ink-soft);text-decoration:none;}
.fl-foot a:hover{color:var(--primary-700);}

@media print{
  .fl-head,.fl-foot{display:none;}
  body{background:#fff;}
  .legal h2{break-after:avoid;}
  .box,.callout,.legal-table tr{break-inside:avoid;}
}

/* ============================================================
   Polish pass — site-wide refinements for Foodiego legal pages
   (additive, safe). Brings these 5 pages to the same quality
   bar as the rest of the project.
   ============================================================ */

/* 1) TOC / footer anchor jumps clear the 64px sticky header
      instead of hiding the target heading underneath it. */
html{scroll-behavior:smooth;}
:root{scroll-padding-top:84px;}
.legal h2,.legal h3{scroll-margin-top:84px;}
:target{scroll-margin-top:88px;}

/* 2) Visible keyboard focus for every interactive element (a11y). */
.fl-head nav a:focus-visible,
.fl-logo:focus-visible,
.toc a:focus-visible,
.legal a:focus-visible,
.fl-foot a:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:6px;
}

/* 3) A briefly highlighted target section after a TOC jump —
      makes it obvious where you landed in long documents. */
@media (prefers-reduced-motion: no-preference){
  .legal h2:target{animation:flHi 1.6s ease-out;}
  @keyframes flHi{0%,18%{background:var(--gold-tint);box-shadow:-12px 0 0 var(--gold-tint),12px 0 0 var(--gold-tint);}100%{background:transparent;box-shadow:none;}}
}

/* 4) Long unbreakable strings (URLs, e-mails) never overflow on mobile. */
.legal p,.legal li,.legal td,.box p,.lh p{overflow-wrap:break-word;}

/* 5) Refined in-copy link underline rhythm. */
.legal a{text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);transition:text-decoration-color .15s,color .15s;}
.legal a:hover{text-decoration-color:var(--accent);}

/* 6) Honour high-contrast preference: firmer hairlines + nav text. */
@media (prefers-contrast: more){
  :root{--line:#c9bfa6;--line-strong:#b3a585;}
  .fl-head nav a{color:var(--ink);}
}

/* 7) Comfortable 44px tap targets for header nav on touch. */
@media (pointer: coarse){
  .fl-head nav a{padding-top:11px;padding-bottom:11px;}
}
