/**
Theme Name: mein_fbg_child_theme
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mein_fbg_child_theme
Template: astra




/* ================================
   DISPLAY POSTS – GRUNDSTRUKTUR
================================ */
.display-posts-listing {
  list-style: none;
  padding: 0;
  margin: 0 auto!important;
  max-width: 1000px;
}

/* Jeder Beitrag */
.display-posts-listing li.listing-item {
  margin-bottom: 10px; 
  margin-top: 100px;
  padding: 0;
}

/* ================================
   TITEL
================================ */
.display-posts-listing .title {
  display: block;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0 0 10px 0;
  color:black;
  text-decoration: none!important;
}

.display-posts-listing .title:hover {
  text-decoration: none;
}

/* ================================
   BEITRAGSKARTE
================================ */
.vb-card {
  width: 100%;
  background: #ffff;                /* Fester ruhiger Hintergrund */
	
  padding: 32px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);

  /* Vereinsfarbe nur als Rand */
  border-left: 25px solid var(--vereinsfarbe, #381d92);

  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* ================================
   BEITRAGSART BADGE
================================ */
.vb-type {
  align-self: flex-start;
  font-size: 25px;
  font-weight: 300;
  padding-bottom: 10px;
  color: #046BD2;
  position: relative;
}

.vb-type::after {
    content: "";
    display: block;
    width: 400px;
    height: 2px;
    background: #046BD2;
    margin-top: 20px;
}
/* ================================
   INNERES LAYOUT
================================ */
.vb-inner {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* Bild links */
.vb-plakat {
  flex: 0 0 200px;
}

.vb-plakat img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Text rechts */
.vb-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ================================
   META-INFOS
================================ */
.vb-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  font-size: 16px;
  font-weight: 700;
  color: black;
}

.vb-ort::before { content: "📍 "; }
.vb-datum::before { content: "🕒 "; }

/* ================================
   TEXT
================================ */
.vb-text {
  font-size: 18px;
  line-height: 1.6;
  color: black;
}

/* ================================
   LINKS / BUTTONS
================================ */
.vb-link a {
  display: inline-block;
  padding: 7px 20px;
  background: #046BD2;   /* feste Farbe */
  color: #ffffff;
	margin-top: 14px;
  text-decoration: none!important;
  font-size: 14px;
  font-weight: 600;
}

/* ================================
   RÜCKBLICK GALERIE
================================ */
.vb-galerie {
  display: flex;
  gap: 10px;
}

.vb-galerie img {
  width: 100px;
  height: 100px;
  border-radius: 10px;
  object-fit: cover;
}

/* ================================
   EINZELANSICHT – BOX BEGRENZEN
================================ */
.single-vereinspost .vb-card {
  max-width: 1400px;   /* kannst du auch 1200px oder 1600px nehmen */
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
/* ================================
   EINZELANSICHT – TITEL BÜNDIG ZUR BOX
================================ */

/* Titel exakt gleich breit & positioniert wie die Box */
.single-vereinspost .title {
  max-width: 1400px;          /* MUSS gleich sein wie bei .vb-card */
  margin-left: auto;
  margin-right: auto;

  /* Abstand nach unten zur Box */
  margin-bottom: 32px;
}

/* Sicherheit: Box bekommt keinen negativen Abstand */
.single-vereinspost .vb-card {
  margin-top: 0;
}

/* ================================
   RESPONSIVE
================================ */
@media (max-width: 900px) {
  .vb-inner {
    flex-direction: column;
  }

  .vb-plakat {
    flex: 0 0 auto;
  }

  .vb-plakat img {
    width: 100%;
  }

  .display-posts-listing .title {
    font-size: 28px;
  }
}
/* ================================
   ELEMENTOR COVER – BLOCK-THEME PADDING AUFHEBEN
================================ */

/* globales Padding für diese Seite entfernen */
.page-id-197 .entry-content.wp-block-post-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Elementor darf volle Breite nutzen */
.page-id-197 .elementor {
  max-width: none !important;
}

/* ================================
   STICKY HEADER – STELE
================================ */

/* gesamter Header */
header,
.site-header {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: #ffffff; /* wichtig, sonst scheint Inhalt durch */
}



/* ================================
   Vereinsbeiträge – Mobile Fix
================================ */

/* verhindert horizontales Scrollen */
.tax-verein {
  overflow-x: hidden;
}

/* Beiträge dürfen nie breiter als der Bildschirm sein */
.tax-verein .vb-card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Bilder dürfen nicht überlaufen */
.tax-verein .vb-plakat img,
.tax-verein img {
  max-width: 100%;
  height: auto;
}

/* Tablet Layout */
@media (max-width: 1024px) {

  .tax-verein .vb-inner {
    flex-direction: column;
  }

  .tax-verein .vb-plakat {
    width: 100%;
  }
	.vb-card {
		width: 650px;
		margin-left: auto;
		margin-right: auto;
	}
		.listing-item {
		width: 650px;
		margin-left: auto;
		margin-right: auto;
	}
	.display-posts-listing{
		padding-left: 0px!important;
	}
}

/* Handy Layout */
@media (max-width: 600px) {

  .tax-verein .vb-card {
    padding: 20px;
  }

  .tax-verein .vb-meta {
    flex-direction: column;
    gap: 6px;
  }
		.vb-card {
		width: 280px;
		margin-left: auto;
		margin-right: auto;
	}
		.listing-item {
		width: 280px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.display-posts-listing{
		padding-left: 0px!important;
	}
	.vb-text{
		font-size: 15px;
	}
	.vb-type::after {
    width: 200px;
	}
}



/* ================================
   Vereinsseiten – kleinere Schrift nur auf Handy
================================ */

@media (max-width: 600px) {

  /* Beitragstitel */
  .tax-verein .title {
    font-size: 22px;
  }

  /* Haupttext */
  .tax-verein .vb-text {
    font-size: 15px;
    line-height: 1.5;
  }

  /* Ort / Datum */
  .tax-verein .vb-meta {
    font-size: 13px;
  }

  /* Beitragsart Badge */
  .tax-verein .vb-type {
    font-size: 11px;
  }

  /* Button Text */
  .tax-verein .vb-link a {
    font-size: 13px;
  }

}
:root {
  --wp--style--global--content-size: 100%;
}

/* Einzelsicht */

/* Meta-Daten ausblenden (nur Einzelansicht) */
.single-vereinspost .entry-meta,
.single-vereinspost .post-author,
.single-vereinspost .posted-on {
    display: none !important;
}

/* Titel nur bei Vereinsbeiträgen ausblenden */
.single-vereinspost .entry-title {
    display: none !important;
}

.single-vereinspost .site-content {
    background:  linear-gradient(to bottom, #F0F5FA, #B0D7FF);

}

.single-vereinspost .display-posts-listing li.listing-item {
    margin-top: 0 !important;
}
.single-vereinspost article,
.single-vereinspost .post,
.single-vereinspost .ast-article-post {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border: none !important;
}


.entry-header{
	display: none;
}




.entry-title {
  position: relative;
	 display: inline-block;
  text-decoration: none;
  color: #046BD2;
	margin-bottom: 0px;
}

.entry-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;

  width: 100%;
  height: 2px;
  background: currentColor;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.entry-title:hover::after {
  transform: scaleX(1);
}