/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.10.1.1746437954
Updated: 2025-05-05 09:39:14

*/


    .site-main {
        position: relative;
        z-index: 98;
        margin-bottom: 0vh !important; 
        background: #000000;
    }

@media (min-width: 922px) {
    .site-content .ast-container {
        display: block !important;
    }
}

/* nomalize Headlines */

/* --------------------------------------------
   Content-Headlines (Standardbereiche)
--------------------------------------------- */

body .entry-content h1,
body .entry-content h2,
body .entry-content h3,
body .entry-content h4,
body .entry-content h5,
body .entry-content h6 {
  line-height: 1.3;
  margin: 0.75em 0;
  color: #fff; /* falls du weiße Headlines willst */
}

/* Desktop (ab 1025px) */
body .entry-content h1 { font-size: 2.25rem; } /* ≈ 36px */
body .entry-content h2 { font-size: 1.875rem; }
body .entry-content h3 { font-size: 1.5rem; }
body .entry-content h4 { font-size: 1.25rem; }
body .entry-content h5 { font-size: 1.125rem; }
body .entry-content h6 { font-size: 1rem; }

/* Tablet (768–1024px) */
@media (max-width: 1024px) {
  body .entry-content h1 { font-size: 2rem; }
  body .entry-content h2 { font-size: 1.625rem; }
  body .entry-content h3 { font-size: 1.375rem; }
    body:not(.elementor-editor-active) .entry-content h4 {
    font-size: 1.125rem;
  }
  body .entry-content h5 { font-size: 1rem; }
  body .entry-content h6 { font-size: 0.875rem; }
}

/* Mobile (<768px) */
@media (max-width: 767px) {
  body .entry-content h1 { font-size: 1.75rem; }
  body .entry-content h2 { font-size: 1.5rem; }
  body .entry-content h3 { font-size: 1.25rem; }
  body:not(.elementor-editor-active) .entry-content h4 {
    font-size: 1rem;
  }
  body .entry-content h5 { font-size: 0.875rem; }
  body .entry-content h6 { font-size: 0.75rem; }
}


/* --------------------------------------------
   Headlines im Fade-Container
--------------------------------------------- */

body .fade-toggle-content h3,
body .fade-toggle-content h4,
body .fade-toggle-content h5,
body .fade-toggle-content h6 {
  line-height: 1.3;
  margin: 0.75em 0;
}

/* Desktop */
body .fade-toggle-content h3 { font-size: 1.375rem; } /* ≈ 22px */
body .fade-toggle-content h4 { font-size: 1.25rem; }
body .fade-toggle-content h5 { font-size: 1.125rem; }
body .fade-toggle-content h6 { font-size: 1rem; }

/* Tablet */
@media (max-width: 1024px) {
  body .fade-toggle-content h3 { font-size: 1.25rem; }
  body .fade-toggle-content h4 { font-size: 1.125rem; }
  body .fade-toggle-content h5 { font-size: 1rem; }
  body .fade-toggle-content h6 { font-size: 0.875rem; }
}

/* Mobile */
@media (max-width: 767px) {
  body .fade-toggle-content h3 { font-size: 1.125rem; }
  body .fade-toggle-content h4 { font-size: 1rem; }
  body .fade-toggle-content h5 { font-size: 0.875rem; }
  body .fade-toggle-content h6 { font-size: 0.75rem; }
}




/* Footer Fix */


/* Footer wieder statisch unterhalb des Inhalts */
.site-footer,
footer.site-footer,
.footer-bar {
  position: static !important;
  bottom: auto    !important;
  width: 100%     !important;
  z-index: auto   !important;
  margin-top: 2em !important; /* etwas Abstand zum Content */
}

/* Falls der .site-content den Footer überlappt, etwas Padding unten */
.site-content {
  padding-bottom: 0em !important;
}



.site-footer, footer.site-footer, .footer-bar {
    position: static !important;
    bottom: auto !important;
    width: 100% !important;
    z-index: auto !important;
    margin-top: 0em !important;
}



/* Outro-Bereich */
.text-outro {
    margin: 3em 0;
    text-align: center;
    grid-column: 1 / -1;
}



