 :root{--green:#234f43;--sage:#7fa08e;--light:#f7f2e8;--cream:#fffaf1;--gold:#c5a35a;--shadow:0 28px 70px rgba(35,79,67,.18)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fffdf8 0,#f7f2e8 45%,#edf3ec 100%);color:var(--green);font-family:"Cormorant Garamond",serif;overflow-x:hidden}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.card{position:relative;width:min(920px,100%);background:rgba(255,250,241,.92);border:1px solid rgba(197,163,90,.45);border-radius:34px;box-shadow:var(--shadow);padding:52px clamp(22px,5vw,76px);overflow:hidden;animation:rise .9s ease both}.card:before,.card:after{content:"";position:absolute;background:url('../assets/eucalyptus/branch.svg') center/contain no-repeat;width:260px;height:390px;opacity:.35;pointer-events:none}.card:before{left:-70px;top:-85px;transform:rotate(-18deg)}.card:after{right:-70px;bottom:-85px;transform:rotate(162deg)}.leaf{position:fixed;background:url('../assets/eucalyptus/branch.svg') center/contain no-repeat;width:330px;height:490px;opacity:.22;z-index:-1;filter:blur(.1px)}.leaf-left{left:-115px;top:35px;transform:rotate(-25deg)}.leaf-right{right:-120px;bottom:10px;transform:rotate(155deg)}.hero{text-align:center}.monogram{font-family:"Playfair Display",serif;letter-spacing:.18em;font-size:1.15rem;font-weight:700}.monogram span{color:var(--gold);letter-spacing:0}.date{font-size:1rem;margin-top:6px;letter-spacing:.16em}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.92rem;margin:42px 0 24px;color:#557667;position:relative;z-index:2}.hero h1{font-family:"Great Vibes",cursive;font-size:clamp(5.0rem,13vw,8.6rem);font-weight:400;line-height:.9;margin:0 0 12px;color:var(--green);text-shadow:0 2px 0 rgba(197,163,90,.18);position:relative;z-index:1}.subtitle{font-family:"Playfair Display",serif;font-size:clamp(1.4rem,4vw,2.1rem);margin:0 0 10px}.gold-line{width:150px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:28px auto}.intro{text-align:center;max-width:680px;margin:0 auto 26px}.story{font-size:1.35rem;line-height:1.6;color:#365d51}.intro h2{font-family:"Great Vibes",cursive;font-weight:400;font-size:clamp(2.8rem,7vw,4.4rem);margin:22px 0 8px}.message{max-width:720px;margin:0 auto;text-align:center;font-size:1.4rem;line-height:1.72}.message strong{color:#1f473c}.final-thanks{font-family:"Great Vibes",cursive;font-size:3.2rem;margin:24px 0 4px;color:var(--green)}.gallery-section{margin-top:48px;text-align:center}.gallery-section h3{font-family:"Playfair Display",serif;font-size:1.7rem;margin-bottom:4px}.hint{color:#6d8379}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:22px}.photo,.placeholder{aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid rgba(197,163,90,.42);background:#edf3ec;box-shadow:0 14px 35px rgba(35,79,67,.12)}.photo img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:transform .45s}.photo:hover img{transform:scale(1.04)}.placeholder{display:flex;align-items:center;justify-content:center;padding:18px;color:#698678;font-size:1.05rem;background:linear-gradient(135deg,#f8f3e9,#e9f1ea)}footer{text-align:center;margin-top:54px;padding-top:28px;border-top:1px solid rgba(197,163,90,.35)}footer p{font-size:1.25rem}footer h2{font-family:"Great Vibes",cursive;font-size:3.5rem;font-weight:400;margin:10px 0 0}.music{position:fixed;right:18px;top:18px;border:1px solid rgba(197,163,90,.55);background:rgba(255,250,241,.88);backdrop-filter:blur(8px);color:var(--green);border-radius:999px;padding:12px 18px;font-family:"Playfair Display",serif;box-shadow:0 12px 30px rgba(35,79,67,.14);cursor:pointer;z-index:10}.music.playing{background:var(--green);color:#fff}.hidden{display:none!important}.lightbox{position:fixed;inset:0;background:rgba(18,35,30,.86);display:flex;align-items:center;justify-content:center;z-index:30;padding:22px}.lightbox img{max-width:min(100%,1000px);max-height:86vh;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.4)}.lightbox button{position:absolute;right:24px;top:16px;background:transparent;color:#fff;border:0;font-size:3rem;cursor:pointer}@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@media(max-width:620px){.page{padding:18px 10px}.card{border-radius:24px;padding:38px 18px}.card:before,.card:after{width:180px;height:280px}.eyebrow{font-size:.74rem;letter-spacing:.18em;margin:34px 0 20px}.hero h1{font-size:clamp(4.6rem,22vw,6.2rem);line-height:.92}.message{font-size:1.18rem}.story{font-size:1.12rem}.music{top:auto;bottom:16px;right:16px}.gallery{grid-template-columns:1fr 1fr;gap:10px}footer h2{font-size:2.8rem}}

.guest-info{margin:0;color:#6f877b;font-size:1.05rem;letter-spacing:.04em}.placeholder{flex-direction:column;gap:8px}.placeholder small{display:block;font-size:.85rem;color:#7c9488}.guest-link{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background:#f3ead8;border:1px solid rgba(197,163,90,.4);border-radius:10px;padding:5px 8px;color:#234f43;white-space:nowrap}.links-page{align-items:flex-start}.links-card{text-align:left}.links-list{display:grid;gap:10px;margin-top:22px}.links-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid rgba(197,163,90,.35);border-radius:16px;background:rgba(255,255,255,.42)}.links-row a{color:#234f43;text-decoration:none;font-weight:700}.links-row a:hover{text-decoration:underline}@media(max-width:620px){.links-row{display:block}.guest-link{display:inline-block;margin-top:8px;white-space:normal}}


/* Version 1.3 – verbesserte persönliche Galerie */
.gallery-section{position:relative;padding:28px 0 6px}.gallery-section h3{font-size:clamp(1.9rem,4vw,2.5rem);color:var(--green);margin-top:0}.gallery-section .hint{font-size:1.12rem;margin:0 auto;max-width:560px}.gallery{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:stretch}.photo{opacity:0;animation:photoIn .65s ease forwards}.photo:nth-child(2){animation-delay:.08s}.photo:nth-child(3){animation-delay:.16s}.photo:nth-child(4){animation-delay:.24s}.photo:nth-child(5){animation-delay:.32s}.photo:nth-child(6){animation-delay:.40s}.photo img{background:#f6f0e6}.empty-gallery{grid-column:1/-1;border:1px solid rgba(197,163,90,.45);border-radius:28px;padding:34px 24px;background:linear-gradient(135deg,rgba(255,250,241,.92),rgba(235,245,237,.86));box-shadow:0 18px 48px rgba(35,79,67,.10);text-align:center}.empty-icon{font-size:2.2rem;margin-bottom:6px}.empty-gallery h4{font-family:"Playfair Display",serif;font-size:clamp(1.5rem,4vw,2rem);margin:6px 0 8px;color:var(--green)}.empty-gallery p{font-size:1.15rem;line-height:1.55;margin:8px auto;max-width:600px}.file-hint{font-size:.98rem!important;color:#6b8478}.file-hint strong{color:var(--green)}@keyframes photoIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:620px){.gallery{grid-template-columns:1fr;gap:14px}.empty-gallery{padding:28px 18px}.gallery-section{margin-top:38px}}


/* Version 1.4 – schöner Musik-Player */
.music-panel{position:fixed;right:18px;top:18px;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(197,163,90,.55);border-radius:999px;background:rgba(255,250,241,.92);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(35,79,67,.14);color:var(--green)}
.music-panel .music{position:static;border:0;background:transparent;box-shadow:none;backdrop-filter:none;border-radius:999px;padding:6px 8px;font-family:"Playfair Display",serif;color:var(--green);cursor:pointer;white-space:nowrap}
.music-panel .music.playing{background:var(--green);color:#fff;padding:8px 12px}
.volume-label{font-size:.82rem;color:#607b6f;white-space:nowrap}.volume{width:86px;accent-color:var(--green)}.music-status{font-size:.82rem;color:#6c8378;min-width:54px;text-align:left}
@media(max-width:620px){.music-panel{top:auto;bottom:14px;left:12px;right:12px;justify-content:center;border-radius:22px;flex-wrap:wrap}.volume{width:110px}.music-status{min-width:auto}.music-panel .music.playing{padding:7px 10px}}
