*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{background-color:#fdf6ee;color:#6b5744;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2{font-family:Playfair Display,Georgia,serif;color:#5a3e2b;font-weight:700}.wedding-page{max-width:700px;margin:0 auto;padding:0 1.5rem;text-align:center}.section-divider{width:60%;max-width:400px;height:1px;background-color:#c4956a;border:none;margin:3rem auto}.countdown{margin:.75rem 0 1.25rem}.countdown-units{display:flex;justify-content:center;gap:1.5rem}.countdown-unit{display:flex;flex-direction:column;align-items:center}.countdown-value{font-family:Playfair Display,Georgia,serif;font-size:1.4rem;font-weight:700;color:#5a3e2b;line-height:1}.countdown-label{font-size:.65rem;color:#8b7355;text-transform:uppercase;letter-spacing:1px;margin-top:.25rem}.hero{position:relative;padding:4rem 0 2rem;overflow:visible}.hero-label{font-size:.8rem;text-transform:uppercase;letter-spacing:3px;color:#8b7355;margin-bottom:.4rem}.hero h1{font-size:2.5rem;margin-bottom:1rem}.hero-date{font-weight:700;font-size:1.05rem;color:#5a3e2b;margin-bottom:.3rem}.hero-venue{font-size:1rem;color:#6b5744;margin-bottom:1.5rem}.rsvp-button{display:inline-block;padding:.65rem 2.5rem;background-color:#c4956a;color:#fff;text-decoration:none;border-radius:25px;font-size:.95rem;font-weight:500;transition:background-color .2s}.rsvp-button:hover{background-color:#b3845c}.falling-leaves{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.falling-leaf{position:absolute;top:-80px;animation:leafFall linear infinite;will-change:transform,top}.leaf-sway-1{animation:leafFall linear infinite,leafSway1 ease-in-out 4.5s infinite}.leaf-sway-2{animation:leafFall linear infinite,leafSway2 ease-in-out 5.5s infinite}.leaf-sway-3{animation:leafFall linear infinite,leafSway3 ease-in-out 3.8s infinite}@keyframes leafFall{0%{top:-10%;opacity:0}3%{opacity:.85}80%{opacity:.85}to{top:105%;opacity:0}}@keyframes leafSway1{0%,to{transform:translate(0) rotate(0) rotateY(0)}25%{transform:translate(40px) rotate(25deg) rotateY(60deg)}50%{transform:translate(-15px) rotate(-15deg) rotateY(180deg)}75%{transform:translate(30px) rotate(20deg) rotateY(280deg)}}@keyframes leafSway2{0%,to{transform:translate(0) rotate(0) rotateY(0)}20%{transform:translate(-35px) rotate(-30deg) rotateY(90deg)}40%{transform:translate(20px) rotate(15deg) rotateY(200deg)}60%{transform:translate(-25px) rotate(-20deg) rotateY(280deg)}80%{transform:translate(15px) rotate(30deg) rotateY(340deg)}}@keyframes leafSway3{0%,to{transform:translate(0) rotate(0) rotateY(0)}30%{transform:translate(25px) rotate(35deg) rotateY(120deg)}50%{transform:translate(-30px) rotate(-10deg) rotateY(200deg)}70%{transform:translate(40px) rotate(-25deg) rotateY(300deg)}}.personal-note{padding:1rem}.couple-photos{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem}.couple-photo{width:200px;height:260px;object-fit:cover;border-radius:12px;box-shadow:0 4px 16px #5a3e2b1f}.personal-note p{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:1.1rem;line-height:1.8;color:#6b5744;max-width:550px;margin:0 auto}.location{padding:1rem 0}.location h2{font-size:1.8rem;margin-bottom:1rem}.location-name{font-weight:700;color:#5a3e2b;font-size:1.05rem;margin-bottom:.25rem}.location-address{color:#6b5744;margin-bottom:1.5rem}.venue-photo{width:100%;max-width:500px;border-radius:8px;margin-bottom:1.5rem}.map-embed{width:100%;max-width:500px;height:250px;border:none;border-radius:8px}.faqs{padding:1rem 0}.faqs h2{font-size:1.8rem;margin-bottom:1.5rem}.faq-item{margin-bottom:1.25rem}.faq-question{font-weight:700;color:#5a3e2b}.faq-answer{color:#6b5744}.timeline{padding:1rem 0 4rem}.timeline h2{font-size:1.8rem;margin-bottom:1.5rem}.timeline-list{list-style:none;display:inline-block;text-align:left}.timeline-item{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:.75rem}.timeline-time{font-weight:700;color:#5a3e2b;min-width:50px;text-align:right}.timeline-event{color:#6b5744}.rsvp{padding:1rem 0 2rem}.rsvp h2{font-size:1.8rem;margin-bottom:1.5rem}.rsvp-form{max-width:400px;margin:0 auto;text-align:left}.rsvp-field{margin-bottom:1rem;position:relative}.rsvp-field label{display:block;font-weight:600;color:#5a3e2b;margin-bottom:.3rem;font-size:.9rem}.rsvp-field input[type=text]{width:100%;padding:.6rem .8rem;border:1px solid #d4c4b0;border-radius:8px;font-size:.95rem;background:#fff;color:#5a3e2b;outline:none;transition:border-color .2s}.rsvp-field input[type=text]:focus{border-color:#c4956a}.rsvp-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d4c4b0;border-top:none;border-radius:0 0 8px 8px;list-style:none;z-index:10;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #5a3e2b1a}.rsvp-dropdown li{padding:.5rem .8rem;cursor:pointer;font-size:.9rem;color:#5a3e2b;display:flex;justify-content:space-between}.rsvp-dropdown li:hover{background:#fdf6ee}.rsvp-dropdown-status{color:#8b7355;font-size:.8rem}.rsvp-toggle{display:flex;gap:.5rem}.rsvp-toggle-btn{flex:1;padding:.55rem;border:1px solid #d4c4b0;border-radius:8px;background:#fff;color:#6b5744;cursor:pointer;font-size:.9rem;transition:all .2s}.rsvp-toggle-btn.active{background:#c4956a;color:#fff;border-color:#c4956a}.rsvp-toggle-btn.decline{background:#b07a5a;border-color:#b07a5a}.rsvp-checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-weight:400!important}.rsvp-checkbox-label input[type=checkbox]{accent-color:#c4956a;width:16px;height:16px}.rsvp-submit{display:block;width:auto;min-width:200px;margin-left:auto;margin-right:auto;padding:.7rem 2rem;background:#c4956a;color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;margin-top:.5rem}.rsvp-submit:hover{background:#b3845c}.rsvp-page-header{padding:2.5rem 0 0;text-align:center}.rsvp-page-header h1{font-size:2rem;margin-bottom:.5rem}.back-link{display:block;text-align:left;margin-bottom:1rem;color:#8b7355;text-decoration:none;font-size:.9rem;transition:color .2s}.back-link:hover{color:#5a3e2b}.rsvp-hint{color:#8b7355;font-size:.9rem;margin-bottom:.75rem}.rsvp-dropdown-empty{padding:.6rem .8rem;color:#8b7355;font-size:.85rem;font-style:italic}.rsvp-selected-name{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #d4c4b0;border-radius:8px;padding:.6rem .8rem;margin-bottom:1rem}.rsvp-selected-name span{font-weight:600;color:#5a3e2b;font-size:1.05rem}.rsvp-change-name{background:none;border:none;color:#c4956a;cursor:pointer;font-size:.85rem;text-decoration:underline}.rsvp-change-name:hover{color:#5a3e2b}.rsvp-success{background:#e8f5e9;color:#2e7d32;padding:.6rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;max-width:400px;margin-left:auto;margin-right:auto}.heart-game-container{margin:0 auto;max-width:500px}.heart-game-hud{display:flex;justify-content:center;gap:2.5rem;margin-bottom:1rem}.heart-hud-item{display:flex;flex-direction:column;align-items:center}.heart-hud-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#8b7355}.heart-hud-value{font-family:Playfair Display,Georgia,serif;font-size:1.8rem;font-weight:700;color:#5a3e2b;line-height:1.2}.heart-game-area{position:relative;width:100%;height:420px;background:linear-gradient(180deg,#fef9f3,#f5ece2 60%,#ede0d2);border:1px solid #d4c4b0;border-radius:12px;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;box-shadow:inset 0 2px 12px #5a3e2b0f}.heart-target{position:absolute;background:none;border:none;cursor:pointer;padding:0;line-height:1;transition:transform .1s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.heart-target:active{transform:scale(1.3)}.heart-emoji{display:block;filter:drop-shadow(0 2px 4px rgba(196,149,106,.3))}.heart-leaderboard{padding:0 0 1rem}.heart-leaderboard h2{font-size:1.8rem;margin-bottom:1rem}.heart-leaderboard-list{list-style:none;max-width:400px;margin:0 auto}.heart-leaderboard-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:#fff;border:1px solid #e8ddd0;border-radius:8px;margin-bottom:.5rem;transition:transform .4s ease,box-shadow .4s ease,background-color .4s ease}.heart-leaderboard-item.heart-rank-changed{animation:rankPulse 1.8s ease}.heart-leaderboard-item.heart-current-player{border-color:#c4956a;background:#fef9f3}@keyframes rankPulse{0%{transform:scale(1);box-shadow:0 0 #c4956a00;background:#fff}15%{transform:scale(1.03);box-shadow:0 3px 16px #c4956a59;background:#fef3e8}50%{transform:scale(1.01);box-shadow:0 2px 8px #c4956a33;background:#fef9f3}to{transform:scale(1);box-shadow:0 0 #c4956a00;background:#fff}}.heart-rank{font-size:1.1rem;min-width:2rem;text-align:center;font-weight:700;color:#5a3e2b}.heart-player-name{flex:1;text-align:left;font-weight:600;color:#5a3e2b}.heart-player-score{font-family:Playfair Display,Georgia,serif;font-weight:700;font-size:1.1rem;color:#c4956a}.heart-finished{text-align:center}.heart-result-card{background:#fef9f3;color:#5a3e2b;border:1px solid #d4c4b0;padding:1rem 1.5rem;border-radius:8px;margin-bottom:.5rem;max-width:400px;margin-left:auto;margin-right:auto}.heart-result-score{font-family:Playfair Display,Georgia,serif;font-size:1.3rem;font-weight:700;color:#c4956a}.heart-name-entry{text-align:center;max-width:400px;margin:0 auto}.planner-stats{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.planner-stat{display:flex;flex-direction:column;align-items:center}.planner-stat-value{font-family:Playfair Display,Georgia,serif;font-size:1.6rem;font-weight:700;color:#5a3e2b;line-height:1.2}.planner-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#8b7355}.planner-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid #d4c4b0}.planner-tab{flex:1;padding:.6rem 1rem;background:none;border:none;border-bottom:2px solid transparent;color:#8b7355;font-size:.95rem;cursor:pointer;transition:all .2s}.planner-tab.active{color:#5a3e2b;border-bottom-color:#c4956a;font-weight:600}.planner-section{text-align:left;padding-bottom:3rem}.planner-add-row{display:flex;gap:.5rem;margin-bottom:.75rem}.planner-filter-row{display:flex;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap}.planner-filter-btn{background:transparent;border:1px solid #d4c5b0;color:#8b7355;padding:.3rem .75rem;border-radius:999px;font-size:.8rem;cursor:pointer;transition:all .2s}.planner-filter-btn:hover{border-color:#c4956a;color:#c4956a}.planner-filter-btn.active{background:#c4956a;border-color:#c4956a;color:#fff}.planner-input{flex:1;padding:.6rem .8rem;border:1px solid #d4c4b0;border-radius:8px;font-size:.95rem;background:#fff;color:#5a3e2b;outline:none;transition:border-color .2s}.planner-input:focus{border-color:#c4956a}.planner-add-btn{width:40px;height:40px;border:none;border-radius:8px;background:#c4956a;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;transition:background .2s;flex-shrink:0}.planner-add-btn:hover{background:#b3845c}.planner-guest-list,.planner-todo-list{list-style:none}.planner-guest-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;background:#fff;border:1px solid #e8ddd0;border-radius:8px;margin-bottom:.4rem}.planner-guest-info{flex:1;display:flex;align-items:baseline;gap:.5rem;min-width:0}.planner-guest-name{font-weight:600;color:#5a3e2b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-guest-status{font-size:.75rem;padding:.15rem .5rem;border-radius:10px;white-space:nowrap;flex-shrink:0}.planner-guest-status.attending{background:#e8f5e9;color:#2e7d32}.planner-guest-status.declined{background:#fbe9e7;color:#bf360c}.planner-guest-status.pending{background:#f5f0eb;color:#8b7355}.planner-guest-details{display:flex;gap:.3rem;flex-shrink:0}.planner-guest-tag{font-size:.7rem;background:#f5ece2;color:#8b7355;padding:.15rem .4rem;border-radius:6px;white-space:nowrap}.planner-guest-name-editable{cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .2s}.planner-guest-name-editable:hover{border-bottom-color:#c4956a}.planner-edit-input{flex:1;padding:.3rem .5rem;font-size:.95rem;min-width:0}.planner-delete-btn{background:none;border:none;color:#c4956a;font-size:1.2rem;cursor:pointer;padding:0 .3rem;line-height:1;opacity:.5;transition:opacity .2s;flex-shrink:0}.planner-delete-btn:hover{opacity:1}.planner-todo-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;background:#fff;border:1px solid #e8ddd0;border-radius:8px;margin-bottom:.4rem}.planner-todo-item.done{opacity:.5}.planner-todo-label{flex:1;display:flex;align-items:center;gap:.6rem;cursor:pointer;color:#5a3e2b;font-size:.95rem}.planner-todo-label input[type=checkbox]{accent-color:#c4956a;width:16px;height:16px;flex-shrink:0}.planner-todo-item.done .planner-todo-label span{text-decoration:line-through;color:#8b7355}.planner-empty{text-align:center;color:#8b7355;font-style:italic;padding:1.5rem 0}.budget-overview{background:#fff;border:1px solid #e8ddd0;border-radius:10px;padding:1rem;margin-bottom:1rem}.budget-overview-row{display:flex;justify-content:space-between;align-items:center;color:#5a3e2b;font-size:.95rem}.budget-total{font-weight:700;font-size:1.1rem}.budget-progress-bar{position:relative;height:8px;background:#f0e8df;border-radius:4px;margin:.6rem 0;overflow:hidden}.budget-progress-fill{position:absolute;top:0;left:0;height:100%;background:#c4956a;border-radius:4px;transition:width .3s}.budget-progress-actual{position:absolute;top:0;left:0;height:100%;background:#8b7355;border-radius:4px;transition:width .3s;opacity:.5}.budget-overview-details{font-size:.8rem;color:#8b7355;gap:.5rem;flex-wrap:wrap}.budget-over{color:#bf360c;font-weight:600}.budget-ok{color:#2e7d32}.budget-amount-input{max-width:120px;flex:0 0 auto}.budget-list{list-style:none}.budget-item{background:#fff;border:1px solid #e8ddd0;border-radius:8px;margin-bottom:.4rem;padding:.6rem .8rem}.budget-item.paid{opacity:.6}.budget-item-main{display:flex;align-items:center;gap:.5rem}.budget-item-check input[type=checkbox]{accent-color:#c4956a;width:16px;height:16px}.budget-item-info{flex:1;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0}.budget-item-name{font-weight:600;color:#5a3e2b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-item-planned{color:#8b7355;font-size:.9rem;white-space:nowrap;flex-shrink:0}.budget-item-actual{flex-shrink:0;min-width:80px;text-align:right}.budget-actual-display{color:#8b7355;font-size:.85rem;cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .2s}.budget-actual-display:hover{border-bottom-color:#c4956a}.budget-actual-input{width:90px;text-align:right;padding:.2rem .4rem;font-size:.85rem}.budget-item-bar{height:3px;background:#f0e8df;border-radius:2px;margin-top:.4rem;overflow:hidden}.budget-item-bar-fill{height:100%;background:#c4956a;border-radius:2px;transition:width .3s}@media(max-width:768px){.countdown-value{font-size:1.1rem}.hero h1{font-size:1.8rem}.falling-leaf:nth-child(n+12){display:none}.couple-photo{width:160px;height:210px}.personal-note p{font-size:1rem}.location h2,.faqs h2,.timeline h2{font-size:1.5rem}}@media(max-width:480px){.falling-leaf:nth-child(n+8){display:none}.hero h1{font-size:1.5rem}.hero{padding-top:2rem}.heart-game-area{height:350px}}.wedding-footer{text-align:center;padding:2rem 0 1rem;font-size:.85rem}.wedding-footer a{color:#a89279;text-decoration:none}.wedding-footer a:hover{text-decoration:underline}.impressum{max-width:600px;margin:0 auto;padding:3rem 1.5rem}.impressum h1{margin-bottom:2rem}.impressum h2{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem}.impressum p{margin-bottom:.75rem}
