/* Galerie Upload: Mobile optimiert */
.gallery-grid + form {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
}
.gallery-grid + form label {
	font-weight: 600;
	color: var(--aubergine);
	margin-bottom: 0.2rem;
}
.gallery-grid + form input[type="file"] {
	width: 100%;
	max-width: 320px;
	padding: 10px 0;
	border: 1px solid rgba(var(--aubergine-rgb),0.12);
	border-radius: 8px;
	background: white;
	color: var(--aubergine);
	font-size: 1rem;
}
.gallery-grid + form button {
	width: 100%;
	max-width: 320px;
}
@media (max-width: 600px) {
	.gallery-grid + form {
		padding: 0 1rem;
		gap: 0.7rem;
	}
	.gallery-grid + form input[type="file"],
	.gallery-grid + form button {
		max-width: 100%;
		font-size: 1.1rem;
	}
}
/* reCAPTCHA-Badge fix für mobile */
.grecaptcha-badge {
	position: fixed !important;
	bottom: 16px !important;
	right: 16px !important;
	z-index: 9999 !important;
	transform: scale(0.85);
}

@media (max-width: 600px) {
	.grecaptcha-badge {
		bottom: 8px !important;
		right: 8px !important;
		transform: scale(0.7);
	}
}
@media (max-width: 900px) {
	/* Upload-Link im mobilen Menü nur anzeigen, wenn Menü offen */
	.nav a[href="#upload"] { display: none !important; }
	.nav-links.open a[href="#upload"] { display: inline-block !important; }
}
@media (max-width: 900px) {
}
@media (max-width: 900px) {
	.nav-links.open a[href="#upload"] { display: none !important; }
}
/* Location Block: Text und Karte nebeneinander */
.location-block {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
	justify-content: center;
	margin-bottom: 2.5rem;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.location-block .location-text {
	flex: 1;
	text-align: left;
	color: var(--aubergine);
}
.location-block .location-map {
	width: 420px;
	flex: 0 0 420px;
}
@media(max-width:900px){
	.location-block {
		flex-direction: column;
		gap: 1.5rem;
		padding: 0 2rem;
	}
	.location-block .location-map {
		width: 100%;
		max-width: 100%;
	}
}
:root{
	--orange: #FF8800;
	--orange-rgb: 255,136,0;
	--lila: #B97A7A;
	--lila-rgb: 185,122,122;
	--pink: #F7C6A3;
	--pink-rgb: 247,198,163;
	--aubergine: #7C3F3A;
	--aubergine-rgb: 124,63,58;
	--creme: #FFF4EC;
	--creme-rgb: 255,244,236;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
	background: var(--creme);
	color:var(--aubergine);
	font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
	line-height:1.65;
	font-weight:400;
}
section{padding:6rem 10%;text-align:center;max-width:1100px;margin:0 auto}
h1{
	font-family:'Playfair Display', Georgia, serif;
	font-size:4.5rem;
	color:#FF69B4;
	font-weight:600;
	letter-spacing:-0.02em;
	margin-bottom:0.4rem;
	background: var(--pink);
	border-radius: 0;
	padding: 0.5em 0;
	display: block;
	width: 100vw;
	text-align: center;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}
h2{
	font-family:'Playfair Display', Georgia, serif;
	font-size:2.25rem;
	margin-bottom:1rem;
	color:#FF69B4;
	font-weight:500;
	background: var(--pink);
	border-radius: 8px;
	padding: 0.3em 0.7em;
	display: block;
	width: 100%;
	text-align: center;
}
/* Responsive Navigation */
.nav{position:fixed;top:0;width:100%;background:rgba(var(--creme-rgb),0.9);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0.5rem;padding:.9rem 1.25rem;backdrop-filter:blur(8px);box-shadow:0 6px 24px rgba(var(--aubergine-rgb),0.06);border-bottom:1px solid rgba(var(--aubergine-rgb),0.04);z-index:50}
.nav-toggle{display:none;background:none;border:none;flex-direction:column;gap:4px;cursor:pointer;padding:8px;margin-right:10px;z-index:1001}
.nav-toggle-bar{display:block;width:28px;height:3px;background:var(--orange);border-radius:2px;transition:.3s}
.nav-links{display:flex;align-items:center;gap:1rem;justify-content:flex-start;}
.nav-lang-switcher { position: static; margin-left: auto; display: flex; gap: 10px; align-items: center; }
.nav a{position:relative;text-decoration:none;color:var(--orange);font-weight:600;padding:8px 12px;border-radius:8px;display:inline-block;transition:color .18s,opacity .18s}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:-6px;height:3px;background:transparent;border-radius:4px;transition:background .22s,transform .22s;transform:scaleX(0)}
.nav a:hover{color: var(--aubergine);opacity: .95;}
.nav a:hover::after{background: linear-gradient(90deg, var(--aubergine), var(--aubergine));transform: scaleX(1);}
.nav .lang-btn{background:transparent;border:1px solid rgba(var(--aubergine-rgb),0.08);padding:6px 8px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.nav .lang-btn[data-lang="de"][aria-pressed="true"],
.nav .lang-btn[data-lang="lt"][aria-pressed="true"] {background: var(--orange);color: var(--creme);border-color: transparent;}
.nav .lang-btn[data-lang="lt"]:not([aria-pressed="true"]){background: transparent;color: var(--orange);border-color: rgba(var(--aubergine-rgb),0.08);}
.nav .lang-btn:hover,
.nav .lang-btn[data-lang="de"][aria-pressed="true"]:hover,
.nav .lang-btn[data-lang="lt"][aria-pressed="true"]:hover{background:var(--orange);color:white;border-color:transparent;box-shadow:0 6px 16px rgba(var(--aubergine-rgb),0.08);}
@media (max-width: 900px) {
	.nav{justify-content:space-between;}
	.nav-toggle{display:flex;}
	.nav-lang-switcher { position: absolute; top: 12px; right: 16px; z-index: 1101; gap: 8px; background: none; }
	.nav-links{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(var(--creme-rgb),0.98);flex-direction:column;align-items:center;justify-content:flex-start;gap:0.7rem;transform:translateY(-100%);transition:transform .35s cubic-bezier(.77,0,.18,1);z-index:1000;padding-top:80px;}
	.nav-links.open{transform:translateY(0);}
	.nav a{font-size:1.3rem;padding:10px 0;margin:0;}
	.nav .lang-btn{font-size:1.1rem;min-width:64px;margin:0 4px;}
	.nav a[href="#upload"] { display: none !important; }
	.nav-links.open a[href="#upload"] { display: inline-block !important; }
}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:start}
.gallery-grid a{display:block;overflow:hidden;border-radius:14px}
.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:14px;cursor:pointer;box-shadow:0 10px 24px rgba(var(--aubergine-rgb),0.06);transition:transform .45s,box-shadow .45s,filter .3s}
.gallery-grid img:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(var(--lila-rgb),0.12);filter:brightness(.98)} 
button,
input[type="submit"],
.rsvp-form button,
.contact-form button {
	background: var(--creme);
	color: var(--orange);
	border: none;
	padding: 14px 28px;
	border-radius: 999px;
	cursor: pointer;
	transition: transform .15s, filter .15s, box-shadow .15s, font-weight .15s;
	box-shadow: 0 8px 20px rgba(var(--aubergine-rgb),0.06);
	font-weight: 700;
}
button.programm-btn {
	background: var(--orange) !important;
	color: var(--creme) !important;
	}
	button.programm-btn:hover {
		background: var(--aubergine) !important;
		color: var(--creme) !important;
		box-shadow: 0 12px 30px rgba(var(--aubergine-rgb),0.10);
		transform: translateY(-2px);
	}
