/* Startseite: Ausrichtung von Elementor nicht zerlegen. */

body.home {
  --eeg-pink: #e6007e;
  --eeg-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --eeg-gutter: clamp(24px, 5vw, 48px);
  --eeg-stack: 20px;
  --eeg-section: clamp(48px, 6vw, 72px);
}

body.home .eeg-home-intro a,
body.home .eeg-home-albums a,
body.home .eeg-home-posts a,
body.home .eeg-home-more a,
body.home .eeg-home-top-events a,
body.home .eeg-mag a,
body.home .eeg-top-events a {
  text-decoration: none;
}

body.home .eeg-home-intro a:hover,
body.home .eeg-home-albums a:hover,
body.home .eeg-home-posts a:hover,
body.home .eeg-home-more a:hover,
body.home .eeg-home-top-events a:hover,
body.home .eeg-mag a:hover,
body.home .eeg-top-events a:hover {
  text-decoration: none;
}

body.home .elementor > .e-con.e-parent {
  --padding-left: var(--eeg-gutter);
  --padding-right: var(--eeg-gutter);
}

/* Intro bleibt zentriert — Hintergrund vollbreit, Text mit derselben Seitenluft. */

body.home .eeg-home-intro {
  min-height: 0 !important;
  --padding-left: 0px;
  --padding-right: 0px;
}

body.home .eeg-home-intro > .e-con-inner {
  padding-top: clamp(24px, 3vw, 40px) !important;
  padding-bottom: clamp(20px, 2.6vw, 32px) !important;
  padding-left: var(--eeg-gutter) !important;
  padding-right: var(--eeg-gutter) !important;
}

body.home .eeg-home-intro .e-con-inner {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

body.home .eeg-home-intro .elementor-heading-title,
body.home .eeg-home-intro .elementor-widget-text-editor {
  text-align: center;
}

body.home .eeg-home-intro .elementor-heading-title {
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
}

body.home .eeg-home-intro .elementor-heading-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  margin: 12px auto 0;
  background: currentColor;
  border-radius: 99px;
}

body.home .eeg-home-intro .elementor-widget-text-editor {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
}

body.home .eeg-home-intro .elementor-widget-text-editor p {
  margin: 0;
}

body.home .eeg-home-intro .elementor-widget-heading {
  margin: 0 0 12px !important;
}

body.home .eeg-home-intro .elementor-widget-text-editor {
  margin: 0 !important;
}

/* Alben / Beiträge: Reihenfolge von Elementor, keine Grid-Umbauten. */

body.home .eeg-home-albums .elementor-heading-title::after,
body.home .eeg-home-posts .elementor-heading-title::after {
  content: "";
  display: block;
  width: 36px;
  height: 3px;
  margin-top: 10px;
  background: var(--eeg-pink);
  border-radius: 99px;
}

body.home .eeg-home-posts .elementor-heading-title::after {
  margin-left: 0;
}

body.home .eeg-home-albums .elementor-post__card {
  border-radius: 16px;
  overflow: hidden;
}

body.home .eeg-home-albums .elementor-post__thumbnail {
  transition: transform 0.55s var(--eeg-ease);
}

body.home .eeg-home-albums .elementor-post__card:hover .elementor-post__thumbnail,
body.home .eeg-home-albums .elementor-post__card:focus-within .elementor-post__thumbnail {
  transform: scale(1.04);
}

body.home .eeg-home-albums .elementor-widget-heading,
body.home .eeg-home-posts .elementor-widget-heading {
  margin: 0 0 var(--eeg-stack) !important;
}

body.home .eeg-home-posts .elementor-widget-text-editor {
  margin: 0 0 var(--eeg-stack) !important;
}

body.home .eeg-home-albums .elementor-widget-posts,
body.home .eeg-home-posts .elementor-widget-eventbox-magazine-posts,
body.home .eeg-home-more .elementor-widget-eventbox-magazine-posts {
  margin: 0 !important;
  min-width: 0;
}

body.home .eeg-home-albums .elementor-widget-button,
body.home .eeg-home-posts .elementor-widget-button,
body.home .eeg-home-more .elementor-widget-button {
  margin: var(--eeg-stack) 0 0 !important;
}

/* Werbung: Platz lassen, Layout nicht umbauen. */

body.home .eeg-home-posts > .e-con-inner > .e-con:last-child {
  min-width: 300px;
}

body.home .eeg-home-posts [aria-label="Werbung"],
body.home .eeg-home-posts .elementor-shortcode {
  min-width: 300px;
  min-height: 250px;
}

body.home .eeg-home-top-events {
  --margin-top: 8px;
  --margin-bottom: var(--eeg-section);
  --padding-top: 0px;
  --padding-bottom: 0px;
}

body.home .eeg-home-albums {
  --margin-top: 0px;
  --margin-bottom: var(--eeg-section);
  --padding-top: 0px;
  --padding-bottom: 0px;
}

body.home .eeg-home-posts {
  --margin-top: 0px;
  --margin-bottom: var(--eeg-section);
  --padding-top: 0px;
  --padding-bottom: 0px;
}

body.home .eeg-home-posts .eeg-mag {
  background: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  overflow: visible;
}

/* Beiträge: gleiche H2/Links, klarere Module — nur CSS. */

body.home .eeg-home-posts .elementor-heading-title,
body.home .eeg-home-more .elementor-heading-title {
  font-size: clamp(1.45rem, 2.4vw, 1.95rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

body.home .eeg-home-more {
  --margin-top: 8px;
  --margin-bottom: var(--eeg-section);
  --padding-top: 32px;
  --padding-bottom: 8px;
  border-top: 1px solid rgba(128, 128, 128, 0.22);
}

body.home .eeg-home-more .elementor-heading-title::after {
  content: "";
  display: block;
  width: 36px;
  height: 3px;
  margin-top: 10px;
  background: var(--eeg-pink);
  border-radius: 99px;
}

@media (max-width: 767px) {
  body.home {
    --eeg-section: 40px;
    --eeg-stack: 16px;
    --eeg-gutter: 20px;
  }

  body.home .eeg-home-intro {
    padding-top: 64px !important;
    padding-bottom: 20px !important;
  }

  body.home .elementor > .e-con.e-parent.eeg-home-top-events {
    --padding-left: 12px;
    --padding-right: 12px;
    --margin-top: 0px;
    --margin-bottom: 28px;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.home .eeg-home-posts > .e-con-inner > .e-con:last-child,
  body.home .eeg-home-posts [aria-label="Werbung"],
  body.home .eeg-home-posts .elementor-shortcode {
    min-width: 0;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .eeg-home-albums .elementor-post__thumbnail {
    transition: none;
    transform: none;
  }
}