/* ------------------------------------------------
   Gemeinsamer Stil für Inputs und Textareas
   ------------------------------------------------ */
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="number"],
.wpforms-field textarea {
  width: 100%;
  background: transparent;
  border: 2px solid #ADC558;
  border-radius: 30px;
  padding: 0.75em 1em;
  color: #fff;
  font-size: 1rem;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

/* Placeholder-Farbe */
.wpforms-field input::placeholder,
.wpforms-field textarea::placeholder {
  color: rgba(255,255,255,0.6);
}

/* Fokuszustand */
.wpforms-field input:focus,
.wpforms-field textarea:focus {
  outline: none;
  border-color: #8bc53f;
}

/* Label-Stil */
.wpforms-field-label {
  display: block;
  margin-bottom: 0.5rem;
  color: #ADC558;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

/* Textarea Höhe & Abrundung */
.wpforms-field-textarea textarea {
  min-height: 8em;
  border-radius: 1em;
}




/* Blog slider */

/* Blog-Slider */
.blog-slider-section { margin: 3em auto; 
                        max-width: 1220px;}
.blog-slider-section .slider-title { text-align:center; color:#ADC558; margin-bottom:1em; }
.swiper .slide-card {
  background: var(--e-global-color-secondary);
  border-radius: 1em;
  overflow: hidden;
  display: block;
  text-decoration: none;
  color: inherit;
}
.swiper .slide-image {
  padding-top: 60%;
  background-size: cover;
  background-position: center;
}
.swiper .slide-content {
  padding: 1em;
}
.swiper .slide-date {
  font-size:9pt;
  color:#ccc;
  margin-bottom:0.5em;
}
.swiper .slide-title {
  font-size:16pt;
  color:#ADC558;
  margin:0 0 0.5em;
}
.swiper .slide-excerpt {
  font-size:10pt;
  color:#eee;
}
/* Navigation */
.swiper-button-prev,
.swiper-button-next { color:#ADC558; }
.swiper-pagination-bullet { background:#ADC558; opacity:0.5; }
.swiper-pagination-bullet-active { opacity:1; }

/* Entferne Astra’s flex-Layout ab 922px nur bei Einzel-Beiträgen */
@media (min-width: 922px) {
.ast-page-builder-template .site-content > .ast-container {
    max-width: 100%!important;
    padding: 0;
    display: block;
}
}





/* -----------------------------------------------
   CTA‐Section wirklich fullwidth
----------------------------------------------- */
.cta-section {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  background-color: #9dc54b!important;
  padding: 2rem 1rem;
  box-sizing: border-box;
  z-index: 1;
}

/* Inneres Container‐Limit + Spacing */
.cta-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 1.5rem;
    flex-direction: column !important;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

/* Auf Desktop nebeneinander, auf Tablet/Mobil übereinander */
@media (min-width: 1025px) {
  .cta-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* Überschrift groß, linksbündig */
.cta-inner .cta-title {
  color: #000;
  font-size: 2.5rem;
  margin: 0;
}

/* Text darunter */
.cta-inner .cta-text {
  color: #000;
  font-size: 1rem;
  line-height: 1.6;
  max-width: 600px;
  margin: 0;
}

/* Button immer unter dem Text in der Reihenfolge, rechts auf Desktop */
.cta-inner .cta-button {
  /* falls du einen Wrapper hast */
  margin-top: 1rem;
  background: black;
}

/* Mobile: alles übereinander */
@media (max-width: 1024px) {
  .cta-inner {
    flex-direction: column;
    text-align: center;
  }
  .cta-inner .cta-button {
    margin: 1rem auto 0;
  }
}




/* Hero section */

.ast-single-post-header {
  width: 100%;
  height: 600px;
  max-height: 600px;
  overflow: hidden;
  position: relative;
  margin-bottom: 2rem;
}

.ast-single-post-thumbnail img.ast-featured-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}




.fullwidth-row {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
  overflow: hidden;
}

.fullwidth-row > * {
  width: 100%;
}






.leistungen-slider-section {
  padding: 60px 20px;
  background-color: #000000;
}

.leistungen-slider-section .swiper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.leistungen-slider-section .swiper-wrapper {
  display: flex;
}

.leistungen-slider-section .swiper-slide {
  flex-shrink: 0;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}

.leistungen-slider-section .slide-card {
  display: flex;
  flex-direction: column;
  background: #2C2F37;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #ADC558;
  height: 100%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.leistungen-slider-section .slide-image {
  height: 200px;
  background-size: cover;
  background-position: center;
}

.leistungen-slider-section .slide-content {
  padding: 15px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.leistungen-slider-section .slide-date {
  font-size: 0.85rem;
  color: #ffffff;
  margin-bottom: 5px;
}

.leistungen-slider-section .slide-title {
  font-size: 1.1rem;
  font-weight: bold;
  margin: 0 0 10px;

}

.leistungen-slider-section .slide-excerpt {
  font-size: 0.9rem;
  color: #555;
}


section.leistungen-slider-section > h2 {
      text-align: center;
    color: #adc558!important;
}


.btn{
  border-radius: 100px;
  background-color: #000;
  color: #fff;
  padding:5px;
  margin:15px;
}

.btn.ci{
  background-color: #ADC558;
  color: #000;
}



/* nur bis 767 px (= typischer Smartphone-Break-point) */
@media (max-width: 767px) {
	.ast-single-entry-banner[data-post-type="leistungen"] {
		text-align: center;
		justify-content: center;
		min-height: 300px;
		width: 100%;
		padding: 3em;          /* Kurzschreibweise für alle Seiten */
	}
.ast-single-entry-banner[data-post-type="post"] {
    justify-content: center;
    min-height: 300px;
    width: 100%;
    padding-top: 3em;
    padding-right: 3em;
    padding-bottom: 3em;
    padding-left: 3em;
}
}

.ast-single-entry-banner[data-post-type="post"] {
    justify-content: center;
    min-height: 300px;
    width: 100%;
    padding-top: 3em;
    padding-right: 3em;
    padding-bottom: 0em;
    padding-left: 3em;
}

.ast-single-entry-banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    background-color: none!important;
}