button:hover,
input[type="submit"]:hover,
.rsvp-form button:hover,
.contact-form button:hover,
button:hover {
	transform: translateY(-2px);
	filter: none;
	box-shadow: 0 12px 30px rgba(var(--aubergine-rgb),0.10);
	background: var(--aubergine) !important;
	color: var(--creme) !important;
}
/* give the hero CTA more breathing room from the heading */
#hero button{margin-top:2cm}
.fade{opacity:0;transform:translateY(40px);transition:1s;} 
.fade.visible{opacity:1;transform:none;} 
@media(max-width:768px){
	h1{font-size:2.8rem;}
	section{padding:4rem 5%;}
	#hero button{margin-top:1rem}
}

/* RSVP styles */
.rsvp-wrap{display:flex;gap:2rem;align-items:flex-start;justify-content:center;max-width:1000px;margin:0 auto;}
.rsvp-form{flex:1;display:flex;flex-direction:column;gap:.75rem;text-align:left;}
.rsvp-form label{font-weight:600;color:var(--aubergine);} 
.rsvp-form input[type="text"],.rsvp-form input[type="number"],.rsvp-form select,.rsvp-form textarea{width:100%;padding:10px;border:1px solid rgba(var(--aubergine-rgb),0.12);border-radius:8px;background:white;color:var(--aubergine);} 
.rsvp-form button{align-self:flex-start}
.rsvp-samples{width:320px;text-align:left;color:var(--aubergine);} 
.rsvp-samples h3{color:var(--lila);}
.sample-photos{display:flex;gap:8px;margin-top:8px;}
.sample-photos img{width:100px;height:70px;object-fit:cover;border-radius:8px;box-shadow:0 6px 18px rgba(var(--aubergine-rgb),0.06);} 
@media(max-width:900px){
  .rsvp-wrap{flex-direction:column;padding:0 2rem}
  .rsvp-samples{width:auto}
}

