@charset "UTF-8";
/* CSS Document */

/* Elemente mittig justieren */
.carousel-item {
    scroll-snap-align: center;
    flex-shrink: 0; 
}

/* Scroll Verhalten + versteckte Scrollbar*/
.carousel-track {
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth; 
    display: flex;
    border-radius: 0.75rem; 
    overflow: hidden;
    /* background-color: #666;  */
    height: 100%;
}
.carousel-track::-webkit-scrollbar {
    display: none;
}

.carousel-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    /* background-color: #666;  */
	
}


/* Navigation Buttons */

.nav-wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
    max-width: 100%; 
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem; 
    padding-right: 1rem;
    display: none;
	 
}
@media (min-width: 768px) { 
    .nav-wrapper {
        display: flex;
    }
}

.nav-button-base {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
	width: 3.2rem;
	height: 3.2rem;
    border-radius: 50%; 
    background-color: rgba(255, 255, 255, 0.7); 
    color: black; 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); 
    pointer-events: auto;
    border: none;
    transition: all 0.2s;
    outline: none;
	
}
.nav-button-base:hover {
    background-color: rgba(0, 0, 0, 0.75);
    color: white;
    transform: translateY(-50%) translateX(var(--nav-x)) scale(1.1);
}

/* Previous button: */
.nav-button-prev {
    left: 50%;
    --nav-x: calc(-20vw - 2rem - 20px);
    transform: translateY(-50%) translateX(var(--nav-x));
}
/* Next button: */
.nav-button-next {
    right: 50%;
    --nav-x: calc(20vw + 2rem + 20px);
    transform: translateY(-50%) translateX(var(--nav-x));
}
.nav-icon {
    width: 1.5rem; 
    height: 1.5rem; 
}


/* Card Styles */

.carousel-item-outer {
    width: 100%; 
    padding: 2rem 2rem; 
    display: flex;
    justify-content: center;
    height: 100%; 
	box-sizing: border-box;
}

.card-base {
    display: flex;
	flex-direction: column; 
	position: relative;
	width: 100%;
    max-width: 40vw; 
	height: 100%; 
    background-color: #FFFFFF;
    border-radius: 0.5rem; 
    padding-top: 3rem;
	padding: 2rem; 
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.7), 0 3px 5px -2px rgba(0, 0, 0, 0.2); 
    border: 1px solid #f3f4f6; 
    transition: all 0.3s; 
    
    
}

.card-gradient-area {
    position: relative;
	display: flex;
	flex-direction: column;
    height: auto;
	padding: 20px;
    margin-bottom: 1rem; 
    border-radius: 0.5rem; 
    color: white;
}

.card-title {
    width:auto;
	font-family: 'Montserrat', sans-serif;
	font-size: 2.3rem;
	line-height: 2.4rem;
    font-weight: 100;
    color: #111827;
    margin-bottom: 0.5rem;
}

.card-text {
    width: auto;
	font-family:'Montserrat', sans-serif; 
	color: #000;
    font-size: 1.1rem;
	font-weight: 200;
	margin-top: 1rem;
	line-height: 1.3rem;

}
.PersImage img{
    position: absolute; 
    top: 0; 
    left: 20px; 
    z-index: 20; 
    width: 6rem;
    height: 6rem;
	object-fit: cover;
    border-radius: 50%;
	display: block;
    border: 4px solid #e0b400; 
    overflow: hidden; 
    transform: translateY(-50%); 
}
.RefPerson {
    display: flex;
	flex-direction: row;
    align-items: flex-end; 
    margin-left: calc(6rem + 15px);
    width: auto; 
    padding-right: 20px;
}

.Refname {
    font-weight: 600;
    font-size: 1.5rem;
    color: #fff; 
    margin: 0; 
    line-height: 1.2;
    padding-right: 20px;
	z-index: 20;
}

.RefFunction {
    font-size: 1rem;
    font-weight: 300;
    text-transform: uppercase;
    color: #fff;
    opacity: 0.85;
    margin-top: 0.5rem;
    padding-right: 20px; 
	z-index: 20;
}

