/* CSNR GmbH – Custom CSS (Flex) */
/* Ziel: fixes Layout, saubere Typo, kein rundes Logo, Footer unten, ohne Overkill */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
:root{
  --sidebar: 300px;
  --gap: 24px;
  --content-max: 1000px;
  --offset: 6.2em;
  --blue: #0d47a1;
  --blue2: #08306b;
  --border: #e5e7eb;
}

/* Grundschrift + Typo */
body{ font-size:17px; line-height:1.6; }
article, article p, article li, main p, main li{ font-size:20px !important; line-height:1.7 !important; }

h1,h2,h3,h4,h5,h6{ color:var(--blue); }
article h1, article h2, article h3, article h4, article h5, article h6{ color:var(--blue) !important; }

/* Links */
main a, article a, aside a{ color:var(--blue) !important; }
main a:hover, article a:hover, aside a:hover{ color:var(--blue2) !important; }
aside nav a{ text-transform:none !important; }

/* Sidebar: weiß + Linie + Logo */
aside{
  background:#fff !important;
  border-right:1px solid var(--border) !important;
}
aside img{
  max-width:250px !important;
  width:100% !important;
  height:auto !important;
  display:block;
  margin:1rem 0;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Footer: Absätze in eine Zeile */
footer p{ display:inline; margin:0; }
footer p + p:before{ content:" | "; margin:0 .4rem; }

/* Desktop: fixes Grid + Sticky Footer */
html,body{ height:100%; }

@media (min-width:900px){
  body{
    min-height:100vh !important;
    display:grid !important;
    grid-template-columns: var(--sidebar) var(--gap) 1fr !important;
    grid-template-rows: 1fr auto !important;
    align-items:start !important;
  }

  body > aside{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:var(--sidebar) !important;
  }

  body > main{
    grid-column:3 !important;
    grid-row:1 / span 2 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:100vh !important;
  }

  /* Content links neben Sidebar, mit einstellbarem Offset */
  body > main > article{
    max-width:var(--content-max) !important;
    margin:var(--offset) 0 0 0 !important;
    padding-top:0 !important;
  }

  /* Footer bleibt unten */
  body > main > footer{
    margin-top:auto !important;
    max-width:var(--content-max) !important;
  }
}
h1{ font-size:1.95rem !important; line-height:1.25; margin:0 0 .6em; font-weight:700; }
/* Abschnittsüberschriften */
h2 {
  font-size: 1.55rem !important;   /* deutlich kleiner als h1 */
  line-height: 1.35;
  margin-top: 1.8em;
  margin-bottom: 0.6em;
  font-weight: 600;
}

/* ===== Text kompakter für Business-Seiten ===== */

/* Fließtext: Zeilenabstand leicht reduzieren */
article p {
  line-height: 1.55 !important;
  margin-bottom: 0.7em !important;
}

/* Überschriften: weniger Luft nach unten */
article h2 {
  margin-bottom: 0.5em !important;
  margin-top: 1.6em;
}
article h3 {
   font-size: 1.35rem !important;   /* ca. 18–19px */
  line-height: 1.4;
  margin-top: 1.4em;
  margin-bottom: 0.4em;
  font-weight: 600;
}
/* Optional: weniger Abstand zwischen Absätzen insgesamt */
article {
  margin-top: 0;
}
/* ===== Textabstände reduzieren (ruhiger, kompakter) ===== */

/* Absatzabstand verkleinern */
article p,
main p {
  margin-top: 0.4em !important;
  margin-bottom: 0.6em !important;
}

/* Überschrift → Text Abstand reduzieren */
h2 + p,
h3 + p {
  margin-top: 0.5em !important;
}

/* Listen etwas kompakter */
article ul,
article ol {
  margin-top: 0.4em !important;
  margin-bottom: 0.8em !important;
}

main a {
  color: #0d47a1;
  text-decoration: none;
}

main a:hover {
  text-decoration: underline;
}