/* Location / map */
.location-wrap{display:block;max-width:1000px;margin:0 auto;padding-top:1rem}
.location-text{flex:1;text-align:left;color:var(--aubergine)}
.location-text h3{margin-top:0;color:var(--lila)}
.location-map{width:100%;max-width:600px;margin:0 auto 2rem auto;}
.location-map iframe{width:100%;height:280px;border:0;border-radius:12px;box-shadow:0 8px 24px rgba(var(--aubergine-rgb),0.08)}
.map-thumb img{display:block;width:200px;border-radius:12px;margin-bottom:12px;box-shadow:0 8px 20px rgba(var(--aubergine-rgb),0.08)}
@media(max-width:900px){
	.location-wrap{flex-direction:column;padding:0 2rem}
	.location-map{width:100%}
	.location-map iframe{height:220px}
}

/* Background panels (parallax / fade-between-sections) */
.bg-panel{position:relative;height:360px;overflow:hidden;display:block}
.bg-panel .bg{position:absolute;left:0;top:0;right:0;bottom:0;background-size:cover;background-position:center center;transform:translateY(0);will-change:transform,opacity;opacity:0.6;transition:opacity .6s ease,transform .6s ease}
.bg-panel.visible .bg{opacity:1}
.bg-panel::after{content:'';position:absolute;left:0;top:0;right:0;bottom:0;background:linear-gradient(rgba(255,244,236,0.0), rgba(46,20,55,0.06));pointer-events:none}
@media(max-width:900px){
  .bg-panel{height:220px}
}

/* Organisation */
.org-wrap{display:flex;flex-direction:column;gap:1.25rem;align-items:center;justify-content:center;max-width:900px;margin:0 auto;text-align:center}
.org-photo{width:320px;height:320px;object-fit:cover;border-radius:12px;box-shadow:0 12px 24px rgba(var(--aubergine-rgb),0.10)}
.org-text p{margin:.35rem 0}
@media(max-width:700px){
	.org-wrap{padding:0 1.5rem}
}

/* Contact / FAQ */
.contact-wrap{display:flex;gap:2rem;align-items:flex-start;justify-content:center;max-width:1000px;margin:0 auto}
.contact-form{flex:1;display:flex;flex-direction:column;gap:.75rem;text-align:left}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{width:100%;padding:10px;border:1px solid rgba(var(--aubergine-rgb),0.12);border-radius:8px;background:white;color:var(--aubergine)}
.contact-info{width:320px;color:var(--aubergine);text-align:left}
.contact-info h3,
.rsvp-samples h3,
.location-text h3 {
	color: var(--aubergine);
}
.contact-info details{background:rgba(var(--creme-rgb),0.6);padding:10px;border-radius:8px;margin-bottom:8px}
@media(max-width:900px){
  .contact-wrap{flex-direction:column;padding:0 2rem}
  .contact-info{width:auto}
}
