/*
 Theme Name:   Team Heart
 Theme URI:    https://generatepress.com
 Description:  GeneratePress child theme
 Author:       Juliane de Vries
 Author URI:   https://ju-like.de
 Template:     generatepress
 Version:      0.1
*/

:root {
	--th-weiss: #fffcfa;
	--th-schwarz: #383838;
	--th-grau: #6B7389;
	--th-koralle: #D8705C;
	--th-koralle-soft: #FEF0E8;
	--th-lila: #A491D3;
	--th-lila-soft: #F5F3FA;
	--th-gruen: #C5DCA0;
	--th-gruen-soft: #F5F8F0;
	--th-orange: #F99A66;
	--th-orange-soft: #FFF8F4;
	--text-small: 13px;
		
}
::selection {
	color: #fff !important;
	background: var(--th-koralle);
}	
.koralle {
	color: var(--th-koralle);
}
/* Menu = Sprachwechsler auch mobil neben dem Logo*/
@media (max-width: 768px) {
  .inside-header.grid-container {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
  }
}
/* Schriftarten und Überschriften, responsive!*/
h1, h2, h3, h4, body {
	font-family: 'Libre Franklin';	
}
h1 {
	font-size: clamp(1.6rem, 4vw + 1rem, 3.375rem);
  	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1em;
}
h2 {
	font-size: clamp(1.4rem, 4vw + 0.5rem, 2.6rem);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.1em;

}
h3 {
	font-size: clamp(1.2rem, 2vw + 0.5rem, 1.4rem);
	font-weight: 600;
}
h4 {
	font-weight: 700;
	line-height: 1.1em;
	font-size: 1.25em;
}
body {
	font-weight: 400;
	line-height: 1.75;
}
a {
	text-decoration: none;
}
.super-headline {
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--th-grau);
	font-weight: 600;
	font-size: var(--text-small);
}
.sub-headline {
	font-size: clamp(1.2rem, 2vw + 0.5rem, 1.4rem);
	line-height: 1.2em;
}
.fl-photo-caption {
  	font-size: var(--text-small);
  	line-height: 18px;
  	overflow: hidden;
  	text-overflow: ellipsis;
	text-align: center;
}

/* CF7 Form Styles*/
button, input, select, textarea {
  font-family: 'Libre Franklin'!important;
}
#cf7cstmzr-form.cf7cstmzr-form-376 .wpcf7-form input[type="email"] {
	margin-bottom: 0px !important;
}
.wpcf7-submit {
	font-weight: 700;
	box-sizing: border-box;
	margin-top: 5px;
	box-shadow: none !important;
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.wpcf7-submit:hover {
	transform: scale(1.02);
	box-shadow: 0px 10px 30px 0px rgba(51, 51, 51, 0.15);
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.wpcf7-acceptance {
	display: inline-block;
	margin-top: 5px;
	width: 100%;
	align-content: left;
}
.wpcf7-form-control-wrap {
	max-width: 100% !important;
}
/* Ende Form Styles*/
.th-cards {
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1); 
}
.th-cards:hover {
	transform: scale(1.02);
	box-shadow: 0px 10px 30px 0px rgba(51, 51, 51, 0.15);
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
/* 3 Steps */
.step-box {
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1); 
}
.step-box:hover {
	transform: scale(1.02);
	box-shadow: 0px 10px 30px 0px rgba(51, 51, 51, 0.15);
	transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
/* Pfeil nach der 1. und 2. Karte */
.step-box-1,
.step-box-2 {
  position: relative;
}

.step-box-1::after,
.step-box-2::after {
  content: '→' !important;
  position: absolute;
  font-size: 24px;
  color: var(--th-schwarz);

  /* Desktop: nach rechts, horizontal */
  top: 50%;
  right: -42px;
  transform: translateY(-50%);
}

/* Mobil: nach unten, vertikal */
@media (max-width: 768px) {
  .step-box-1::after,
  .step-box-2::after {
    top: unset;
    right: unset;
    bottom: -42px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
/* Ende steps*/


/* Testimonials slider */
/* Opening Quote-Icon*/
.pp-testimonials .pp-quote-icon {
    display: block;
	text-align: left;
    font-size: 2.6rem;
	margin-left: -10px;
    margin-bottom:14px;
    line-height: 1;
}
.pp-testimonials .pp-testimonials-content p {
    display: block;   
}
/* Closing quote Icon */
.pp-testimonials .pp-quote-icon-close {
    display: inline-block;
    font-size: 1.2rem;      
    width: auto !important;
    height: auto !important;
    line-height: 1;
    vertical-align: middle;
    transform: rotate(180deg);  
    margin-left: 3px;
	vertical-align: top;
}
/* Trennlinie */
.pp-testimonials hr.accent-line {
    border: none !important;
    height: 2px;
    width: 38px;
    margin: 20px auto !important;
    border-radius: 1px;
}

/* Farben geerbt automatisch vom accent-klasse jedes 3. immer coral/purple/green auf .owl-item */

/* Koralle (1. Karte) */
.pp-testimonials .owl-item.accent-coral .pp-quote-icon { color: var(--th-koralle); }
.pp-testimonials .owl-item.accent-coral .pp-quote-icon-close { color: var(--th-koralle); }
.pp-testimonials .owl-item.accent-coral hr.accent-line  { background: var(--th-koralle); }


/*Lila (2. Karte)  */
.pp-testimonials .owl-item.accent-purple .pp-quote-icon { color: var(--th-lila); }
.pp-testimonials .owl-item.accent-purple .pp-quote-icon-close { color: var(--th-lila); }
.pp-testimonials .owl-item.accent-purple hr.accent-line  { background: var(--th-lila); }

/*Grün (3. Karte)*/
.pp-testimonials .owl-item.accent-green .pp-quote-icon { color: var(--th-gruen) }
.pp-testimonials .owl-item.accent-green  .pp-quote-icon-close { color: var(--th-gruen); }
.pp-testimonials .owl-item.accent-green hr.accent-line  { background: var(--th-gruen) }

/************************************ Sprachwechsler im Menü ************************/
/* Vollständigen Sprachtext ausblenden */
li.lang-item > a {
    font-size: 0 !important;
    text-decoration: none !important;
    letter-spacing: 0;
}

/* Kürzel per Pseudo-Element einblenden */
li.lang-item-de > a::after {
    content: 'DE';
    font-size: 14px; /* an dein Menü anpassen */
    letter-spacing: 0.05em;
}

li.lang-item-en > a::after {
    content: 'EN';
    font-size: 14px;
    letter-spacing: 0.05em;
}

/* Trenner "|" vor dem zweiten Sprach-Item */
li.lang-item + li.lang-item > a::before {
    content: '|';
    font-size: 14px;
    margin: 0 6px;
    opacity: 0.5;
    font-weight: 400;
}

/* Aktive Sprache: fett + unterstrichen */
li.lang-item.current-lang > a::after {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Inaktive Sprache: normal */
li.lang-item:not(.current-lang) > a::after {
    font-weight: 400;
    opacity: 0.75;
}
/* Padding raus*/
.main-navigation .main-nav ul li a {
  	padding-left: 2px;
  	padding-right: 2px;
	padding-top: 20px;
  	line-height: 20px;
}
/* Footer */
.site-info {
	display:none;
}
.custom-site-info {
  	text-align: left;
  	font-size: var(--text-small);
	background: var(--th-orange-soft);
}
.custom-site-info .inside-site-info {
  	display: flex;
  	align-items: center;
  	justify-content: left;
  	padding: 20px;
}