/* Ergänzungen zu webflow.css (das Original-Stylesheet bleibt unverändert). */

html { scroll-behavior: smooth; }

/* Schräge Bildkanten (standen bei Webflow inline im <head>) */
.diagonal-header-image { clip-path: polygon(0 61.5%, 100% 0, 100% 100%, 0 100%); }
.diagonal_one, .diagonal_two { clip-path: polygon(0 13.3%, 100% 0, 100% 100%, 0 100%); }
section[id] { scroll-margin-top: 70px; }

/* *Wort* in Überschriften wird hervorgehoben */
h1 em, h2 em, h3 em { font-style: normal; color: #758ac4; }

/* Fließtext aus Markdown: Absätze mit einer Leerzeile Abstand */
.inhalt p { margin: 0 0 20px; }
.inhalt p:last-child { margin-bottom: 0; }

/* Listen aus Markdown in den Angeboten/Preisen */
.list li, .list-2 li { color: #fff; margin-bottom: 10px; }

/* "Über mich": Text verteilt sich automatisch auf zwei Spalten */
.spalten { column-count: 2; column-gap: 80px; padding: 20px; }
.spalten p { max-width: 40ch; margin: 0 0 20px; font-size: 16px; break-inside: avoid; }
@media screen and (max-width: 991px) {
  .spalten { column-gap: 12px; margin-bottom: 40px; }
  .spalten p { max-width: 30ch; }
}
@media screen and (max-width: 767px) {
  .spalten { column-count: 1; padding: 20px 40px; }
  .spalten p { max-width: 65ch; }
}

/* Raster einer Kundenstimme (übernommen vom ersten Webflow-Slide) */
.stimme { grid-template-rows: auto; grid-template-columns: 1fr 1.25fr; }
@media screen and (max-width: 767px) { .stimme { grid-template-columns: 1fr; } }
@media screen and (max-width: 479px) { .stimme { grid-template-rows: 288px; grid-template-columns: 2fr; } }

/* Menü-Button ist jetzt ein echter <button> */
.w-nav-button { border: 0; background: transparent; font: inherit; }

/* Aufgeklapptes Handy-Menü (ersetzt das Webflow-JavaScript) */
@media screen and (max-width: 991px) {
  .w-nav-menu.ist-offen {
    display: block !important;
    position: absolute; top: 100%; left: 0; right: 0;
    background-color: #1e2433;
  }
  .w-nav-menu.ist-offen .w-nav-link { display: block; color: #fff; padding: 20px; text-align: left; }
  .w-nav-menu.ist-offen .w-nav-link.w--current { color: #ca462a; }
}
.navbar-3 .w-container { position: relative; }

/* Slider (ersetzt das Webflow-JavaScript) */
.w-slider-arrow-left, .w-slider-arrow-right { user-select: none; }

/* Logo im Kopfbereich sanft einblenden */
@keyframes einblenden { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.image-30 { animation: einblenden 1.2s ease both; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .image-30 { animation: none; }
  .w-slide { transition: none !important; }
}

/* Impressum / Datenschutz */
.rechtstext { padding: 60px 20px 80px; color: #333; }
.rechtstext .w-container { max-width: 80ch; }
.rechtstext h1 { color: #1e2433; }
.rechtstext h2 { color: #1e2433; font-size: 22px; line-height: 28px; margin-top: 40px; overflow-wrap: break-word; hyphens: auto; }
.rechtstext p, .rechtstext li { font-size: 16px; line-height: 24px; }
.rechtstext a { color: #ca462a; word-break: break-word; }
