/* base.css - gemeinsame Grundlage aller Seiten der Landingpage */
/* Wird von index.html, impressum.html und datenschutz.html geladen. */

/* Design-Token (Obermenge; die Rechtsseiten nutzen eine Teilmenge) */
:root{
  /* -- Farbtoken (annette-oschmann.de Design-System) -- */
  --c-primary-blue:#3FA6DC;
  --c-accent-red:#DC2020;
  --c-gold:#D9A82C;
  --c-gold-text:#7A5810;
  --c-steel-blue:#3D5A6B;
  --c-light-blue:#D6E8F0;
  --c-warm-white:#F2EFE8;
  --c-text-gray:#6B6B68;
  --c-paper:#FAFAF8;

  /* -- Typografie -- */
  --font-display:'Cormorant', Georgia, serif;
  --font-body:'Libre Franklin', -apple-system, Segoe UI, sans-serif;

  /* -- Radien -- */
  --radius-lg:10px;
  --radius-sm:5px;
  --bogen-r: clamp(40px, 5vw, 64px);
  --bogen-t: 10px;

  /* -- Abstandsskala -- */
  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:48px;
  --sp-8:64px;
  --sp-9:96px;

  --shadow-soft: 0 12px 32px rgba(61,90,107,0.10);
}

*,*::before,*::after{ box-sizing:border-box; }

ul{ margin:0; padding:0; list-style:none; }

.footer-line{ margin:0; }

.footer-nav{
  display:flex;
  align-items:center;
  gap: var(--sp-5);
  flex-wrap:wrap;
}

.legal-group{
  display:flex;
  align-items:center;
  gap: var(--sp-5);
}

.footer-divider{
  width:1px;
  height:16px;
  background:rgba(61,90,107,0.18);
  flex:0 0 auto;
}

.social-links{
  display:flex;
  align-items:center;
  gap: var(--sp-2);
}

.social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:var(--radius-sm);
  color:var(--c-steel-blue);
  text-decoration:none;
  transition: background-color .18s ease, color .18s ease;
}

.social-link svg{
  width:16px;
  height:16px;
  display:block;
}

.social-link:hover,
.social-link:focus-visible{
  background:var(--c-light-blue);
  color:var(--c-steel-blue);
}

a:focus-visible,
button:focus-visible{
  outline:2px solid var(--c-steel-blue);
  outline-offset:3px;
  border-radius:var(--radius-sm);
}

@media (prefers-reduced-motion: reduce){
  *{
    transition-duration:0.001ms !important;
    animation-duration:0.001ms !important;
  }
}
