/* ============================================================
   Blania – Stylesheet für Impressum und Datenschutz
   Bewusst eigenständig: die Rechtsseiten brauchen weder Hero,
   Karten noch Slider aus der Startseite. Variablen und Typografie
   sind identisch, damit der Look zusammenpasst.
   ============================================================ */

:root{
  --green:oklch(0.48 0.10 152);
  --green-d:oklch(0.40 0.09 152);
  --green-dd:oklch(0.27 0.05 152);
  --green-soft:oklch(0.94 0.03 152);
  --gold-d:oklch(0.60 0.08 85);
  --ink:oklch(0.26 0.02 150);
  --muted:oklch(0.52 0.01 150);
  --paper:oklch(0.97 0.006 90);
  --paper-2:oklch(0.945 0.008 90);
  --card:#fff;
  --line:oklch(0.90 0.008 150);
  --shadow-sm:0 1px 2px rgba(30,42,34,.05),0 6px 18px -10px rgba(30,42,34,.18);
  --r:14px;
  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Libre Franklin",system-ui,sans-serif;
  color:var(--ink);background:var(--paper);
  line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Schibsted Grotesk",system-ui,sans-serif;line-height:1.15;letter-spacing:-0.02em;font-weight:700;color:var(--ink)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:"Libre Franklin",sans-serif;font-weight:600;font-size:15px;
  padding:13px 22px;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:.18s ease;white-space:nowrap;
}
.btn svg{width:17px;height:17px}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:var(--green-d);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--green);color:var(--green-d)}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(246,245,239,.88);backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.brand{display:inline-flex;align-items:center}
.logo-chip{
  background:#fff;border-radius:12px;padding:6px 13px;display:inline-flex;align-items:center;
  box-shadow:0 1px 2px rgba(30,42,34,.06),0 6px 18px -12px rgba(30,42,34,.25);
}
.logo-chip img{height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none}
.nav-links a{font-weight:500;font-size:15px;position:relative;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--green);transition:.2s}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:12px}
.nav-phone{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
.nav-phone svg{width:16px;height:16px;color:var(--gold-d)}

/* ---------- Seitenkopf ---------- */
.page-head{background:linear-gradient(180deg,var(--paper-2) 0%,var(--paper) 100%);padding:64px 0 46px;border-bottom:1px solid var(--line)}
.eyebrow{
  font-family:"Libre Franklin",sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green-d);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold-d);border-radius:2px}
.page-head h1{font-size:clamp(32px,5vw,50px);margin-top:16px}
.page-head .sub{margin-top:14px;color:var(--muted);font-size:16.5px}

/* ---------- Rechtstext ---------- */
.legal{padding:56px 0 88px}
.legal .inner{max-width:78ch}
.legal h2{
  font-size:22px;margin:44px 0 14px;padding-top:22px;
  border-top:1px solid var(--line);
}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal h3{font-size:17.5px;margin:26px 0 10px}
.legal p{margin-bottom:14px}
.legal p:last-child{margin-bottom:0}
.legal ul{margin:0 0 16px 22px;display:flex;flex-direction:column;gap:6px}
.legal li{padding-left:2px}
.legal a{color:var(--green-d);text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--green)}
/* muss nach .legal a stehen: sonst gewinnt (0,2,0) über .btn-primary (0,1,0) */
.legal a.btn{text-decoration:none}
.legal a.btn-primary{color:#fff}
.legal .adr{font-style:normal;line-height:1.75}
.legal .adr b{font-family:"Schibsted Grotesk",sans-serif;font-weight:600}
/* Der Widerspruchs-Absatz steht im Original in Großbuchstaben.
   Kleinere Laufweite macht ihn lesbar, ohne den Wortlaut zu ändern. */
.legal .shout{font-size:14.5px;letter-spacing:.01em;color:var(--ink)}
.legal .stand{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.legal .backlink{margin-top:44px}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:rgba(255,255,255,.72);padding:70px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.12)}
footer .logo-chip{background:#fff}
.foot-tag{margin-top:20px;max-width:34ch;font-size:15px}
.foot-col h4{color:#fff;font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-family:"Libre Franklin",sans-serif;font-weight:600;margin-bottom:18px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.foot-col a,.foot-col li{font-size:15px}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:26px;font-size:14px}
.foot-bottom a{margin-left:20px}
.foot-bottom a:hover{color:#fff}

/* ---------- Responsive ---------- */
@media(max-width:940px){
  .nav-links,.nav-phone{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .page-head{padding:44px 0 34px}
  .legal{padding:40px 0 64px}
  .foot-grid{grid-template-columns:1fr}
}
