:root{font-family:Segoe UI,Arial,sans-serif;color:#513b3e;background:#faf6f0;font-synthesis:none;--wine: #903e54;--rose: #f5e7e6;--muted: #826e70;--line: #e9dcd7}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b88742;outline-offset:4px}h1:focus{outline:none}h1,h2,p{margin-top:0}h1,h2,.brand{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{font-size:clamp(34px,4.5vw,55px);line-height:1.17;letter-spacing:-1.5px;margin-bottom:20px}h2{font-size:26px;line-height:1.3}em{font-weight:400;color:var(--wine)}p{line-height:1.7}small{font-size:12px;line-height:1.6;color:var(--muted)}.site-header{position:relative;height:96px;max-width:1320px;margin:auto;padding:0 54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brand svg{color:var(--wine);width:19px}.brand span{font-family:Segoe UI,sans-serif;letter-spacing:2.3px;font-size:9px;border-left:1px solid #d8c4c1;margin-left:12px;padding-left:20px}.header-note{position:absolute;left:50%;transform:translate(-50%);text-align:center;white-space:nowrap;font-size:12px;color:var(--muted)}.header-heart{font-size:24px;color:var(--wine)}.planner{position:relative;isolation:isolate;min-height:calc(100vh - 185px);padding:46px 24px 60px;overflow:hidden;background:radial-gradient(ellipse at 50% 25%,#f8e9e570,transparent 65%)}.ambient{position:absolute;z-index:-1;font-size:35px;color:#bd9c7b;opacity:.55;animation:float 7s ease-in-out infinite;pointer-events:none}.a{top:180px;left:15%}.b{top:380px;right:13%;color:#c58d99;transform:rotate(15deg)}.c{top:620px;left:23%;font-size:23px}.welcome{text-align:center;max-width:780px;margin:auto;animation:arrive .8s ease}.pill{display:inline-flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;border:1px solid #e9d8d1;background:#fffcf8;padding:9px 16px;border-radius:30px;color:#8b6065}.pill>span{width:5px;height:5px;background:#b88670;border-radius:50%}.letter-art{width:220px;height:177px;margin:35px auto 21px;position:relative;transform:rotate(-7deg)}.letter-paper{position:absolute;width:150px;height:146px;top:0;left:35px;background:#fffdf8;border:1px solid #eedfd0;border-radius:5px;box-shadow:0 4px 20px #704a4712;display:flex;align-items:center;flex-direction:column;padding-top:16px}.letter-paper span{font-size:10px;letter-spacing:1.5px;color:#ab8980}.letter-paper b{font-family:Georgia,serif;font-size:32px;font-weight:400;font-style:italic;color:var(--wine);margin:3px 0 10px}.letter-paper svg{color:#c98f98}.envelope{position:absolute;bottom:0;left:10px;width:200px;height:112px;border-radius:4px;background:linear-gradient(32deg,#ecc3bf 49.5%,transparent 50%),linear-gradient(-32deg,#f0ceca 49.5%,transparent 50%),#e7b8b4;box-shadow:0 12px 25px #975b5720}.envelope:after{content:"";position:absolute;inset:0;background:#f3d6cf;clip-path:polygon(0 100%,50% 30%,100% 100%)}.seal{position:absolute;left:88px;bottom:28px;background:#ad5964;color:#f9ddd4;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 5px #8e4c4750;border:3px double #bc737c}.art-star{position:absolute;right:-23px;top:38px;color:#b58e54;font-size:34px}.script{font:italic 25px Georgia,serif;color:var(--wine);margin-bottom:12px}.intro{font-size:13px;color:var(--muted);margin-bottom:18px}.welcome h1{font-size:clamp(42px,5.3vw,66px);animation:arrive 1.3s ease;margin-bottom:20px}.subtitle{color:var(--muted);font-size:14px;margin-bottom:30px}.primary{border:1px solid var(--wine);background:var(--wine);color:#fff9f5;border-radius:50px;padding:16px 26px;display:inline-flex;gap:14px;align-items:center;justify-content:center;font-size:14px;box-shadow:0 7px 18px #913e5420;transition:transform .2s,background .2s}.primary:hover:not(:disabled){background:#783045;transform:translateY(-2px);box-shadow:0 10px 25px #913e5430}.primary.yes{min-width:230px;min-height:58px;font-size:15px}.no-zone{position:relative;width:min(660px,100%);height:165px;margin:15px auto 0}.no-button{position:absolute;width:124px;height:48px;border-radius:25px;border:1px solid #dfcec9;background:#fcf8f4;font-size:14px;transition:left .22s ease,top .22s ease}.playful{font-size:11px;color:#937e7d;margin:0 0 10px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--wine);font-size:13px;padding:10px 5px;text-decoration:underline;text-underline-offset:4px}.text-button:hover{text-decoration:none}.later{color:#857273;font-size:11px}.welcome-bottom{display:flex;align-items:center;justify-content:center;gap:15px;color:#b89b7f;margin:25px 0 14px}.welcome-bottom span{height:1px;width:58px;background:#e0d3c4}.tiny{font-size:9px;letter-spacing:2.2px;color:#978277;margin:0}footer{min-height:89px;display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;text-align:center;font-size:10px;color:#9b8181;border-top:1px solid #eee3dc;padding:20px}footer>span{flex-basis:100%;font:italic 12px Georgia,serif;color:#8a7675}.flow{max-width:940px;margin:auto}.progress{display:flex;max-width:550px;margin:0 auto 52px;justify-content:space-between;position:relative}.progress:before{content:"";height:1px;background:#e2cdca;position:absolute;top:15px;left:10%;right:10%;z-index:-1}.progress button{border:0;background:none;display:flex;align-items:center;gap:8px;flex-direction:column;min-width:65px}.progress button span{border:1px solid #e2cdca;background:#faf6f0;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:12px;transition:background .3s}.progress .active span{background:var(--wine);color:#fff;border-color:var(--wine)}.progress .active small{color:var(--wine)}.step-content{animation:arrive .45s ease}.eyebrow{font-size:10px;letter-spacing:2px;color:#9b7272;display:block;margin-bottom:14px;text-transform:uppercase}.flow h1{max-width:780px;font-size:clamp(32px,4vw,48px)}.selection-count{font-size:12px;color:var(--wine);text-align:right;margin-bottom:14px}.ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.idea{position:relative;text-align:left;min-height:174px;padding:22px;border:1px solid var(--line);background:#fffdf9;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,border-color .2s,box-shadow .2s}.idea:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 10px 25px #754c4710;border-color:#c38b96}.idea.selected{background:#f8e8e8;border-color:#a95168;box-shadow:0 3px 12px #903e5410}.idea-icon{color:var(--wine);margin-bottom:15px}.idea strong{font-size:14px;font-weight:600;margin-bottom:7px}.idea>span:last-child{font-size:12px;line-height:1.6;color:var(--muted)}.idea-check{position:absolute;right:17px;top:19px;width:19px;height:19px;border:1px solid #e2d1cb;border-radius:50%;display:grid;place-items:center}.selected .idea-check{background:var(--wine);border-color:var(--wine);color:#fff;animation:pop .3s}.field{display:flex;flex-direction:column;gap:12px;font-size:14px;font-weight:500;margin:25px 0}.field small{font-weight:400;text-align:right;margin-top:-5px}textarea,input,select{border:1px solid #decac6;border-radius:12px;background:#fffdf9;padding:14px 16px;color:#513b3e;max-width:100%}textarea{resize:vertical;min-height:115px;line-height:1.6}input::placeholder,textarea::placeholder{color:#a18c8c}.navigation{display:flex;justify-content:space-between;align-items:center;padding-top:25px;border-top:1px solid var(--line);margin-top:30px;gap:15px}.panel,.calendar{border:1px solid var(--line);background:#fffdf9;border-radius:22px;box-shadow:0 12px 38px #77514c08}.time-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;margin-top:35px}.calendar{padding:25px}.month{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.month strong{text-transform:capitalize;font-weight:500}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;background:#f7eeea;border-radius:50%}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:20px}.days>span,.days button{display:grid;place-items:center;min-height:42px}.days .weekday{font-size:11px;color:var(--muted)}.days button{border:0;border-radius:50%;background:none;position:relative;font-size:14px;aspect-ratio:1}.days button:hover:not(:disabled){background:#f7e8e5}.days button.chosen{background:var(--wine);color:#fff}.days button:disabled{opacity:.26}.days i{height:3px;width:3px;background:#c09156;border-radius:50%;position:absolute;bottom:5px}.time-card{padding:20px 10px}.time-card p{font-size:13px;color:var(--muted)}.round-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#f5e5e3;color:var(--wine);margin-bottom:20px}.date-note{background:#f3e5df;border-radius:12px;padding:18px;font-size:13px;line-height:1.7;color:#803f52;margin:20px 0}.pickup{padding:36px;margin:35px 0}.pickup.picked{border-color:#b47b8a;background:#fff8f6}.pickup p{font-size:13px;color:var(--muted);margin:20px 0 0}.toggle-label{display:flex;gap:20px;align-items:center;font-size:17px;line-height:1.7;position:relative;cursor:pointer}.toggle-label>span:first-child{flex:1}.toggle-label input{position:absolute;right:0;width:52px;height:30px;opacity:0}.toggle{width:52px;height:30px;flex-shrink:0;border-radius:30px;background:#ded1cc;padding:4px;transition:background .2s}.toggle:after{content:"";display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0001;transition:transform .2s}.toggle-label input:checked+.toggle{background:var(--wine)}.toggle-label input:checked+.toggle:after{transform:translate(22px)}.toggle-label input:focus-visible+.toggle{outline:3px solid #b88742;outline-offset:4px}.summary{background:#fffdf9;border:1px solid var(--line);border-radius:20px;padding:4px 28px;margin-top:30px}.summary-row{display:flex;justify-content:space-between;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.summary-row:last-child{border-bottom:0}.summary-row .eyebrow{font-size:9px;margin-bottom:10px}.summary-content{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.summary-content p{margin:10px 0 0}.tag{display:inline-block;margin:3px 7px 3px 0;padding:4px 11px;border-radius:20px;background:#f3e6e3;font-size:12px;color:#844b5a}.privacy{font-size:11px;color:var(--muted);margin:25px 8px;line-height:1.8}.privacy svg{vertical-align:middle;margin-right:7px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.error{background:#fbe7e5;border:1px solid #d8a5a1;color:#8a2e3d;padding:16px;border-radius:12px;font-size:13px}.success{max-width:700px;margin:40px auto;padding:55px;text-align:center;animation:arrive .7s}.success h1{font-size:65px}.success .muted{font-size:13px;color:var(--muted)}.success-hearts{font-size:50px;color:#be6c82;margin-bottom:25px;animation:float 3s ease-in-out infinite}.success-hearts svg{width:58px;height:58px;margin:0 20px}.heart-burst{position:fixed;left:40%;right:40%;top:40%;color:#c46780;font-size:50px;pointer-events:none;animation:pop .4s}.admin{max-width:1040px;margin:60px auto;min-height:65vh;padding:0 25px}.login{max-width:430px;margin:40px auto;padding:35px}.login .primary{width:100%}.admin-toolbar,.admin-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:13px;margin:30px 0}.admin-toolbar select,.admin-actions select{margin-left:10px}.request{padding:28px;margin:20px 0}.request-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.request h2{font-size:23px;margin:14px 0 8px}.request p{font-size:12px;color:var(--muted);margin-bottom:4px}.status{font-size:10px;letter-spacing:1px;border-radius:20px;padding:5px 12px;background:#f6e0e5;color:#903e54}.status.Geplant{background:#f3e8ce;color:#79602d}.status.Erledigt{background:#e5ece0;color:#4f6c46}.empty{text-align:center;padding:55px;color:var(--muted)}.empty h2{margin-top:20px}.danger{color:#9b293a}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes float{50%{translate:0 -9px;rotate:4deg}}@keyframes pop{0%{transform:scale(.6);opacity:.4}to{transform:scale(1);opacity:1}}@media(min-width:1500px){.invitation{padding-top:60px}.letter-art{margin-top:45px;margin-bottom:30px}}@media(max-width:700px){.site-header{position:relative;height:78px;padding:0 22px}.brand{font-size:21px}.brand span,.header-note{display:none}.planner{padding:32px 20px 40px}.letter-art{transform:scale(.9) rotate(-7deg);margin:20px auto 10px}.welcome h1{letter-spacing:-1px}.intro{font-size:12px}.subtitle{font-size:13px;line-height:1.8}.ambient.a{left:3%;top:190px}.ambient.b{right:3%;top:390px;font-size:25px}.ambient.c{display:none}.ideas{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.idea{padding:17px 14px;min-height:183px}.idea strong{font-size:13px}.idea>span:last-child{font-size:11px}.idea-check{right:12px;top:15px}.flow h1{font-size:34px}.progress{margin-bottom:35px}.progress button{min-width:50px}.progress small{font-size:10px}.time-layout{grid-template-columns:1fr;gap:10px}.calendar{padding:18px}.days>span,.days button{min-height:37px}.time-card{padding:20px 5px}.pickup{padding:25px}.toggle-label{font-size:15px}.summary{padding:0 20px}.summary-row{gap:8px}.success{padding:35px 22px;margin:10px auto}.success h1{font-size:50px}.success h2{font-size:25px}.primary{padding:15px 20px;font-size:13px}.admin{margin-top:35px;padding:0 20px}.request{padding:20px}.request-heading{align-items:flex-start;flex-direction:column}.request h2{font-size:22px}.login{padding:28px}.admin-toolbar label{width:100%}footer{min-height:80px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:22px}footer .footer-copy{margin:0;line-height:1.3;text-align:center}footer>span{flex-basis:auto}footer>svg{color:#b28a90;flex-shrink:0}.pickup{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px 22px;align-items:center;padding:28px}.pickup>.round-icon{margin:0;grid-row:1 / 3;align-self:start}.pickup .toggle-label{gap:24px;font-size:15px;line-height:1.5}.pickup-copy{display:flex;flex-direction:column;gap:7px}.pickup-copy strong{font-size:18px;font-weight:600;line-height:1.4}.pickup-copy>span{font-size:13px;line-height:1.7;color:var(--muted);max-width:530px}.pickup .toggle{width:64px;height:38px;padding:4px}.pickup .toggle:after{width:30px;height:30px}.pickup input:checked+.toggle:after{transform:translate(26px)}.pickup .toggle-label input{width:64px;height:44px}.pickup>p{grid-column:2;margin:0;font-size:12px}@media(max-width:700px){.pickup{grid-template-columns:42px minmax(0,1fr);padding:22px 18px;gap:14px 12px}.pickup>.round-icon{width:42px;height:42px}.pickup>.round-icon svg{width:23px;height:23px}.pickup .toggle-label{gap:12px;align-items:flex-start}.pickup-copy strong{font-size:16px}.pickup-copy>span{font-size:12px}.pickup .toggle{width:56px;height:34px}.pickup .toggle:after{width:26px;height:26px}.pickup input:checked+.toggle:after{transform:translate(22px)}.pickup .toggle-label input{width:56px;height:44px}.pickup>p{grid-column:1 / -1;padding-top:12px;border-top:1px solid var(--line)}}@media(min-width:701px)and (max-width:1000px){.header-note{display:none}}.flow .pickup-step h1{max-width:100%}@media(min-width:900px){.flow .pickup-step h1{font-size:clamp(32px,3.3vw,42px);white-space:nowrap}}.pickup>.pickup-status:empty{display:none}
