/* ===============================
   GOOGLE FONTS
=================================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

/* ===============================
   RESET
=================================*/
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
color:#333;
line-height:1.5;
background:#fff;
}

.container{
width:90%;
max-width:1200px;
margin:0 auto;
}

.section{
padding:40px 0;
}

.light{
background:#f7f7f7;
}

h1,h2,h3{
font-weight:600;
}

h2{
text-align:center;
margin-bottom:40px;
color:#052f4d;
font-size:2.2rem;
}


/* ===============================
   HEADER
=================================*/
.header{
background:#fff;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.header-inner{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 0;
}

.logo-wrapper{
display:flex;
align-items:center;
gap:20px;
}

.logo{
height:65px;
}

.header-title{
font-weight:600;
font-size:1.2rem;
color:#000;
}

nav ul{
list-style:none;
display:flex;
gap:30px;
}

nav a{
text-decoration:none;
font-weight:500;
color:#052f4d;
}

.line-separator{
height:16px;
background:url("images/line-seperator-bg.png") repeat-x center;
}

/* ===============================
   BURGER MENU
=================================*/
.burger{
display:none;
font-size:28px;
cursor:pointer;
}

/* ===============================
   HERO
=================================*/
.hero{
position:relative;
height:400px;
background:url("images/cycling-background.jpg") center/cover no-repeat;
display:flex;
align-items:center;
}

.hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.55);
}

.hero-content{
position:relative;
display:flex;
align-items:center;
gap:60px;
color:#fff;
z-index:2;
}

.hero-logo{
width:350px;
height:350px;
object-fit:contain;
}

.hero-text{
display:flex;
flex-direction:column;
align-items:flex-start;
}

.hero-text h1{
font-size:3.3rem;
line-height:1.2
}

.hero-subline{
font-size:1.8rem;
margin-top:20px;
margin-bottom:30px;
color:#fff;
}

.btn{
display:inline-block;
background:#052f4d;
color:#fff;
padding:14px 30px;
border-radius:6px;
text-decoration:none;
width:auto; /* FIX BUTTON */
}

/* ===============================
   TEXT
=================================*/
.about-text,
.kontakt-einleitung,
.projekt-text{
max-width:750px;
margin:0 auto 25px auto;
text-align:center;
font-size:1.15rem;
}

.about-signature{
text-align:center;
font-weight:600;
margin-top:20px;
}

.legal-text{
max-width:900px;
margin:0 auto 25px auto;
text-align:left;
}

/* ===============================
   LEISTUNGEN
=================================*/
.leistungen-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

.card{
background:#fff;
padding:25px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.05);
text-align:center;
}

.card-grey{
background:#e6e6e6;
padding:25px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.05);
text-align:left;
}

.card-link{
color:#052f4d;
text-decoration:underline;
}

/* ===============================
   PROJEKTE
=================================*/
.projekt-wrapper{
display:flex;
align-items:center;
gap:60px;
}

.slider{
width:400px;
height:400px;
overflow:hidden;
border-radius:10px;
}

.slides{
display:flex;
transition:transform 0.6s ease;
}

.slides img{
width:100%;
flex-shrink:0; /* FIX SLIDER */
height:400px;
object-fit:cover;
}

.projekt-separator{
height:8px; /* dünner */
background:url("images/line-seperator-bg.png") repeat-x center;
margin:30px 0;
}

/* ===============================
   FAQ BEREICH
=================================*/

#faq{
padding-top:80px;
padding-bottom:80px;
}

#faq h2{
text-align:center;
margin-bottom:20px;
}

/* Einleitung */

.faq-intro{
text-align:center;
max-width:720px;
margin:0 auto 20px auto;
font-size:1.05rem;
line-height:1.6;
}

/* zentrierte FAQ Box */

.faq-wrapper{
display:flex;
justify-content:center;
width:100%;
}

.faq-container{
width:100%;
max-width:650px;
background:#ffffff;
border:2px solid #e6e6e6;
border-radius:12px;
padding:30px;
box-shadow:0 10px 28px rgba(0,0,0,0.07);
}

/* einzelne Frage */

.faq-item{
margin-bottom:10px;
padding-bottom:10px;
border-bottom:1px solid #eaeaea;
}

.faq-item:last-child{
border-bottom:none;
margin-bottom:0;
}

/* Frage */

.faq-item summary{
font-size:1.1rem;
font-weight:600;
cursor:pointer;
padding:7px 34px 7px 0;
position:relative;
list-style:none;
display:flex;
align-items:center;
gap:12px;
color:#052f4d;
line-height:1.4;
}

/* Standardmarker entfernen */

.faq-item summary::-webkit-details-marker{
display:none;
}

/* Pfeil */

.faq-item summary::after{
content:"▼";
position:absolute;
right:0;
font-size:0.8rem;
color:#052f4d;
transition:transform 0.25s ease;
}

/* Rotation */

.faq-item[open] summary::after{
transform:rotate(180deg);
}

/* Icons */

.faq-item i{
color:#052f4d;
font-size:1.05rem;
min-width:20px;
}

/* Antwort */

.faq-item p{
margin-top:8px;
font-size:1rem;
line-height:1.6;
color:#555;
}


/* ===============================
   KONTAKT
=================================*/
.kontakt-wrapper{
display:flex;
align-items:center;
gap:50px;
justify-content:center;
}

.profilbild{
width:200px;
height:200px;
border-radius:50%;
object-fit:cover;
}

.instagram-btn,
.whatsapp-btn{
display:block;
margin:12px 0;
padding:12px 24px;
border-radius:6px;
text-decoration:none;
color:#fff;
width:fit-content;
}

.instagram-btn{
background:linear-gradient(45deg,#f09433,#dc2743,#bc1888);
}

.whatsapp-btn{
background:#25D366;
}

/* ===============================
   FLOATING BUTTON
=================================*/
.floating-whatsapp{
position:fixed;
right:20px;
bottom:20px;
background:#25D366;
color:#fff;
width:60px;
height:60px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-size:26px;
}

/* ===============================
   FOOTER
=================================*/
.footer-bg{
background:url("images/impressum-bg.png") center/cover no-repeat;
padding:40px 0;
color:#fff;
}

.footer-inner{
display:flex;
justify-content:space-between;
align-items:center;
}

.footer-link{
color:#fff;
text-decoration:none;
}

/* ===============================
   MOBILE (WICHTIG!)
=================================*/
@media(max-width:900px){

/* NAV */
nav{
display:none;
position:absolute;
top:70px;
right:0;
background:#fff;
width:100%;
padding:20px;
}

nav ul{
flex-direction:column;
gap:15px;
}

nav.active{
display:block;
}

.burger{
display:block;
}

/* HERO FIX */
.hero{
height:auto;
padding:60px 0;
}

.hero-content{
flex-direction:column;
text-align:center;
gap:20px;
}

.hero-logo{
width:180px;
height:180px;
margin-top:20px;
}

.hero-text{
align-items:center;
}

.hero-text h1{
font-size:2rem;
}

.hero-subline{
font-size:1.2rem;
}

/* LEISTUNGEN FIX */
.leistungen-grid{
grid-template-columns:1fr;
}

/* PROJEKTE */
.projekt-wrapper{
flex-direction:column;
text-align:center;
}

.slider{
width:100%;
max-width:350px;
height:250px;
}

.slides img{
height:250px;
}

/* KONTAKT */
.kontakt-wrapper{
flex-direction:column;
text-align:center;
}

.footer-inner{
flex-direction:column;
gap:15px;
text-align:center;
}

}