/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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 */
/* Horizontales Scrollen verhindern */
html, body {
	overflow-x: hidden;
}

/* Zeichenlänge (Laufweite normaler Texte <p>) */
p { max-width: 100ch; }

@media (max-width: 1024px) {
	p { max-width: 70ch; }
}

@media (max-width: 768px) {
	p { max-width: 50ch; }
}

/* SVG-Logo im Header wieder freigeben */
.header-logo img[src$=".svg"] {
	width: auto !important;
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {
	.header-logo img[src$=".svg"] {
		max-width: 50%;
	}
}

/* Untermenü-Pfeile ausblenden */
.sub-arrow .e-font-icon-svg {
	display: none !important;
}

/**************************/
/* Team-Seite: Mail-Icons */
/**************************/
[data-mailkey] {
	cursor: pointer;
}

/****************************/
/* Team-Seite: Hover-Effekt */
/****************************/
/* Karte als Bezugspunkt */
.team-card, .gl-card {
	position: relative;
}

/* Bildbereich als Bezugspunkt */
.team-card .team-img, .gl-card .gl-img {
	position: relative;
	overflow: hidden; /* damit Tags nicht rausstehen */
}

/* Tags über dem Bild platzieren (initial versteckt) */
.team-card .team-tags {
	position: absolute;
	left: 0;
	right: 0;
	top: 180px;
	display: flex;
	z-index: 5;
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	transition: 0.6s ease;
	pointer-events: none;
}

.gl-card .gl-tags {
  left: 0;
  right: 0;
  display: flex;
  z-index: 5;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: 0.6s ease;
}

@media (max-width: 1024px) {
	.gl-card .gl-tags {
		top: 37vh;
	}
}

/* Nested Carousel Slides an Inhalt anpassen */
.elementor-widget-n-carousel .e-n-carousel .swiper-slide {
  height: 85vh !important;
}

/* Beim Hover einblenden */
.team-img:hover .team-tags, .gl-card:hover .gl-tags {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Optional: Auf Mobile (ohne Hover) wieder normal anzeigen */
@media (max-width: 767px){
	.team-card .team-tags, .gl-card .gl-tags {
		position: static;
		height: auto;
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}
	.team-card .team-tags::before, .gl-card .gl-tags::before {
		content:none;
    }
	.elementor-widget-n-carousel .e-n-carousel .swiper-slide {
		height: 80vh !important;
	}
}

/* Blog-Vorschautext */
.cutoff-text {
	--max-lines: 3;
	--line-height: 1.4;
	
	max-height: calc(var(--max-lines) * 1em * var(--line-height));
	line-height: var(--line-height);
	
	overflow: hidden;
	position: relative;
}

.cutoff-text::before {
	content: "";
	position: absolute;
	height: calc(1em * var(--line-height));
	width: 100%;
	bottom: 0;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent, white);
}