/* =========================================================================
   Rokamat — Legal pages (Impressum, Datenschutz, AGB)
   Built on colors_and_type.css + index.css. Sharp edges, restrained type,
   orange accents only where they earn it.
   ========================================================================= */

/* ---------- HERO --------------------------------------------------------- */
.lg-hero{
  background:#fafafa;
  padding:72px 0 64px;
  border-bottom:1px solid #ececec;
  position:relative;
}
.lg-hero::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--rok-orange);
}
.lg-hero-inner{
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;
}
.lg-h1{
  font-family:'Roboto',system-ui,sans-serif;
  font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(40px,5.5vw,72px);
  line-height:.95;letter-spacing:-.02em;
  color:#0b0b0c;margin:14px 0 0;
}
.lg-h1 .thin{
  display:block;font-weight:300;font-style:normal;
  letter-spacing:.02em;color:#6b6b6f;
  font-size:.42em;text-transform:uppercase;margin-top:14px;
}
.lg-hero-meta{display:flex;justify-content:flex-end}
.lg-version{
  border-left:2px solid var(--rok-orange);
  padding:6px 0 6px 16px;min-width:220px;
}
.lg-version .v-k{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rok-text-muted-accessible);font-weight:700;margin-bottom:4px;
}
.lg-version .v-v{font-size:18px;color:#0b0b0c;font-weight:700;line-height:1.2}
.lg-version .v-meta{font-size:12px;color:var(--rok-text-muted-accessible);margin-top:6px;line-height:1.5}

/* ---------- BODY --------------------------------------------------------- */
.lg-body{padding:64px 0 96px;background:#fff}
.lg-grid{
  display:grid;grid-template-columns:240px 1fr;gap:64px;
  align-items:flex-start;
}

/* ---------- STICKY TOC --------------------------------------------------- */
.lg-toc{
  position:sticky;top:96px;align-self:start;
  font-family:'Roboto',system-ui,sans-serif;
}
.lg-toc-label{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rok-orange-text);font-weight:700;margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.lg-toc-label::before{content:"";width:24px;height:1px;background:var(--rok-orange)}
.lg-toc-list{list-style:none;margin:0;padding:0;counter-reset:none}
.lg-toc-list li{margin:0;border-top:1px solid #ececec}
.lg-toc-list li:last-child{border-bottom:1px solid #ececec}
.lg-toc-list a{
  display:flex;align-items:baseline;gap:14px;
  padding:12px 0;font-size:13px;color:#3d444e;
  transition:color .15s,padding .15s;
}
.lg-toc-list a .n{
  font-weight:700;color:var(--rok-text-muted-accessible);font-variant-numeric:tabular-nums;
  font-size:11px;letter-spacing:.05em;min-width:22px;
}
.lg-toc-list a .t{flex:1;line-height:1.4}
.lg-toc-list a:hover{color:var(--rok-orange);padding-left:6px}
.lg-toc-list a:hover .n{color:var(--rok-orange)}
.lg-toc-foot{margin-top:24px;padding-top:18px;border-top:1px dashed #ddd}
.lg-toc-foot p{font-size:12px;color:var(--rok-text-muted-accessible);line-height:1.5;margin:0}
.lg-toc-foot a{color:var(--rok-orange-text);font-weight:600}

/* ---------- ARTICLE TEXT ------------------------------------------------- */
.lg-text{max-width:760px}
.lg-text h2,
.lg-text h3,
.lg-text h4{font-family:'Roboto',system-ui,sans-serif;color:#0b0b0c}
.lg-text p,
.lg-text li{
  font-family:'Roboto',system-ui,sans-serif;
  font-size:15px;line-height:1.75;color:#3d444e;
}
.lg-text a{color:var(--rok-orange-text);font-weight:500}
.lg-text a:hover{text-decoration:underline}

.lg-sec{padding-top:24px;margin-top:0}
.lg-sec + .lg-sec{margin-top:64px;border-top:1px solid #ececec;padding-top:48px}
.lg-sec-head{
  display:flex;align-items:baseline;gap:18px;
  margin-bottom:28px;
}
.lg-sec-num{
  font-family:'Roboto',system-ui,sans-serif;
  font-weight:900;font-style:italic;
  font-size:48px;line-height:1;color:#8f8f8f;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.lg-sec-head h2{
  margin:0;font-size:28px;font-weight:700;
  letter-spacing:-.005em;line-height:1.15;
}
.lg-text h3{
  margin:32px 0 12px;font-size:16px;font-weight:700;
  letter-spacing:.02em;color:#0b0b0c;
}
.lg-text h4{
  margin:24px 0 8px;font-size:14px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:#6b6b6f;
}
.lg-text p{margin:0 0 14px}
.lg-text ul{margin:0 0 16px;padding-left:0;list-style:none}
.lg-text ul li{
  padding:6px 0 6px 22px;position:relative;
  border-bottom:1px dashed #ececec;
}
.lg-text ul li:last-child{border-bottom:0}
.lg-text ul li::before{
  content:"";position:absolute;left:0;top:17px;
  width:8px;height:1px;background:var(--rok-orange);
}
.lg-text strong{color:#0b0b0c;font-weight:700}

/* ---------- IMPRESSUM CARD GRID ----------------------------------------- */
.lg-card-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px;
}
.lg-card{
  background:#fafafa;border:1px solid #ececec;padding:28px 26px;
  position:relative;
}
.lg-card::before{
  content:"";position:absolute;left:0;top:0;width:32px;height:2px;
  background:var(--rok-orange);
}
.lg-card-eyebrow{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rok-text-muted-accessible);font-weight:700;margin-bottom:14px;
}
.lg-card h3{
  margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.25;
  color:#0b0b0c;
}
.lg-card p{
  margin:0;font-size:14px;line-height:1.65;color:#3d444e;
}
.lg-card p + p{margin-top:10px}
.lg-card a{color:var(--rok-orange-text);font-weight:500}
.lg-card-foot{
  margin-top:16px;padding-top:14px;border-top:1px dashed #ddd;
  font-size:12px;color:var(--rok-text-muted-accessible);
}

.lg-imp-block{
  margin-top:48px;padding-top:32px;border-top:1px solid #ececec;
}
.lg-imp-block h2{
  font-size:22px;font-weight:700;margin:0 0 16px;color:#0b0b0c;
}
.lg-imp-block p{
  font-size:14px;line-height:1.7;color:#3d444e;margin:0 0 14px;
}

.lg-imp-grid{
  display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:start;
}
.lg-imp-side{
  position:sticky;top:96px;font-family:'Roboto',system-ui,sans-serif;
}
.lg-imp-side .lg-toc-label{margin-bottom:14px}
.lg-imp-side ul{list-style:none;margin:0;padding:0}
.lg-imp-side li{border-top:1px solid #ececec}
.lg-imp-side li:last-child{border-bottom:1px solid #ececec}
.lg-imp-side a{
  display:block;padding:12px 0;font-size:13px;color:#3d444e;
  transition:color .15s,padding .15s;
}
.lg-imp-side a:hover{color:var(--rok-orange);padding-left:6px}

/* ---------- VERSION FOOT ROW -------------------------------------------- */
.lg-version-foot{
  margin-top:64px;padding-top:32px;border-top:1px solid #ececec;
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
}
.lg-version-foot .vf-k{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rok-text-muted-accessible);font-weight:700;margin-bottom:6px;
}
.lg-version-foot .vf-v{font-size:14px;color:#0b0b0c;font-weight:500}

/* ---------- LEGAL AUTHORITY NOTICE (Owner-Policy „Option B") ------------- */
/* Hinweis auf die maßgebliche deutsche Originalfassung — nur auf NICHT-de
   Rechtsseiten. Volle Lesebreite (wie .lg-body .v2-container), dezenter
   Orange-Akzent links, kleiner gedämpfter Text, Link als normaler Inline-
   Textlink. Print-freundlich (kein Hintergrund-Ink-Verbrauch beim Druck). */
.legal-authority-notice{
  box-sizing:border-box;
  /* Selbst-ausgerichtet auf die .v2-container-Klammer (max-width 1440px,
     40px Gutter), weil der Hinweis nach dem Hero-</header> im Top-Level-Flow
     sitzt — NICHT in einem .v2-container. So fluchtet der Block mit dem
     Artikel darunter. */
  max-width:1520px;
  margin:24px auto 0;
  padding:14px 18px;
  border-left:3px solid var(--rok-orange);
  background:var(--rok-orange-a08);
}
.legal-authority-notice p{
  margin:0;
  font-size:13px;
  line-height:1.65;
  color:var(--rok-text-muted-accessible);
}
.legal-authority-notice .legal-authority-link{
  display:inline-block;
  margin-top:8px;
  font-size:13px;
  font-weight:600;
  color:var(--rok-orange-text);
}
.legal-authority-notice .legal-authority-link:hover{text-decoration:underline}
@media print{
  .legal-authority-notice{
    background:none;
    border-left:2px solid var(--rok-ink);
  }
  .legal-authority-notice .legal-authority-link{color:var(--rok-ink)}
}

/* ---------- RESPONSIVE -------------------------------------------------- */
@media (max-width:960px){
  .lg-hero-inner{grid-template-columns:1fr;gap:24px;align-items:start}
  .lg-hero-meta{justify-content:flex-start}
  .lg-grid{grid-template-columns:1fr;gap:32px}
  .lg-imp-grid{grid-template-columns:1fr;gap:32px}
  .lg-toc,.lg-imp-side{position:static;top:auto}
  .lg-card-grid{grid-template-columns:1fr;gap:16px}
  .lg-version-foot{grid-template-columns:1fr;gap:16px}
  .lg-sec-num{font-size:36px}
  .legal-authority-notice{margin-left:20px;margin-right:20px}
}
