/*
Theme Name: Astra Child
Template: Astra
*/




/* ==========================
   TYPOGRAFIE STYLES
========================== */

h6 {
    margin-bottom: 20px; /* Abstand nach unten */
}


.ion-icon {
  font-size: 16px;
  color: #341efa;
  vertical-align: middle;
}

.white-text {
    color: #ffffff !important;
}

.h7 {
    font-family: 'Montserrat', sans-serif;
    font-size: 36px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 400;
    line-height: 1.2;
}
/*=============================
	Header
===============================*/

/* Header und Container vollbreit */
#ast-desktop-header .ast-header,
#ast-desktop-header .ast-container,
.site-primary-header-wrap.ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0;
    box-sizing: border-box;
}

/* Flex für Header-Reihen */
#ast-desktop-header .ast-builder-grid-row {
    display: flex;
    justify-content: space-between; /* Links/Rechts verteilen */
    align-items: center;
    width: 100%;
    padding: 15px 60px; /* optional: Abstand links/rechts */
}

/* Optional: Social Icons links/rechts Abstand */
.site-header-primary-section-left {
    margin-right: 30px; /* Abstand Logo/links Menü */
}

.site-header-primary-section-right {
    margin-left: 30px; /* Abstand Rechtsbereich */
}

/* Mobile Header optional auch vollbreit */
#ast-mobile-header .ast-header,
#ast-mobile-header .ast-container,
#ast-mobile-header .site-primary-header-wrap.ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0;
}


/* ==============================
   Sticky Header fixieren
   ============================== */
.main-header-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: rgba(255,255,255,0.95);
    transition: all 0.3s ease;
}

/* Shadow + Shrink beim Scrollen */
body.scrolled .main-header-bar {
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/* Padding Shrink */
body.scrolled .main-header-bar .ast-primary-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    transition: all 0.3s ease;
}

/* Abstand Content unter Header */
.site-content, .ast-archive-description, .ast-page-builder-template {
    margin-top: 100px; /* Höhe Header anpassen */
}



/* Sticky Header nur ab 1024px sichtbar */
@media screen and (max-width: 1220px) {
    .main-header-bar {
        display: none !important;
    }
}

/* ==============================
   Menü vertikal mittig
   ============================== */
.main-header-bar .site-primary-header {
    display: flex;
    align-items: left; /* alle Items vertikal mittig */
}

.main-header-bar .main-header-bar-navigation {
    display: flex;
    align-items: left; /* Menü vertikal zentrieren */
}

.main-header-menu li {
    display: flex;
    align-items: left; /* Menü-Items mittig */
}

.main-header-menu .menu-link {
    display: flex;
    align-items: left;
    padding-top: 0;
    padding-bottom: 0;
}

/* Uppercase + besserer Look */
.main-header-menu .menu-link {
    text-transform: uppercase;
    letter-spacing: 1px; 
    font-size: 16px;
}

/* .main-header-menu .menu-link:hover {
    font-weight: 600 !important;
} */

.main-header-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: rgba(255,255,255,0.95);
    transition: all 0.3s ease;
}

/* Shadow + Shrink beim Scrollen */
body.scrolled .main-header-bar {
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/* Padding Shrink */
body.scrolled .main-header-bar .ast-primary-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    transition: all 0.3s ease;
}

/* Abstand Content unter Header */
.site-content, .ast-archive-description, .ast-page-builder-template {
    margin-top: 100px; /* Höhe Header anpassen */
}



/* Sticky Header nur ab 1024px sichtbar */
@media screen and (max-width: 1220px) {
    .main-header-bar {
        display: none !important;
    }
}

/* ==============================
   Menü vertikal mittig
   ============================== */
.main-header-bar .site-primary-header {
    display: flex;
    align-items: left; /* alle Items vertikal mittig */
}

.main-header-bar .main-header-bar-navigation {
    display: flex;
    align-items: left; /* Menü vertikal zentrieren */
}

.main-header-menu li {
    display: flex;
    align-items: left; /* Menü-Items mittig */
}

.main-header-menu .menu-link {
    display: flex;
    align-items: left;
    padding-top: 0;
    padding-bottom: 0;
}

/* Uppercase + besserer Look */
.main-header-menu .menu-link {
    text-transform: uppercase;
    letter-spacing: 1px; 
	font-size: 14px;
}

.main-header-menu .menu-link {
    font-size: 16px;
}


/* ==============================
   Sub Menü
   ============================== */

/* Untermenü-Links */
.main-header-menu .sub-menu .menu-link {
    font-size: 14px !important;
    text-align: left;
}