.carousel-quote-box {
    width: auto;
	max-width: 450px;
	margin-left: auto;
    margin-right: auto;
	border: 2px solid #000;
    padding: 20px 25px; 
    margin-top: 15px; 
    position: relative;
    text-align: left;
    background-color: #fff;
    font-size: 1rem;
	
}

.carousel-quote-box:after, .carousel-quote-box:before {
  font-family: serif;
  position: absolute;
  font-size: 3rem; /*65px;*/
  color: #111;
  background: #fff;
}
.carousel-quote-box:after {
  content: "\00AB";
  top:0;
  right: 0;
  padding: 2px;
  transform: translate(50%, 0%);
  box-shadow: 0 10px 0 #fff;
}
.carousel-quote-box:before {
  content: "\00BB";
  bottom: 0px;
  left: 0;
  padding:2px;
  transform: translate(-50%, 0px);
  box-shadow: 0 5px 0 #fff;
  margin-bottom: 5px;
}

/* Farbverläufe Classes */

/* 1. Indigo */
.gradient-indigo { background-image: linear-gradient(to bottom right, #3b82f6, #4f46e5); }
/* .button-indigo { background-color: #4f46e5; } */
.button-indigo:hover { background-color: #4338ca; }

/* 2. Pink */
.gradient-pink { background-image: linear-gradient(to bottom right, #ef4444, #db2777); }
/* .button-pink { background-color: #db2777; } */
.button-pink:hover { background-color: #c026d3; }

/* 3. Teal */
.gradient-teal { background-image: linear-gradient(to bottom right, #10b981, #0d9488); }
/* .button-teal { background-color: #0d9488; } */
.button-teal:hover { background-color: #0f766e; }

/* 4. Orange */
.gradient-orange { background-image: linear-gradient(to bottom right, #f59e0b, #ea580c); }
/* .button-orange { background-color: #ea580c; } */
.button-orange:hover { background-color: #c2410c; }

/* 5. Blue */
.gradient-blue { background-image: linear-gradient(to bottom right, #06b6d4, #2563eb); }
/* .button-blue { background-color: #2563eb; } */
.button-blue:hover { background-color: #1d4ed8; }

/* 1. Glacier Blue (Gletschereis-Blau) *//* Ein sanfter Übergang von hellem, kühlem Blau zu einem etwas dunkleren Stahlblau */
.gradient-glacierblue { background-image: linear-gradient(to bottom right, #a0c2e3, #3c6e93); }
/* .button-glacierblue { background-color: #3c6e93; } */
.button-glacierblue:hover { background-color: #2c597c; }

/* 2. Soft Teal (Gedämpftes Petrol/Türkis) */ /* Ein sanfter Übergang von hellem Aqua zu einem dunkleren Seegrün */
.gradient-reseda { background-image: linear-gradient(to bottom right, #aeb6a3, #6B7C59); }
/* .button-reseda { background-color: #6B7C59; } */
.button-reseda:hover { background-color: #596548; }

/* 3. DUSK LILAC / DÄMMERUNGSFLIEDER (Kühler, subtiler Kontrast) *//* Ein sehr gedämpfter, kühler Lila- oder Mauve-Ton. */
.gradient-lilac { background-image: linear-gradient(to bottom right, #c7c4d1, #8d889b); }
/* .button-lilac { background-color: #8d889b; } */
.button-lilac:hover { background-color: #716c81; }

/* 4. Deep Indigo (Tiefes Indigo) - Für den Akzent mit Tiefe *//* Übergang von dunklem Indigo zu Violett-Grau */
.gradient-deepindigo { background-image: linear-gradient(to bottom right, #798a9c, #303740); }
/* .button-deepindigo { background-color: #303740; } */
.button-deepindigo:hover { background-color: #20262c; }

/* 5. Muted Green (Gedämpftes Waldgrün) - Minimaler Naturakzent */ /* Übergang von einem leicht Oliv-Grün zu einem dunklen Grün-Grau */
.gradient-green { background-image: linear-gradient(to bottom right, #a5c3af, #6b8973); }
/* .button-green { background-color: #6b8973; } */
.button-green:hover { background-color: #556c5c; }


/* Indicator Dots */
#dots-container {
    display: flex;
    justify-content: center;
    gap: 0.5rem; 
}

.indicator-dot {
    border: none;
    cursor: pointer;
    background-color: transparent;
    transition: all 0.3s ease-in-out; 
    outline: none; 
    border-radius: 9999px;
}

.indicator-inactive {
    width: 2rem; 
    height: 0.25rem; 
    background-color: #9ca3af; 
}
.indicator-inactive:hover {
    background-color: #4b5563; 
}

.indicator-active {
    width: 2.5rem; 
    height: 0.5rem; 
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06); 
}

/* Indicator Farben */
.bg-indigo { background-color: #4f46e5; }
.bg-pink { background-color: #db2777; }
.bg-teal { background-color: #0d9488; }
.bg-orange { background-color: #ea580c; }
.bg-blue { background-color: #2563eb; }

.bg-deepindigo { background-color: #303740; }
.bg-lilac { background-color: #8d889b; }
.bg-reseda { background-color: #6B7C59; }
.bg-green { background-color: #6b8973; }
.bg-glacierblue { background-color: #3c6e93; }




/* Portrait devices other than smartphones*/

@media (min-width: 481px) and (min-aspect-ratio: 5/8) and (max-aspect-ratio: 8/10) and (orientation: portrait){
	#recommendations {
		min-height: 100dvh;
		min-height: 100vh;
	}
	
	.card-base {
		max-width: 60dvw;
		max-width: 60vw;
	
	}
	
	.nav-button-prev {
    left: 50%;
    --nav-x: calc(-30vw - 2rem - 20px);
    transform: translateY(-50%) translateX(var(--nav-x));
}
.nav-button-next {
    right: 50%;
    --nav-x: calc(30vw + 2rem + 20px);
    transform: translateY(-50%) translateX(var(--nav-x));
}
	
}

/*--------------- Smartphone Landscape ---------------------------------------------------------------------*/

@media (max-height: 480px) and (orientation: landscape){
	
	#recommendations {
		/*min-height: 100dvh;
		min-height: 100vh;*/
		min-height: 100lvh;
	}
	
	.carousel-container{
		padding-bottom: 1rem;	
	}
	
	.carousel-track {
		padding-top:10px;
		
	}
	.card-base {
		max-width: 80dvw;
		max-width: 80vw;
		padding: 1rem;
	}
	
	.card-title {
        font-size: 1.7rem;
        line-height: 1.8rem;	
	}
	
	.card-text {
		font-size: 1rem;
        line-height: 1.1rem;
	}
	.RefPerson {
		margin-left: calc(4rem + 15px);
	}
	
	.PersImage img{
		width: 4rem;
        height: 4rem;
		left: 10px;
		transform: none;
	}
	
	.Refname {
	font-weight: 500;
    font-size: 1.3rem;
    color: #fff; 
    margin: 0; 
    line-height: 1.2;
	}
	
	.RefFunction {
		font-size: 0.85rem;
		margin-left: calc(4rem + 15px);
	}
	
	.nav-button-prev {
    left: 50%;
    --nav-x: calc(-40vw - 2rem - 20px);
    transform: translateY(-50%) translateX(var(--nav-x));
}
.nav-button-next {
    right: 50%;
    --nav-x: calc(40vw + 2rem + 20px);
    transform: translateY(-50%) translateX(var(--nav-x));
}
	
}
	
	
	
/* ------ Smartphone Portrait---------------------------------------------------------------------------*/
@media (max-width: 481px) {

	#recommendations {
		/*min-height: 100dvh;
		min-height: 100vh;*/
		min-height: 100lvh;
	}
	
	.card-base {
		max-width: 80dvw;
		max-width: 80vw;
		padding: 1rem;
	}
	
	.card-gradient-area {
		padding: 10px;
	}
	
	.card-title {
        font-size: 1.5rem;
        line-height: 1.6rem;	
	}
	
	.card-text {
		font-size: 1rem;
        line-height: 1.1rem;
	}
	
	.RefPerson {
		margin-left: calc(4rem + 15px);
	}
	
	.PersImage img{
		width: 4rem;
        height: 4rem;
		left: 10px;
	}
	
	.Refname {
	font-weight: 500;
    font-size: 1.3rem;
    color: #fff; 
    margin: 0; 
    line-height: 1.2;
	}
	
	.RefFunction {
		font-size: 0.85rem;
	}
	
}
	