/* =================================================
   GLOBAL / GRUNDLAYOUT
================================================= */

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:'Montserrat', sans-serif;
}

h1,h2,h3{
font-weight:600;
}

section{
padding:70px 20px;
text-align:center;
}

#home{
scroll-margin-top:60px;
}


/* =================================================
   NAVIGATION
================================================= */

nav{
position:fixed;
top:0;
width:100%;
background:#333;
z-index:1000;
}

nav ul{
list-style:none;
margin:0;
padding:10px;

display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;

gap:15px;
}

nav li{
display:flex;
align-items:center;
margin:0;
}

nav a{
color:white;
text-decoration:none;
font-weight:bold;
font-size:clamp(12px, 1.2vw, 18px);
}

nav a:hover{
text-decoration:underline;
}


/* =================================================
   HERO BEREICH
================================================= */

.hero{
position:relative;
height:calc(100vh - 60px);
margin-top:60px;

display:flex;
justify-content:center;
align-items:center;

text-align:center;
}

/* Hintergrundbild */

.hero-bg{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;

background-image:url("background.jpg");
background-size:cover;
background-position:center;

z-index:0;
}

/* Overlay */

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;

background:rgba(255,255,255,0.395);

z-index:1;
}

/* Inhalt */

.hero-content{
position:relative;
z-index:2;

display:flex;
justify-content:center;
align-items:center;

width:100%;
}

/* Logo */

.logo{
width:min(90%, 1000px);
display:block;
margin:auto;
}

.logolink{
height:50px;
width:auto;
display:block;
filter:invert(100%) brightness(100%);
}


/* Instagram Link */

.insta-link{
display:flex;
align-items:center;
gap:8px;

color:white;
text-decoration:none;
font-size:12px;
}

.insta-link span{
font-size:12px;
line-height:1;
}

.Instalink{
height:30px;
width:auto;
display:block;
}


/* =================================================
   ABOUT / INTRO
================================================= */

.about-intro{
display:flex;
align-items:center;
justify-content:center;
gap:60px;

max-width:1200px;
margin:60px auto;

flex-wrap:wrap;
}

.about-image img{
width:100%;
max-width:500px;

border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

.about-text{
max-width:500px;

text-align:left;
font-size:18px;
line-height:1.6;
}


/* =================================================
   MITGLIEDER
================================================= */

/* Grid */

.members{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
gap:40px;

max-width:1200px;
margin:60px auto;
padding:0 20px;
}

/* Mitgliedskarte */

.member{
position:relative;
overflow:hidden;

border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,0.15);

cursor:pointer;
}

/* Bild */

.member img{
width:100%;
height:300px;

object-fit:cover;
display:block;

transition:transform 0.3s ease;
}

/* Name + Instrument */

.member-info{
position:absolute;
bottom:0;
left:0;

width:100%;
height:70px;

background:rgba(0,0,0,0.7);
color:white;

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;

text-align:center;
}

.member-info h3{
margin:0;
font-size:18px;
}

.instrument{
margin:2px 0 0 0;
font-size:14px;
}


.member:hover img{
transform:scale(1.05);
}


/* =================================================
   MEDIA / GALERIE
================================================= */

.media-page{
max-width:1300px;
margin:auto;
padding:100px 20px;
text-align:center;
}

.media-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(300px,1fr));
gap:40px;
margin-top:50px;
}

/* Karten */

.media-card{
background:white;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,0.15);
padding:15px;
}

.media-card h3{
margin:10px 0 5px 0;
}

.media-location{
color:#666;
font-size:14px;
margin-bottom:10px;
}

/* Vorschau */

.media-card summary{
list-style:none;
cursor:pointer;
position:relative;
}

.media-card summary img,
video{
width:100%;
height:auto;

object-fit:cover;
border-radius:10px;
}