/* Untermenü-Styling */
.main-header-menu .sub-menu {
    min-width: 200px;
    width: auto;
    position: absolute;
    z-index: 9999;
    top: 105%;        /* Abstand zum Hauptmenü in %, z.B. 105% = 5% Abstand */
    left: 0;           /* optional: links ausrichten */
    padding-top: 10px;  /* Abstand innerhalb des Submenüs, optisch schöner */
	padding-bottom: 10px;
}

/* Optional: Untermenü-Hintergrund & Hover */
.main-header-menu .sub-menu li {
    background: #fff;   /* Hintergrundfarbe Submenü */
	color: #000;
}

.main-header-menu .sub-menu li:hover {
    background: #fff;   /* Hover-Effekt */
	color: #ff0063 !important;
}


.ast-builder-menu-1 .sub-menu,
.ast-builder-menu-1 .inline-on-mobile .sub-menu {
    border: none; /* entfernt alle Border */
}

/* ==============================
   Social Icons
   ============================== */
/* Wrapper für die Social Icons */
.ast-header-social-wrap .header-social-inner-wrap {
    display: flex;
    align-items: right;
    justify-content: flex-start; /* Icons linksbündig innerhalb des Wrappers */
	margin-left: 40px; 
}

/* Social Icons Styling */
.ast-header-social-wrap .header-social-item {
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #341efa;
    color: #341efa;
    transition: all 0.3s ease;
    margin-left: 0; /* Abstand jetzt über gap geregelt */
}

.ast-header-social-wrap .header-social-item svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.ast-header-social-wrap .header-social-item:hover {
    background-color: #341efa;
    color: #fff;
    border-color: #341efa;
}



/* ==========================
   Footer
========================== */

.custom-footer {
    background: #000; /* Rot */
    padding: 30px 20px;
    color: #fff;
}

.custom-footer-inner {
    max-width: 1280px; /* Boxed Inhalt */
    margin: 50px auto 0 auto; /* Abstand oben + zentriert */
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    text-align: left; /* Text linksbündig auf Desktop/Tablet */
}

.footer-col {
    width: 23%;
    margin-bottom: 20px;
}

/* Logo */
.footer-col img {
    max-width: 220px;
    height: auto;
}

/* Überschriften */
.footer-title {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 12px;
    text-transform: uppercase;
}

/* Texte */
.footer-col p {
    margin: 0;
    line-height: 1.5;
    color: #fff;
    margin-top: 8px; /* Abstand nach Überschrift */
}

/* Menü */
.footer-menu {
    list-style: none;
    padding: 0;
    margin: 8px 0 0 0; /* Abstand nach Überschrift */
}

.footer-menu li {
    margin-bottom: 8px;
}

.footer-menu li a {
    color: #fff;           /* Weiß */
    text-decoration: none;  /* Kein Unterstrich */
}

.footer-menu li a:hover {
    color: #341efa;        /* Hover-Lila */
    text-decoration: none;
}

/* Responsive Tablets / kleinere Desktops */
@media (max-width: 1024px) {
    .custom-footer-inner {
        flex-direction: column;
        align-items: flex-start; /* Links ausrichten */
    }
    .footer-col {
        width: 100%;
        margin-bottom: 20px;
    }
}


/* Footer-Links: weiß, kein Unterstrich, Hover #341efa */
.custom-footer a {
    color: #fff !important;           /* Weiß */
    text-decoration: none !important; /* Kein Unterstrich */
}

.custom-footer a:hover {
    color: #341efa !important;        /* Hover-Lila */
    text-decoration: none !important;
}

/* Responsive Smartphones */
@media (max-width: 768px) {
    .custom-footer-inner {
        flex-direction: column;
        align-items: center; /* Zentriert auf Handy */
        text-align: center;
    }
    .footer-col {
        width: 100%;
        margin-bottom: 40px; /* Abstand zwischen Spalten größer */
    }
    .footer-col:last-child {
        margin-bottom: 20px; /* Letzte Spalte etwas weniger Abstand */
    }
    .footer-col p,
    .footer-menu {
        text-align: center; /* Text zentriert auf Handy */
    }
}


/* ==========================
   Copyright
========================== */
.site-footer,
.site-footer .site-below-footer-wrap,
.site-footer .ast-builder-footer-grid-columns,
.site-footer .ast-builder-footer-grid-columns-inner,
.site-footer .ast-footer-copyright {
    background-color: #000000 !important; /* Schwarz */
    color: #ffffff !important;           /* Schrift weiß */

    padding: 5px 20px 0px 20px;                  /* Kompakter Innenabstand */
    text-align: center;
	font-size: 14px !important;  
}

.site-footer a {
    color: #ffffff !important;
    text-decoration: none;
}

.site-footer a:hover {
    color: #341efa !important;  /* Hover-Farbe für Links */
}

