@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Lora:wght@400;500;600&family=Great+Vibes&display=swap');

*{
box-sizing:border-box;
}

body{
position: relative;
margin:0;
padding:0 0 40px 0;
font-family:'Lora',serif;
min-height:100vh;
background:#efd0da;
color:#000;
}

body,
p,
li,
a,
label,
input,
textarea,
select,
button{
font-family:'Lora',serif;
color:#000;
}

/* STARTSEITE HINTERGRUND */
.start-bg{
background:#efd0da url("Ponyhof.jpg") center center / cover no-repeat fixed;
}

/* HEADER STARTSEITE */
.start-header{
text-align:center;
padding:20px 20px 15px 20px;
background:#efd0da;
}

.header-wappen-zeile{
display:flex;
align-items:center;
justify-content:center;
gap:60px;
}

.header-wappen{
width:190px;
height:190px;
object-fit:contain;
opacity:0.95;
mix-blend-mode:multiply;
}

.header-text{
text-align:center;
margin-bottom:4px;
line-height:0.95;
}

.header-text h1,
.seitenkopf h1{
font-family:'Cormorant Garamond',serif;
font-style:italic;
font-weight:700;
letter-spacing:1px;
font-size:52px;
color:#000;
margin:0;
}

.header-text p,
.seitenkopf p{
font-family:'Cormorant Garamond',serif;
font-size:24px;
font-style:italic;
color:#000;
margin-top:8px;
margin-bottom:0;
}

/* UNTERSEITEN HEADER */
.seitenkopf{
text-align:center;
background:#efd0da;
padding:18px 20px 8px 20px;
margin-bottom:10px;
}

