
*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f6efe7;color:#2e2a25}
.hero{position:relative;min-height:86vh;overflow:hidden;display:grid;place-items:center;text-align:center;color:white}
.hero::before{content:"";position:absolute;inset:-20px;background-image:linear-gradient(rgba(32,22,14,.25),rgba(32,22,14,.58)),url("verlobung-hintergrund.jpeg");background-size:cover;background-position:center;filter:blur(5px);transform:scale(1.05);z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.10),rgba(0,0,0,.22));z-index:1}
.hero-content{position:relative;z-index:2;padding:34px 28px;border-radius:28px;background:rgba(255,255,255,.13);backdrop-filter:blur(7px);border:1px solid rgba(255,255,255,.28);box-shadow:0 24px 80px rgba(0,0,0,.22)}
.overline{text-transform:uppercase;letter-spacing:.22em;font-weight:700}
.overline-dark{text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#8d6b4d;font-size:.85rem}
.hero h1{font-family:Georgia,serif;font-size:clamp(3rem,8vw,7rem);margin:0;text-shadow:0 3px 20px rgba(0,0,0,.35)}
.date{font-size:clamp(1.2rem,3vw,2rem)}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:12px;margin-top:24px}
.countdown div{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.28);border-radius:18px;padding:16px 10px}
.countdown span{display:block;font-size:clamp(1.7rem,4vw,3rem);font-weight:800}
.countdown small{text-transform:uppercase;letter-spacing:.08em}
main{max-width:1100px;margin:-45px auto 0;padding:0 16px 50px;position:relative;z-index:3}
.card{background:rgba(255,255,255,.93);border-radius:24px;padding:clamp(20px,4vw,36px);margin-bottom:22px;box-shadow:0 18px 45px rgba(80,52,27,.12);border:1px solid rgba(141,107,77,.14)}
h2,h3{font-family:Georgia,serif}
label{display:block;font-weight:700;margin:16px 0}
input,select{width:100%;padding:13px;margin-top:7px;border-radius:14px;border:1px solid #d9c8b6;font:inherit;background:white}
button{border:0;border-radius:999px;background:#8d6b4d;color:white;padding:12px 18px;font-weight:800;cursor:pointer}
button:hover{background:#654832}
button.secondary{background:#8f8a84}
button.danger{background:#a33b3b}
.hidden{display:none}
.hint{color:#766d63}
.radio-group,.sleep-grid label{background:#fbf7f1;border:1px solid #ead9c6;border-radius:18px;padding:15px}
.sleep-grid{display:grid;gap:12px}
.sleep-grid span,.sleep-grid small{display:block;color:#766d63;margin-top:4px;line-height:1.4}
.planwagen-special{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,231,215,.95))}
.planwagen-special ul{padding-left:20px;line-height:1.8}
.planwagen-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.planwagen-photos img,.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:20px;border:1px solid #d8c5af;box-shadow:0 12px 28px rgba(80,52,27,.12)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pic{height:260px;border-radius:20px;background-size:cover;background-position:center;border:1px solid #d8c5af}
.pic.camping{background:linear-gradient(135deg,#6f7b52,#d2c088)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.stats div{background:#fbf7f1;border-radius:18px;padding:16px}
.stats strong{font-size:2rem;display:block}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:white}
th,td{border-bottom:1px solid #eee0d1;padding:10px;text-align:left;vertical-align:middle}
th{background:#f4e7d7}
.action-buttons{display:flex;gap:8px;flex-wrap:wrap}
.edit-form{margin-top:16px;padding:18px;border-radius:20px;background:#fbf7f1;border:1px solid #ead9c6}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:860px){.planwagen-special,.gallery-grid,.stats{grid-template-columns:1fr}.planwagen-photos{grid-template-columns:1fr}.countdown{grid-template-columns:repeat(2,1fr)}main{margin-top:-25px}}


/* Bilder in den Auswahlkarten */
.sleep-grid label {
  overflow: hidden;
}

.sleep-grid label img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 12px;
  border: 1px solid #d8c5af;
}

.gallery .hint {
  margin-top: -8px;
  margin-bottom: 24px;
}

.gallery-grid.location-grid {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-grid img {
  display: block;
}

@media(max-width:860px){
  .gallery-grid.location-grid{grid-template-columns:1fr}
}