.site-footer p {
    margin: 0;        /* überschüssigen Abstand entfernen */
    line-height: 1.4; /* Zeilenabstand kompakt */
}

/* Überschreibe graue Astra-Farbe im Footer */
.site-footer {
    --ast-global-color-7: #ffffff !important;  /* alles in weiß */
	--e-global-color-astglobalcolor7: #ffffff !important;  /* alles in weiß */
}

.site-footer,
.site-footer p,
.site-footer a,
.site-footer span {
    color: #ffffff !important; /* sichere weiße Farbe für alle Texte */
}


/* ==============================
   Scroll to Top 
   ============================== */

#ast-scroll-top {
    background-color: #FF0063;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    position: fixed; 
    right: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 15px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    outline: none !important;
}

/* Hover Effekt */
#ast-scroll-top:hover {
    background-color: #341efa;
    transform: translateY(-2px);
}

/* Icon absolut zentrieren */
#ast-scroll-top .ast-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* SVG Pfeil */
#ast-scroll-top svg {
    width: 10px;
    height: 10px;
    fill: #fff;
    display: block;
}


/* Fokus/Active vom Button selbst */
#ast-scroll-top:focus,
#ast-scroll-top:active {
    outline: none !important;
    box-shadow: none !important;
}






/*=============================
	Slider
===============================*/

.elementor-swiper-button svg {
    display: none !important;
}

.elementor-swiper-button {
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%); 

    display: block;
    width: 25px;
    height: 25px;

    background: rgba(0,0,0,1);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 7px 11px;

	background-color: #000; /* Schwarz standardmäßig */
    border-radius: 16px !important;
    opacity: 1;
    transition: opacity 0.2s, transform 0.2s; 

    border: 0 !important;
    overflow: hidden;

    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAQAAABuQZ3IAAAAi0lEQVR4AU3OISBEQQBAwS0AACS9NxqQgCZpkiYBVddFvWhAAUABAPQCAGC4g/0vTnrBqCfDIZl70J+kMUBPpEwT4FNXxBxz4F1HxHyr4EVTxBLb4EFNxEon4CJSlVNw9AcV9sC16h8osgke1P1ArgXwouVvdQq86ww/GQefusNf7kBviBlxpT8k+gL/Wox4r1d4MwAAAABJRU5ErkJggg==");
}

.elementor-swiper-button-next {
    right: 10px;
    left: auto;
}

.elementor-swiper-button-prev {
    left: 10px;
    right: auto;
    transform: translateY(-50%) scaleX(-1) !important;
}

/* Hover Effekt */
.elementor-swiper-button:hover {
    opacity: 1;
	 background-color: #FF0000;
}




/*=============================
	Button style
===============================*/
/* Basis-Button */
.elementor-element-0c40da2 a.elementor-button {
    position: relative;
    display: inline-block;
    overflow: hidden; /* wichtig für Slide */
    background-color: #ff0063 !important;
    border-radius: 9999px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border: 1px solid #ff0063 !important;
    color: #fff !important;
    text-align: center;
}

/* Text Container vorbereiten */
.elementor-element-0c40da2 a.elementor-button .elementor-button-content-wrapper {
    display: block;
    position: relative;
}

/* Originaltext */
.elementor-element-0c40da2 a.elementor-button .elementor-button-text {
    display: block;
    transition: transform 0.3s ease;
}

/* Pseudo-Element für Roll-Over Text */
.elementor-element-0c40da2 a.elementor-button .elementor-button-text::after {
    content: attr(data-text); /* identischer Text */
    position: absolute;
    left: 0;
    top: 100%; /* startet unter Originaltext */
    width: 100%;
    text-align: center;
    color: inherit;
    transition: transform 0.3s ease;
}

/* Hover Effekt */
.elementor-element-0c40da2 a.elementor-button:hover .elementor-button-text {
    transform: translateY(-100%);
}

.elementor-element-0c40da2 a.elementor-button:hover .elementor-button-text::after {
    transform: translateY(-100%);
}

/*=============================
	Auflistung
===============================*/
/* Basis für alle Listen 
.custom-list {
  list-style: none;
  padding-left: 0;
  margin: 25px 0;
  font-size: 16px;
  font-weight: 400;
  font-family: 'Montserrat', sans-serif;
  color: #000;
}


.custom-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
}

.custom-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #341efa;
  font-size: 18px;
}


.custom-list.top50 li {
  margin-bottom: 10px;
}


.custom-list.top20 {
  margin: 0;
}

.custom-list.top20 li {
  margin-bottom: 0;
}


.vision-content p {
  margin-bottom: 25px;
}


.desc {
  margin: 0 !important;
  padding: 0 !important;
}



.features-item {
  text-align: left !important;
} */