/* Honeypot unsichtbar positionieren */
.hp-field {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

@font-face{font-family:"KG Love Molly";src:url("assets/fonts/KGLoveMolly.woff2") format("woff2"),url("assets/fonts/KGLoveMolly.ttf") format("truetype");font-display:swap}@font-face{font-family:"Betterlett";src:url("assets/fonts/Betterlett.woff2") format("woff2"),url("assets/fonts/Betterlett.ttf") format("truetype");font-display:swap}:root{--bg:#fdf6ef;--flower:#f7ebd9;--hand:#cdbaa5;--rosy:#9b8384;--text:#8c7778;--card:rgba(253,246,239,.82);--white:#fffaf6;--shadow:0 24px 60px rgba(155,131,132,.16);--script:Betterlett,"Segoe Script","Brush Script MT",cursive;--display:"KG Love Molly","Amatic SC","Trebuchet MS",sans-serif;--body:"KG Love Molly","Trebuchet MS",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:clamp(0.9rem,0.8vw + 0.6rem,1.1rem);line-height:1.38;overflow-x:hidden}.skip-link{position:absolute;left:-999px;top:0;background:var(--rosy);color:white;padding:.7rem 1rem;z-index:20}.skip-link:focus{left:1rem;top:1rem}.topnav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:center;gap:.4rem;padding:.8rem;background:linear-gradient(to bottom,rgba(253,246,239,.96),rgba(253,246,239,.58),transparent);backdrop-filter:blur(4px)}.topnav a{color:var(--rosy);text-decoration:none;padding:.45rem .75rem;border-radius:999px;font-size:1rem}.topnav a:hover,.topnav a:focus{background:var(--flower)}.hero{min-height:100svh;display:grid;place-items:center;position:relative;isolation:isolate;padding:6rem 1rem 3rem}.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,var(--flower),transparent);opacity:.33;z-index:-2}
.hero-card{text-align:center;max-width:760px;padding:clamp(2.2rem,7vw,5rem);border-radius:48px;background:var(--card);box-shadow:var(--shadow);border:1px solid rgba(247,235,217,.8)}.scriptline,.names,h2{font-family:var(--script);font-weight:400;color:var(--hand)}.scriptline{font-size:clamp(1.7rem,4vw,3.2rem);margin:0 0 1.6rem}


.hero h1 {
  font-family: var(--display);
  font-weight: 400;
  color: var(--rosy);
  font-size: clamp(3.4rem, 10vw, 6.8rem);
  line-height: 1.1; /* Leicht erhöht, damit sich die 3 Zeilen nicht überschneiden */
  letter-spacing: .01em;
  margin: .1em 0;
}

.hero h1 span {
  display: block;
  font-size: .38em; /* "zu unserer" dezent kleiner */
  line-height: 1.3;
  color: var(--text);
  margin: .2em 0;
}


.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--rosy);color:#fffaf6;text-decoration:none;padding:.85rem 1.45rem;font-family:var(--body);font-size:1.05rem;cursor:pointer;box-shadow:0 12px 28px rgba(155,131,132,.22)}.button:hover,.button:focus{transform:translateY(-1px);filter:saturate(1.06)}.flower,.decor{position:absolute;pointer-events:none;user-select:none}.flower-left{left:-4.5rem;bottom:4rem;width:min(45vw,360px);opacity:.45}.flower-right{right:-1.8rem;bottom:2rem;width:min(32vw,240px);opacity:.6}.section{position:relative;padding:clamp(4rem,9vw,8rem) 1rem}.content-narrow{max-width:820px;margin:auto;text-align:center}.lead{font-size:1.6em}.date-box{display:grid;gap:.05rem;place-items:center;margin:2.5rem auto;color:var(--hand)}.date-box span{font-size:clamp(2.9rem,8vw,5.6rem);line-height:.9}.date-box strong{font-weight:400;font-size:clamp(2.5rem,7vw,5rem);line-height:.9}.question{font-size:1.35em;color:var(--rosy)}.decor-couple{right:5vw;top:2rem;width:min(34vw,260px);opacity:.22}.quote{text-align:center;min-height:48svh;display:grid;place-items:center;align-content:center}.quote img{width:min(34vw,210px);opacity:.8}.quote p{font-family:var(--script);font-size:clamp(2rem,5vw,4rem);color:var(--hand);line-height:1.1;margin:1rem 0 0;transform:rotate(-6deg)}.timeline{text-align:center;background:rgba(247,235,217,.32)}h2{font-size:clamp(3.7rem,10vw,7.5rem);line-height:.85;margin:0 0 2.5rem}.timeline-list{list-style:none;margin:0 auto;padding:0;max-width:760px}.timeline-list li{display:grid;gap:.25rem;padding:1.15rem .5rem;border-bottom:1px solid rgba(205,186,165,.36)}.timeline-list time{font-size:1.12em;color:var(--rosy)}.timeline-list span{font-size:1.06em}.bottom{margin-top:2.4rem;font-size:clamp(1.7rem,4vw,3rem)}.decor-flower{right:3vw;top:4rem;width:min(26vw,190px);opacity:.22}.places h2,.rsvp h2{text-align:center}.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;max-width:1180px;margin:auto}.place-card,.form-card{background:rgba(255,250,246,.72);border:1px solid rgba(247,235,217,.92);box-shadow:var(--shadow);border-radius:34px;padding:1.25rem}.place-card h3{margin:.2rem 0 .6rem;color:var(--rosy);font-weight:400;font-size:1.45em}.place-card p{min-height:5.3rem;margin:.2rem 0 1rem}.map-wrap{aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:var(--flower);border:1px solid rgba(205,186,165,.4)}.map-wrap iframe{width:100%;height:100%;border:0}.map-link{display:inline-block;margin-top:.8rem;color:var(--rosy)}.rsvp{min-height:80svh;display:grid;place-items:center}.form-card{width:min(850px,100%);padding:clamp(1.3rem,4vw,3rem);position:relative}.form-card h2{margin-bottom:.5rem}.notice{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.88rem;line-height:1.45;background:var(--flower);color:#746262;padding:1rem;border-radius:20px;margin:1rem 0 1.5rem}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;color:var(--rosy)}input,select,textarea{width:100%;border:1px solid rgba(205,186,165,.75);background:#fffaf6;color:#746262;border-radius:18px;padding:.85rem 1rem;font:1rem system-ui,-apple-system,Segoe UI,sans-serif}textarea{resize:vertical}.form-status{min-height:1.5em;color:var(--rosy);margin:.2rem 0 0}.decor-person-left{left:5vw;bottom:3rem;width:min(24vw,160px);opacity:.24}.decor-person-right{right:6vw;top:7rem;width:min(23vw,150px);opacity:.24}.footer{text-align:center;padding:3rem 1rem;color:var(--hand)}.footer a{color:var(--rosy)}@media (max-width:900px){.place-grid{grid-template-columns:1fr}.place-card p{min-height:0}.flower-left{left:-7rem;width:70vw}.flower-right{right:-4rem;width:47vw}.decor-couple,.decor-person-left,.decor-person-right{display:none}.topnav{gap:.1rem;overflow-x:auto;justify-content:flex-start}.hero-card{border-radius:34px}.section{padding:4rem 1rem}.map-wrap{aspect-ratio:1.25}}@media (max-width:520px){body{font-size:1.08rem}.topnav a{font-size:.92rem;padding:.4rem .58rem}.hero{padding-top:5rem}.hero-card{padding:2rem 1.1rem}.hero h1{font-size:4.3rem}.names{font-size:2.8rem}.scriptline{font-size:1.9rem}.flower-left{bottom:8rem;opacity:.26}.flower-right{opacity:.34}.quote{min-height:40svh}.form-card{border-radius:26px}.place-card{border-radius:26px}.button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover,.button:focus{transform:none}}

/* Stellt sicher, dass das Menü immer über allen Abschnitten liegt */
.topnav {
  z-index: 1000 !important;
}

/* Verhindert, dass der Ziel-Inhalt unter der fixierten Menüleiste verschwindet */
.section,
.hero {
  scroll-margin-top: 70px;
}

/* Tischplan im Hero: Bild zentriert und auf die Kartenbreite begrenzt */
.hero-card{width:min(760px,100%)}
.tischplan-link{display:block}
.tischplan-link img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:20px}

/* Sitzplan: Einzelbilder untereinander */
.sitzplan h2{text-align:center}
.sitzplan-list{display:grid;gap:1.5rem;max-width:760px;margin:auto}
.sitzplan-list img{display:block;width:100%;height:auto;border-radius:28px;box-shadow:var(--shadow)}
