.App{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.card{padding:2rem;margin:1rem 0;border-radius:8px;background-color:#242424;box-shadow:0 2px 4px #0000001a}.card h2{margin-top:0;color:#646cff}.card ul{list-style:none;padding:0}.card li{padding:.5rem;margin:.5rem 0;background-color:#333;border-radius:4px}.info{margin-top:2rem;padding:1rem;background-color:#1a1a1a;border-radius:8px;font-size:.9rem;color:#888}.wedding-page{width:100%;max-width:100%;margin:0;padding:0;text-align:center}.deco-flower{position:absolute;width:220px;pointer-events:none;z-index:1;mix-blend-mode:multiply;opacity:.75}.deco-flower--f1{left:30px;bottom:30px;transform:rotate(20deg)}.deco-flower--f2{left:10px;bottom:20px;transform:scaleX(1) rotate(-20deg)}.deco-flower--f3{left:-30px;top:10px;transform:scale(.5) rotate(0)}.deco-flower--r2{right:-65px;top:0;transform:scaleX(-1) rotate(30deg)}@media(max-width:768px){.deco-flower{width:120px}.deco-flower--f1{left:-10px}.deco-flower--f2{right:-41px}.deco-flower--f3{left:-15px}.deco-flower--r2{right:-40px}}.hero{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.hero-overlay{position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.6)}.hero-title{font-family:Pinyon Script,cursive;font-size:clamp(2rem,8vw,4rem);font-weight:400;margin:0 0 .5rem;letter-spacing:.05em;color:#0e4d54}.hero-date{font-family:Spectral,serif;font-size:1.5rem;font-weight:400;margin:0;letter-spacing:.1em;color:#80a291}.welcome-section{min-height:100vh;padding:3rem 2rem;display:flex;background:#fff;justify-content:center;align-items:center;position:relative;overflow:hidden}.welcome-content{max-width:1000px;display:flex;flex-direction:column;align-items:center}.welcome-image-wrapper{width:100%;max-width:600px;border-radius:8px;margin-bottom:2rem;overflow:hidden;-webkit-mask-image:radial-gradient(circle at center,black 15%,transparent 55%);mask-image:radial-gradient(circle at center,black 15%,transparent 55%)}.welcome-image{width:100%;display:block;transform:scale(2.5);transform-origin:45% center}.welcome-text{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);font-weight:400;color:#80a291;line-height:1.8;letter-spacing:.03em;margin:0}@media(min-width:769px){.welcome-content{flex-direction:row;gap:2rem;align-items:center}.welcome-image-wrapper{flex:1;max-width:800px;margin-bottom:0}.welcome-text{flex:1}}.countdown-section{min-height:auto;padding:3rem 2rem;background-color:#fff;overflow:hidden}.countdown-items{display:flex;justify-content:center;gap:clamp(1rem,4vw,3rem)}.countdown-item{display:flex;flex-direction:column;align-items:center}.countdown-number{font-family:Spectral,serif;font-size:clamp(1.8rem,5vw,3.5rem);font-weight:400;color:#80a291;line-height:1}.countdown-label{font-family:Spectral,serif;font-size:1rem;color:#80a291;letter-spacing:.1em;margin-top:.5rem}.navbar-sentinel{height:0}.navbar{display:flex;align-items:center;background:#80a291;z-index:100;padding:.75rem 1rem}.navbar-icon{height:36px;width:auto;flex-shrink:0;cursor:pointer}.navbar--sticky{position:sticky;top:0}.navbar-list{display:flex;justify-content:center;gap:1.5rem;list-style:none;margin:0;padding:0;flex:1;flex-wrap:wrap}.navbar-link{background:none;border:none;color:#0e4d54;font-family:Spectral,serif;cursor:pointer;font-size:.95rem;padding:.25rem .5rem;opacity:.8;transition:opacity .2s}.navbar-link:hover{opacity:1}.hamburger-wrapper{display:none;position:relative;margin-left:auto}.hamburger{display:flex;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:.5rem}.hamburger-line{display:block;width:24px;height:2px;background:#0e4d54;transition:transform .3s,opacity .3s}.hamburger--open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger--open .hamburger-line:nth-child(2){opacity:0}.hamburger--open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-list--mobile{display:none;position:absolute;top:100%;right:0;flex-direction:column;background:#80a291;min-width:180px;gap:0;padding:.5rem 0;border-radius:0 0 4px 4px;box-shadow:0 4px 12px #00000026;list-style:none}.navbar-list--mobile.navbar-list--open{display:flex}.navbar-list--mobile .navbar-link{padding:.6rem 1rem;width:100%;text-align:right}@media(max-width:768px){.hamburger-wrapper{display:block}.navbar-list--desktop{display:none}}.section-divider{padding:2rem 0;background:#80a291}.section-divider-title{font-family:Spectral,serif;font-size:1.3rem;text-transform:uppercase;letter-spacing:.15em;color:#0e4d54}.location-section{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:#f5f5f5;position:relative;overflow:hidden}.location-container{max-width:1200px;width:100%;display:flex;gap:2rem;align-items:center}.location-image-wrapper{flex:1;width:100%;display:flex;justify-content:center}.location-image{max-width:100%;height:auto;border-radius:8px}.location-text{flex:1;width:100%}.location-title{font-family:Pinyon Script,cursive;font-size:3.5rem;font-weight:400;color:#0e4d54;margin:0 0 1.5rem}.location-description{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);font-weight:400;color:#80a291;line-height:1.8;letter-spacing:.03em;margin:0 0 1rem}.location-link{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);color:#80a291;text-decoration:underline;transition:color .2s}.location-link:hover{color:#0e4d54}@media(max-width:768px){.location-container{flex-direction:column}.location-title{font-size:2.5rem}}.dresscode-section{width:100%;min-height:50vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:#f5f5f5}.dresscode-container{max-width:700px;width:100%;margin:0 auto;text-align:left}.dresscode-subtitle{font-family:Pinyon Script,serif;font-size:2rem;color:#80a291;text-align:center;margin:0 0 2.5rem;font-style:italic}.dresscode-category{margin-bottom:2rem}.dresscode-category-title{font-family:Spectral,serif;text-align:center;letter-spacing:2px;font-size:1.3rem;font-weight:600;margin:0 0 .5rem;color:#0e4d54}.dresscode-divider{height:1px;background-color:#0e4d54;margin-bottom:1rem;opacity:.6}.dresscode-list{list-style:none;padding:0;margin:0}.dresscode-list-item{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);line-height:1.8;color:#80a291;padding:.3rem 0 .3rem 1rem;position:relative}.dresscode-list-item:before{content:"–";position:absolute;left:0}.dresscode-notes{margin-top:2rem}.dresscode-note{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);line-height:1.8;color:#80a291;margin:0 0 .5rem}.zeitplan-section{padding:0;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff}.zeitplan-container{max-width:700px;width:100%;margin:0 auto;text-align:left}.zeitplan-day{margin-bottom:3rem}.zeitplan-day-title{font-family:Spectral,serif;text-align:center;letter-spacing:2px;font-size:1.3rem;font-weight:600;margin:0 0 .5rem;color:#0e4d54}.zeitplan-divider{height:1px;background-color:#0e4d54;margin-bottom:1.5rem;opacity:.6}.zeitplan-event{display:flex;padding:.75rem 0;align-items:flex-start;border-bottom:1px solid rgba(14,77,84,.2)}.zeitplan-time{min-width:160px;width:160px;flex-shrink:0;font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);font-weight:600;color:#0e4d54}.zeitplan-description{flex:1;font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);line-height:1.6;color:#80a291}@media(max-width:768px){.zeitplan-time{min-width:120px;width:120px}}.hochzeitsregeln-section{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:#f5f5f5;position:relative;overflow:hidden}.hochzeitsregeln-container{max-width:700px;width:100%;margin:0 auto;text-align:left}.hochzeitsregeln-rule{margin-bottom:2.5rem}.hochzeitsregeln-rule-title{font-family:Spectral,serif;text-align:center;letter-spacing:2px;font-size:1.3rem;font-weight:600;margin:0 0 .5rem;color:#0e4d54}.hochzeitsregeln-divider{height:1px;background-color:#0e4d54;margin-bottom:1rem;opacity:.6}.hochzeitsregeln-rule-text{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);line-height:1.8;color:#80a291;letter-spacing:.03em;margin:0;white-space:pre-line}.anreise-section{width:100%;padding:4rem 2rem;background:#f5f5f5}.anreise-main-map{max-width:900px;margin:0 auto 3rem}.anreise-map-iframe{width:100%;height:400px;border:none;border-radius:8px}.anreise-routes{display:flex;justify-content:center;gap:3rem;max-width:1100px;margin:0 auto}.anreise-route{flex:1;display:flex;flex-direction:column;align-items:center;max-width:320px}.anreise-route-title{font-family:Spectral,cursive;font-size:2rem;font-weight:400;color:#80a291;margin:0 0 1.5rem;display:flex;flex-direction:column}.anreise-route-label{color:#0e4d54}.anreise-route-subtitle{font-size:1.4rem}.anreise-route-map-circle{width:180px;height:180px;border-radius:50%;overflow:hidden;margin-bottom:1.5rem;border:2px solid #80a291}.anreise-route-map-iframe{width:300px;height:300px;border:none;margin-top:-60px;margin-left:-60px}.anreise-maps-link{font-family:Spectral,serif;font-size:.9rem;color:#0e4d54;margin-bottom:1rem;text-decoration:underline}.anreise-maps-link:hover{color:#80a291}.anreise-keypoints{list-style:none;padding:0;margin:0;text-align:center}.anreise-keypoint{font-family:Spectral,serif;font-size:1rem;color:#80a291;line-height:1.6;margin-bottom:.5rem}@media(max-width:768px){.anreise-routes{flex-direction:column;align-items:center;gap:2.5rem}.anreise-map-iframe{height:280px}}.packinglist-section{width:100%;min-height:50vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff;position:relative;overflow:hidden}.packinglist-container{max-width:700px;width:100%;margin:0 auto;text-align:left}.packinglist-list{list-style:none;padding:0;margin:0}.packinglist-item{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);line-height:1.8;color:#80a291;padding:.5rem 0 .5rem 1rem;position:relative;border-bottom:1px solid rgba(14,77,84,.2)}.packinglist-item:before{content:"–";position:absolute;left:0}.wedding-section{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:#fff}.formular-container{width:100%;max-width:500px}.formular-form{display:flex;flex-direction:column;gap:1.2rem}.formular-field{display:flex;flex-direction:column;gap:.3rem}.formular-field-checkbox{flex-direction:row;align-items:center;gap:.8rem}.formular-label{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);color:#0e4d54}.formular-input{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);padding:.6rem .8rem;border:1px solid #80a291;border-radius:4px;background:transparent;color:#0e4d54;outline:none}.formular-textarea{resize:vertical}.formular-input:focus{border-color:#0e4d54}.formular-input::placeholder{color:#80a291;opacity:.7}.formular-checkbox{width:1.2rem;height:1.2rem;accent-color:#0e4d54}.formular-submit{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);padding:.7rem 2rem;margin-top:.5rem;background:#0e4d54;color:#fff;border:none;border-radius:4px;cursor:pointer;align-self:center}.formular-submit:hover{background:#80a291}.formular-submit:disabled{opacity:.6;cursor:not-allowed}.formular-error{color:#c0392b;font-family:Spectral,serif;text-align:center}.formular-title{font-family:Spectral,serif;font-size:clamp(1.6rem,2vw + .8rem,2.5rem);color:#0e4d54;text-align:center;margin-bottom:1rem}.formular-success{font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);color:#80a291;text-align:center}.wuensche-section{width:100%;min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#f5f5f5}.wuensche-container{max-width:1100px;width:100%;display:flex;gap:3rem;align-items:center}.wuensche-images{flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center}.wuensche-image{border-radius:6px;object-fit:cover;aspect-ratio:4 / 3;box-shadow:2px 3px 10px #0000001f;transition:transform .3s}.wuensche-image:hover{transform:rotate(0)!important;z-index:1}.wuensche-text{flex:1;font-family:Spectral,serif;font-size:clamp(1.1rem,1.2vw + .75rem,1.5rem);line-height:1.8;letter-spacing:.03em;color:#80a291}.wuensche-text p{margin:0 0 1.5rem}.wuensche-text p:last-child{margin-bottom:0}@media(max-width:768px){.wuensche-container{flex-direction:column}.wuensche-image{width:calc(50% - .25rem)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e8f0ec)}.login-card{text-align:center;padding:3rem 2.5rem}.login-title{font-family:Pinyon Script,cursive;font-size:clamp(2.5rem,8vw,4rem);font-weight:400;color:#0e4d54;margin:0 0 .5rem}.login-subtitle{font-family:Spectral,serif;font-size:1.2rem;color:#80a291;letter-spacing:.1em;margin:0 0 2.5rem}.login-form{display:flex;flex-direction:column;align-items:center;gap:1rem}.login-input{font-family:Spectral,serif;font-size:1rem;padding:.7rem 1rem;width:240px;border:1px solid #80a291;border-radius:4px;background:transparent;color:#0e4d54;outline:none;text-align:center}.login-input:focus{border-color:#0e4d54}.login-input::placeholder{color:#80a291;opacity:.7}.login-error{color:#c0392b;font-family:Spectral,serif;font-size:.95rem;margin:0}.login-submit{font-family:Spectral,serif;font-size:1.1rem;padding:.6rem 2.5rem;background:#0e4d54;color:#fff;border:none;border-radius:4px;cursor:pointer;letter-spacing:.05em}.login-submit:hover{background:#80a291}.login-submit:disabled{opacity:.6;cursor:not-allowed}.dashboard-page{padding:2rem;min-height:100vh;background:#f5f5f5}.dashboard-title{font-family:Pinyon Script,cursive;font-size:3rem;font-weight:400;color:#0e4d54;text-align:center;margin:0 0 .5rem}.dashboard-count{font-family:Spectral,serif;font-size:1.1rem;color:#80a291;text-align:center;margin:0 0 2rem}.dashboard-status{font-family:Spectral,serif;font-size:1.1rem;color:#80a291;text-align:center}.dashboard-error{font-family:Spectral,serif;font-size:1.1rem;color:#c0392b;text-align:center}.dashboard-table-wrapper{overflow-x:auto}.dashboard-table{width:100%;border-collapse:collapse;font-family:Spectral,serif;font-size:.95rem}.dashboard-table th{background:#0e4d54;color:#fff;padding:.75rem 1rem;text-align:left;white-space:nowrap}.dashboard-table td{padding:.65rem 1rem;border-bottom:1px solid rgba(14,77,84,.15);color:#333}.dashboard-table tr:hover td{background:#80a2911a}.baltic-wrapper{display:flex;flex-direction:column;align-items:center;padding:2rem;background:#f5f5f5}.baltic-controls{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem}.baltic-label{font-family:Spectral,serif;font-size:1.1rem;color:#0e4d54}.baltic-slider{width:300px;accent-color:#0e4d54}.baltic-map-container{position:relative;display:inline-block;max-width:100%}.baltic-map-image{display:block;width:100%;max-width:711px;height:auto}.baltic-svg-overlay{position:absolute;top:0;left:0;width:100%;height:100%}*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}#root{max-width:100%;margin:0 auto;padding:0;text-align:center;width:100%}