.media-open{
position:absolute;
bottom:10px;
left:50%;

transform:translateX(-50%);

background:rgba(0,0,0,0.7);
color:white;

padding:6px 14px;
border-radius:20px;

font-size:13px;
}

summary::-webkit-details-marker{
display:none;
}

/* Galerie */

.media-gallery{
margin-top:15px;

display:grid;
grid-template-columns:repeat(auto-fit, minmax(120px,1fr));
gap:10px;
}

.media-gallery img,
.media-gallery video{
width:100%;
border-radius:8px;
}


/* =================================================
   ANFRAGE FORMULAR
================================================= */

.anfrage{
max-width:900px;
margin:120px auto 80px auto;

padding:40px;

background:white;
border-radius:14px;
box-shadow:0 15px 35px rgba(0,0,0,0.15);

text-align:left;
}

h1{
text-align:center;
margin-bottom:35px;
font-size:32px;
}

/* Formular Grid */

#anfrageForm{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

/* Labels */

#anfrageForm label{
font-size:14px;
font-weight:600;

margin-bottom:5px;
display:block;
}

/* Inputs */

#anfrageForm input,
#anfrageForm textarea{
width:100%;
padding:12px 14px;

border-radius:8px;
border:1px solid #ccc;

font-family:'Montserrat', sans-serif;
font-size:14px;

transition:all 0.2s ease;
}

/* Fokus Effekt */

#anfrageForm input:focus,
#anfrageForm textarea:focus{
outline:none;
border-color:#f9d342;
box-shadow:0 0 0 2px rgba(249,211,66,0.3);
}

/* Textarea */

#anfrageForm textarea{
grid-column:span 2;
resize:vertical;
}

/* Button */

#anfrageForm button{
grid-column:span 2;

padding:14px;

border:none;
border-radius:8px;

background:#f9d342;
color:#222;

font-size:16px;
font-weight:600;

cursor:pointer;
transition:all 0.25s ease;
}

#anfrageForm button:hover{
background:#ffeb99;

transform:translateY(-2px);
box-shadow:0 6px 15px rgba(0,0,0,0.2);
}


/* =================================================
   FOOTER
================================================= */

footer{
background-color:#222;
color:#fff;

padding:15px 20px;
text-align:center;
}

.footer-container{
max-width:1200px;
margin:auto;

display:flex;
flex-direction:column;
gap:15px;
}

.footer-contact a{
color:#f9d342;
text-decoration:none;
font-weight:bold;

transition:color 0.3s ease;
}

.footer-contact a:hover{
color:#ffeb99;
text-decoration:underline;
}

.footer-copy{
font-size:14px;
color:#aaa;
}

.footer-copy a{
color:#aaa;
text-decoration:none;
}

.footer-copy a:hover{
text-decoration:underline;
color:#f9d342;
font-weight:bold;
}

a:hover
   {
   text-decoration: underline;
   color:#f9d342;
   font-weight:bold;
   }



/* =================================================
   MEDIA QUERIES
================================================= */

@media (min-width:768px){

.footer-container{
flex-direction:row;
justify-content:space-between;
align-items:center;
}

}


@media (max-width:700px){
section{
padding:50px 15px;
}

nav ul{
flex-wrap:wrap;
gap:12px;
padding:10px;
}

nav a{
font-size:14px;
}

.hero{
height:auto;
min-height:100vh;
padding:40px 20px;
}

.logo{
width:95%;
max-width:500px;
}

.about-intro{
gap:30px;
margin:30px auto;
}

.about-text{
font-size:16px;
text-align:center;
}

.members{
grid-template-columns:1fr;
}

.member img{
height:240px;
}

.media-grid{
grid-template-columns:1fr;
}

#anfrageForm{
grid-template-columns:1fr;
}

#anfrageForm textarea,
#anfrageForm button{
grid-column:span 1;
}

.anfrage{
padding:30px 20px;
margin:80px 15px;
}

.footer-container{
flex-direction:column;
gap:10px;
}

.insta-text{
display:none;
}

}