/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

html {
  scroll-behavior: smooth!important;
}

.elementor-container .elementor-column {
	padding-left:20px!important;
	padding-right:20px!important;
}

.mm_padding  .elementor-container .elementor-column {
	padding-left:0px!important;
	padding-right:0px!important;
}

.logo-grid-item {
	transform: scale(1);
}

.logo-grid-item:hover {
	transform: scale(1.03);
	transition: transform 0.5s ease ease-in-out;
}

.elementor-cta:hover {
	cursor: pointer!important;
}
.cta-multiline .elementor-cta__description {
  white-space: pre-line;
}

.elementor-nav-menu__container {
	padding-top: 15px!important;
	padding-bottom: 15px!important;
}

.footer-leistungen-menu .elementor-nav-menu .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    height: auto !important;
}
/* Text innerhalb jedes Menülinks in einer Zeile halten */
.footer-leistungen-menu .elementor-nav-menu a,
.footer-leistungen-menu .elementor-nav-menu .elementor-item {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}
.footer-leistungen-menu .elementor-nav-menu, .footer-leistungen-menu .elementor-nav-menu .sub-menu {
	width:100%!important;
}

/* Kundenstimmen Slider Startseite: */
.mm_kundenstimmen .swiper-wrapper {
	padding-bottom: 25px!important;
}

.mm_kundenstimmen .swiper-pagination{
  /* Swiper setzt sonst text-align:center; – wir nehmen Flex für die Linien */
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: .95rem;                 /* Abstand zwischen Linie und Bullets */
  padding: 0 .5rem;            /* etwas Luft zu den Rändern */
  pointer-events: auto;        /* Bullets bleiben klickbar */
  --line-color: rgba(0,0,0,.2);
  --line-thickness: 1px;
  /* Länge der Linien neben den Bullets (kurz & responsiv) */
  --line-length: clamp(24px, 10vw, 420px);
}

/* Linien links & rechts */
.mm_kundenstimmen .swiper-pagination::before,
.mm_kundenstimmen .swiper-pagination::after{
  content: "";
  display: block;
  height: var(--line-thickness);
  flex: 0 0 var(--line-length); /* feste Länge neben den Bullets */
  background: linear-gradient(to right, transparent, var(--line-color));
  pointer-events: none;         /* nicht klickbar */
}
.mm_kundenstimmen .swiper-pagination::before {
  margin-right:25px;
}

.mm_kundenstimmen .swiper-pagination::after{
  margin-left:25px;
}

.mm_kundenstimmen .swiper-pagination::after{
  background: linear-gradient(to left, transparent, var(--line-color));
}

/* Bullets optional etwas enger/gleichmäßiger */
.mm_kundenstimmen .swiper-pagination .swiper-pagination-bullet{
  margin: 0 .25rem !important;
}

/* ---- Variante: volle Breite bis zum Rand ziehen (statt kurzer Linien) ---- */
/*
.mm_kundenstimmen .swiper-pagination::before,
.mm_kundenstimmen .swiper-pagination::after{
  flex: 1 1 0;
  max-width: none;
}
*/

/* Eltern-Wrapper des Widgets auf Spalte umstellen */
.mm_kundenstimmen .swiper{
  display: flex;
  flex-direction: column;
  row-gap: 12px;                  /* Abstand zwischen Pagination und Slider */
}

/* Pagination vor den Slider ziehen und mittig ausrichten */
.mm_kundenstimmen .swiper-pagination{
  order: -1;
  align-self: center;
  position: static !important;    /* sicherstellen, dass nichts absolut ist */
  transform: none !important;
  margin: 0;
  margin-bottom: 25px!important;
}


@media screen and (max-width: 767px) and (min-width: 375px){
	/* Linien links & rechts */
	.mm_kundenstimmen .swiper-pagination::before,
	.mm_kundenstimmen .swiper-pagination::after{
	  content: "";
	  display: block;
	  height: var(--line-thickness);
	  flex: 0 0 var(--line-length); /* feste Länge neben den Bullets */
	  background: linear-gradient(to right, transparent, var(--line-color));
	  pointer-events: none;         /* nicht klickbar */
	}
	.mm_kundenstimmen .swiper-pagination::before {
	  margin-right:10px;
	}

	.mm_kundenstimmen .swiper-pagination::after{
	  margin-left:10px;
	}
	/* Bullets optional etwas enger/gleichmäßiger */
	.mm_kundenstimmen .swiper-pagination .swiper-pagination-bullet{
	  margin: 0 .25rem !important;
	}

	.mm_kundenstimmen .swiper-pagination::before,
	.mm_kundenstimmen .swiper-pagination::after{
	  flex: 1 1 0;
	  max-width: none;
	}
	.mm_kundenstimmen .swiper-pagination::after{
  		background: linear-gradient(to left, transparent, var(--line-color));
	}
	/* 3) Bessere Tappability auf Touch-Geräten */
	.mm_kundenstimmen .swiper-pagination-bullet{
	  width: 15px!important;
		height: 15px!important;
	  margin: 0 .3rem !important;
	}
	.mm_kundenstimmen .swiper-pagination{
	  margin-bottom: 0px!important;
	}
}

/* END - Kundenstimmen Slider Startseite: */

.mm_footer_social .elementor-icon.elementor-social-icon {
    font-size: 3rem!important;
    height: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
    line-height: var(--icon-size, 25px);
    width: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
}

/* Kontaktformular */
.mm_maro-kontakt a {
	color: #fff!important;
}
.mm_maro-kontakt a:hover {
	color: #ff0000!important;
}
/* END - Kontaktformular */

/* Leistungen-Sprungpunkte */
.sprung {
    visibility: hidden;
    height: 0px !important;
    position: absolute;
    margin: 10px; //Headerhöhe
}

@media screen and (max-width: 767px) and (min-width: 375px){
  .sprung {
    visibility: hidden;
    height: 0px !important;
    position: absolute;
    margin: 10px; //Headerhöhe
	}
}
/* Leistungen-Sprungpunkte */

.mm_desktop .sub-menu {
	padding-top: 10px!important;
	padding-bottom: 20px!important;
}
.sub-menu li a, ul.sub-menu li a, .sub-menu li a:hover {
	font-size: 16px!important;
}
.mm_tablet .sub-menu li a, .mm_tablet .sub-menu li a:hover,
.mm_mobil .sub-menu li a, .mm_tablet .sub-menu li a:hover {
	font-size: 16px!important;
	line-height:20px!important;
}
.mm_tablet .sub-menu, .mm_mobil .sub-menu {
	padding-left:15px!important;
}