/* STARTSEITE KACHELN */
.startseite{
max-width:1100px;
margin:40px auto;
padding:35px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.start-kachel{
display:block;
text-decoration:none;
color:#000;
background:#fffaf6;
border:2px solid #dca9ba;
border-radius:22px;
padding:35px 25px;
text-align:center;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
transition:0.2s;
}

.start-kachel:hover{
transform:scale(1.03);
background:#f4dbe3;
}

.start-kachel h2,
.pferd h2,
.pferd-box h3,
.kontakt-box h2,
.kontakt-karte h3,
.formular-box h2,
.accordion{
font-family:'Cormorant Garamond',serif;
font-weight:700;
font-size:34px;
letter-spacing:0.5px;
color:#000;
}

.start-kachel h2{
margin-top:0;
}

.start-kachel p,
.pferd p,
.kontakt-karte p,
.formular-box p,
.panel p{
font-family:'Lora',serif;
font-size:19px;
line-height:1.8;
color:#000;
}

/* NEUIGKEITEN */
.neuigkeiten-wrapper{
max-width:1100px;
margin:10px auto 30px auto;
padding:0 35px;
}

.neuigkeiten-kachel{
width:66%;
margin:0 auto;
padding:12px 20px;
background:#fffaf6;
border:2px solid #dca9ba;
border-radius:18px;
text-align:center;
font-family:'Lora',serif;
font-size:18px;
font-weight:500;
color:#000;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
transition:0.2s;
}

.neuigkeiten-kachel:hover{
transform:translateY(-3px);
background:#f4dbe3;
}

/* ZURÜCK LINK */
.zurueck{
display:inline-block;
margin:30px;
text-decoration:none;
font-weight:bold;
color:#000;
}

/* PFERDE */
.pferde-box{
background:transparent;
padding:0;
margin:-15px auto 55px auto;
max-width:1000px;
box-shadow:none;
border:none;
text-align:center;
}

.pferde-box h3{
font-family:'Cormorant Garamond',serif;
font-size:34px;
font-weight:700;
letter-spacing:0.5px;
color:#000;
text-align:center;
}

.pferd{
background:#fffaf6;
border:2px solid #dca9ba;
border-radius:20px;
padding:35px 45px;
margin:0 auto 55px auto;
max-width:820px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

.pferd h2{
text-align:center;
}

.pferd p,
.pferde-box p{
font-size:19px;
line-height:1.8;
max-width:850px;
margin:0 auto;
text-align:center;
color:#000;
}

.pferd img{
display:block;
width:100%;
max-width:100%;
height:420px;
object-fit:cover;
object-position:center;
margin:30px auto 35px auto;
border-radius:16px;
box-shadow:0 8px 25px rgba(0,0,0,0.18);
cursor:pointer;
transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.pferd img:hover{
transform:translateY(-6px) scale(1.03);
box-shadow:0 12px 24px rgba(0,0,0,0.25);
}

/* FORMULAR / KONTAKT */
.formular-box,
.kontakt-karte{
max-width:800px;
margin:40px auto;
background:#fffaf6;
padding:30px;
border-radius:20px;
border:2px solid #dca9ba;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

.kontakt-box{
max-width:900px;
margin:40px auto;
padding:20px 45px;
}

.kontakt-box h2,
.kontakt-karte h3,
.formular-box h2{
font-family:'Cormorant Garamond',serif;
font-size:32px;
font-weight:600;
color:#000;
text-align:center;
}

.kontakt-karte p,
.formular-box p{
font-size:18px;
line-height:1.8;
text-align:center;
color:#000;
}

/* DANKEBOX */
.danke-box{
display:none;
max-width:700px;
margin:50px auto;
background:#fffaf6;
padding:40px;
border-radius:22px;
border:2px solid #dca9ba;
text-align:center;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

.danke-box h2{
font-family:'Cormorant Garamond',serif;
font-size:40px;
color:#000;
margin-bottom:20px;
}

.danke-box p{
font-size:20px;
line-height:1.8;
color:#000;
}

.danke-bild{
width:100%;
max-width:400px;
display:block;
margin:0 auto 20px auto;
border-radius:12px;
}

/* FORMULAR */
form{
display:flex;
flex-direction:column;
gap:12px;
}

form label{
font-weight:bold;
color:#000;
}

input,
textarea,
select{
padding:12px;
border:1px solid #d19aaa;
border-radius:10px;
font-size:16px;
font-family:'Lora',serif;
background:white;
color:#000;
}

button{
margin-top:20px;
padding:14px;
border:none;
border-radius:12px;
background:#7a3d59;
color:white;
font-size:18px;
font-weight:bold;
cursor:pointer;
}

button:hover{
background:#5f2d44;
}

/* LEISTUNGEN ACCORDION */
.accordion{
width:100%;
background:#fffaf6;
border:2px solid #dca9ba;
border-radius:18px;
padding:24px 30px;
margin-bottom:18px;
font-family:'Cormorant Garamond',serif;
font-size:34px;
font-weight:700;
color:#000;
text-align:center;
cursor:pointer;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
transition:0.2s;
}

.accordion:hover,
.accordion.aktiv{
background:#f4dbe3;
}

.panel{
background:#fffaf6;
max-height:0;
overflow:hidden;
transition:max-height 0.35s ease;
border-radius:0 0 18px 18px;
margin-top:-10px;
margin-bottom:28px;
box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.panel p{
padding:30px 45px;
text-align:center;
line-height:1.8;
font-size:19px;
margin:0;
color:#000;
}

.preis{
display:inline-block;
background:#7a3d59;
color:white;
padding:10px 18px;
border-radius:999px;
font-weight:bold;
margin:6px 0;
}

.hinweis{
display:inline-block;
background:#f4dbe3;
color:#000;
padding:8px 16px;
border-radius:999px;
font-weight:bold;
margin-top:6px;
}

/* GALERIE */
.galerie{
max-width:1400px;
margin:50px auto;
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:30px;
padding:20px;
}

.galerie img{
width:400px;
height:300px;
object-fit:cover;
border-radius:20px;
box-shadow:0 6px 18px rgba(0,0,0,0.15);
cursor:pointer;
transition:0.2s;
}

.galerie img:hover{
transform:scale(1.03);
}

/* LIGHTBOX */
#lightbox{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.85);
justify-content:center;
align-items:center;
z-index:9999;
cursor:pointer;
padding:25px;
}

#lightbox img,
#lightbox-img{
max-width:90%;
max-height:90%;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.5);
}

/* INSTAGRAM */
.insta-link{
display:inline-block;
min-width:320px;
margin:10px auto;
padding:14px 26px;
background:#7a3d59;
color:white;
text-decoration:none;
border-radius:30px;
font-weight:bold;
transition:0.2s;
}

.insta-link:hover{
background:#5f2d44;
transform:scale(1.03);
}

.insta-box{
max-width:1000px;
margin:50px auto;
padding:35px 0;
text-align:center;
}

.insta-box h2{
font-family:'Cormorant Garamond',serif;
font-size:42px;
margin-bottom:30px;
}

.insta-kacheln{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
max-width:1100px;
margin:0 auto;
}

.insta-card{
display:block;
text-decoration:none;
background:#fffaf6;
border:2px solid #dca9ba;
border-radius:22px;
padding:35px 25px;
color:#000;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
transition:0.2s;
max-width:500px;
width:100%;
}

.insta-card:hover{
transform:scale(1.03);
background:#f4dbe3;
}

.insta-card h3{
font-family:'Cormorant Garamond',serif;
font-size:32px;
margin-top:0;
margin-bottom:10px;
}

.insta-card p{
font-size:18px;
margin:0;
}

/* FOOTER */
footer{
position: absolute;
bottom: 0;
width: 100%;
margin-top:0;
padding:35px 25px;
text-align:center;
font-size:16px;
color:#000;
background:#efd0da;
}

/* HANDY OPTIMIERUNG */
@media(max-width:800px){

body.start-bg{
background:
linear-gradient(to bottom, rgba(239,208,218,0) 0%, rgba(239,208,218,0) 55%, #efd0da 82%, #efd0da 100%),
url("Ponyhof.jpg") center top / cover no-repeat scroll;
}

.header-wappen-zeile{
gap:14px;
}

.header-wappen{
width:115px;
height:115px;
}

.header-text h1,
.seitenkopf h1{
font-size:48px;
line-height:1;
}

.header-text p,
.seitenkopf p{
font-size:22px;
}

.startseite{
grid-template-columns:1fr;
padding:28px;
margin:28px auto;
gap:28px;
height: 50vh;
}

.start-kachel{
padding:44px 30px;
max-height: 250px;
}

.start-kachel h2{
font-size:40px;
}

.start-kachel p{
font-size:22px;
line-height:1.75;
}

.neuigkeiten-wrapper{
padding:0 25px;
}

.neuigkeiten-kachel{
width:100%;
font-size:22px;
padding:18px 22px;
}

.pferde-box{
padding:0 20px;
}

.pferd,
.formular-box,
.kontakt-karte{
margin-left:0;
margin-right:0;
padding:32px 24px;
}

.pferd h2,
.kontakt-karte h3,
.formular-box h2,
.accordion{
font-size:38px;
}

.pferd p,
.kontakt-karte p,
.formular-box p,
.panel p{
font-size:21px;
line-height:1.85;
}

.pferd img{
height:300px;
}

input,
textarea,
select{
font-size:19px;
padding:16px;
}

button{
font-size:21px;
padding:17px;
}

.insta-box{
padding:25px 18px;
margin:40px auto;
}

.insta-box h2{
font-size:42px;
}

.insta-card h3{
font-size:36px;
}

.insta-card p{
font-size:21px;
}

footer{
font-size:19px;
padding:36px 20px;
background:#efd0da;
}

}
