:root{--yellow:#fbbb1a;--orange:#f39230;--dark:#0c0c0e;--dark2:#16161a;--bg:#f4f4f8;--surface:#fff;--muted:#6b6b7e;--border:#e2e2ec;--success:#22c55e;--danger:#ef4444;--radius:14px;--radius-sm:8px;--shadow:0 2px 16px #1a1a2e14;--shadow-md:0 4px 24px #1a1a2e1f;--night:#0c0c0e;--night-line:#ffffff1f;--night-ink:#f2f2f4;--night-ink-2:#ffffff9e;--font-display:"General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Switzer", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--dark);min-height:100dvh;line-height:1.5}.app-shell{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.app-header{background:var(--dark);z-index:10;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:sticky;top:0}.header-right{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.lang-switch{gap:2px;display:flex}.lang-switch button{color:#ffffff73;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 5px;font-family:inherit;font-size:11px;font-weight:700;transition:color .15s,background .15s}.lang-switch button:hover{color:#fffc}.lang-switch button.active{color:var(--dark);background:var(--yellow)}.lang-switch button:focus-visible{outline:2px solid var(--yellow);outline-offset:1px}.app-header .subtitle{color:#ffffff73;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.progress-wrap{background:var(--dark2);padding:0 20px 16px}.progress-steps{gap:6px;display:flex}.progress-step{background:#ffffff26;border-radius:2px;flex:1;height:4px;transition:background .3s}.progress-step.active{background:var(--yellow)}.progress-step.done{background:#fbbb1a66}.step-content{flex-direction:column;flex:1;gap:20px;padding:24px 20px;display:flex}.step-header h1{color:var(--dark);margin-bottom:6px;font-size:22px;font-weight:700;line-height:1.2}.step-header p{color:var(--muted);font-size:14px;line-height:1.55}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--dark2);font-size:13px;font-weight:600}.field input,.field textarea,.field select{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--dark);background:var(--surface);-webkit-appearance:none;outline:none;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--yellow)}.field textarea{resize:none;min-height:90px;line-height:1.5}.field .hint{color:var(--muted);font-size:12px}.dauer-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.dauer-opt{border:1.5px solid var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background:var(--surface);color:var(--dark);padding:12px 4px;font-family:inherit;transition:border-color .2s,background .2s,transform .12s}.dauer-opt:active{transform:scale(.96)}.dauer-opt.selected{border-color:var(--yellow);background:#fffbee}.dauer-opt .time{font-size:17px;font-weight:700;line-height:1}.dauer-opt .time small{color:var(--muted);margin-left:1px;font-size:12px;font-weight:600}.dauer-opt.selected .time small{color:var(--orange)}.seg{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seg-opt{border:1.5px solid var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background:var(--surface);color:var(--dark);padding:12px 8px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .2s,background .2s,transform .12s}.seg-opt:active{transform:scale(.96)}.seg-opt.selected{border-color:var(--yellow);color:var(--orange);background:#fffbee}.dauer-caption{color:var(--muted);min-height:18px;margin-top:2px;font-size:12.5px}.step-header .greet{color:var(--orange);margin:2px 0 6px;font-size:15px;font-weight:700}.addr-list{flex-direction:column;gap:8px;display:flex}.addr-opt{text-align:left;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--dark);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;font-family:inherit;transition:border-color .15s,background .15s,transform .12s;display:flex}.addr-opt:active{transform:scale(.99)}.addr-opt.selected{border-color:var(--orange);background:linear-gradient(135deg,#fffbee 0%,#fff3d6 100%);box-shadow:0 0 0 2px #fbbb1a40}.addr-opt.addr-disabled{opacity:.6;cursor:not-allowed}.addr-label{font-size:15px;font-weight:600;line-height:1.35}.addr-check{color:var(--orange);flex-shrink:0;font-size:18px;font-weight:800}.addr-warn{color:var(--muted);flex-shrink:0;max-width:45%;font-size:12px}.addr-opt:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 20px;font-family:inherit;font-size:16px;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.btn-primary{background:linear-gradient(135deg, var(--yellow) 0%, var(--orange) 100%);color:var(--dark)}.btn-primary:hover{filter:brightness(1.05);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{color:var(--muted);background:0 0;font-size:14px;font-weight:500}.day-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:8px;margin:0 -20px;padding:4px 20px;display:flex;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.day-chip{border:1.5px solid var(--border);border-radius:var(--radius-sm);scroll-snap-align:start;cursor:pointer;background:var(--surface);color:var(--dark);text-align:center;flex-direction:column;flex:0 0 76px;align-items:center;gap:2px;padding:10px 4px 8px;font-family:inherit;transition:border-color .2s,background .2s,transform .12s;display:flex}.day-chip:active{transform:scale(.96)}.day-chip.selected{border-color:var(--orange);background:linear-gradient(135deg,#fffbee 0%,#fff3d6 100%);box-shadow:0 0 0 2px #fbbb1a40}.day-chip .dc-wd{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;font-weight:700}.day-chip.selected .dc-wd{color:var(--orange)}.day-chip .dc-date{font-size:15px;font-weight:700;line-height:1.1}.day-chip .dc-count{color:var(--muted);background:#f0f0f8;border-radius:20px;margin-top:3px;padding:1px 7px;font-size:10.5px;font-weight:600}.day-chip.selected .dc-count{color:var(--dark);background:#fbbb1a59}.slot-panel{flex-direction:column;gap:14px;display:flex}.day-meta{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.day-meta span:first-child{color:var(--dark2);font-weight:700}.time-section{flex-direction:column;gap:8px;display:flex}.time-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11.5px;font-weight:700}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.time-chip{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);color:var(--dark);text-align:center;animation:.18s both chip-in;animation-delay:calc(var(--i,0) * 18ms);flex-direction:column;align-items:center;gap:1px;padding:10px 6px;font-family:inherit;transition:border-color .15s,background .15s,transform .12s;display:flex}.time-chip:hover{border-color:var(--yellow);background:#fffbee}.time-chip:active{transform:scale(.95)}.time-chip.selected{border-color:var(--orange);background:linear-gradient(135deg,#fffbee 0%,#fff3d6 100%);box-shadow:0 0 0 2px #fbbb1a40}.time-chip .tc-start{font-size:16px;font-weight:700;line-height:1.15}.time-chip .tc-end{color:var(--muted);font-size:11px}@keyframes chip-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.time-chip,.day-chip,.dauer-opt{transition:none;animation:none}}.day-chip:focus-visible,.time-chip:focus-visible,.dauer-opt:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.selected-slot-badge{border:1.5px solid var(--yellow);border-radius:var(--radius-sm);background:#fffbee;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.selected-slot-badge .icon{flex-shrink:0;font-size:18px}.selected-slot-badge .info .title{font-size:15px;font-weight:700}.selected-slot-badge .info .detail{color:var(--muted);margin-top:2px;font-size:13px}.loading-wrap{color:var(--muted);flex-direction:column;align-items:center;gap:16px;padding:40px 20px;font-size:14px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--yellow);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-box{border-radius:var(--radius-sm);color:var(--danger);background:#fef2f2;border:1.5px solid #fecaca;padding:14px 16px;font-size:14px;line-height:1.5}.success-page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 20px;display:flex}.success-icon{background:linear-gradient(135deg, var(--yellow), var(--orange));border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:34px;display:flex}.success-page h2{font-size:22px;font-weight:800}.success-page p{color:var(--muted);max-width:320px;font-size:15px;line-height:1.6}.termin-nr{border-radius:var(--radius-sm);letter-spacing:.05em;background:#f4f4f8;padding:10px 20px;font-family:monospace;font-size:16px;font-weight:700}.home-hero{flex-direction:column;flex:1;justify-content:center;gap:28px;padding:32px 20px;display:flex}.home-hero h1{font-size:26px;font-weight:800;line-height:1.2}.home-hero h1 span{color:var(--orange)}.home-hero p{color:var(--muted);font-size:15px;line-height:1.65}.feature-list{flex-direction:column;gap:12px;display:flex}.feature-item{align-items:flex-start;gap:12px;display:flex}.feature-item .fi-icon{flex-shrink:0;margin-top:1px;font-size:20px}.feature-item .fi-text{color:var(--dark2);font-size:14px;line-height:1.5}.feature-item .fi-text strong{font-weight:600;display:block}.site-footer{background:var(--night);color:var(--night-ink);margin-top:auto;padding:clamp(3rem,7vw,4.5rem) 0 2rem}.site-footer .footer-inner{max-width:480px;margin:0 auto;padding:0 20px}.site-footer .footer-top{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.site-footer .footer-col-full{grid-column:1/-1}.site-footer .footer-logo img{width:auto;height:28px}.site-footer .footer-tagline{color:var(--night-ink-2);max-width:30ch;margin-top:1rem;font-size:.9rem;line-height:1.55}.site-footer h4{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;margin-bottom:.8rem;font-size:.75rem;font-weight:600}.site-footer a{color:var(--night-ink-2);margin-bottom:.4rem;font-size:.9rem;line-height:1.5;text-decoration:none;transition:color .2s;display:block}.site-footer a:hover{color:#fff}.site-footer .footer-col p{color:var(--night-ink-2);margin-bottom:.4rem;font-size:.9rem;line-height:1.5}.site-footer .footer-bottom{border-top:1px solid var(--night-line);color:var(--night-ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:2.5rem;padding-top:1.4rem;font-size:.82rem;display:flex}.site-footer .footer-bottom .links{gap:1.2rem;display:flex}.site-footer .footer-bottom .links a{margin-bottom:0;font-size:.82rem;display:inline}.map-wrap{border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}#termin-map{z-index:1;width:100%;height:clamp(260px,42vh,380px)}.map-hint{color:#fff;pointer-events:none;white-space:nowrap;z-index:500;background:#0000008c;border-radius:20px;padding:5px 14px;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.ac-wrap{position:relative}.pac-container{font-family:var(--font-body);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin-top:4px}.pac-item{cursor:pointer;border-top:1px solid var(--border);padding:10px 14px;font-size:14px;line-height:1.4;transition:background .12s}.pac-item:first-child{border-top:none}.pac-item:hover,.pac-item-selected{background:#fffbee}.hint-ok{color:var(--success);font-weight:500}.travel-badge{border:1.5px solid var(--yellow);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fffbee 0%,#fff8e6 100%);align-items:flex-start;gap:12px;margin-top:14px;padding:14px;display:flex}.travel-icon{flex-shrink:0;margin-top:2px;font-size:24px}.travel-info{flex-direction:column;gap:3px;display:flex}.travel-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:700}.travel-price{color:var(--dark);align-items:baseline;gap:6px;font-size:20px;font-weight:800;display:flex}.travel-vat{color:var(--muted);font-size:12px;font-weight:400}.travel-detail{color:var(--muted);font-size:12px}.kosten-list{flex-direction:column;gap:8px;margin:4px 0 10px;padding:0;list-style:none;display:flex}.kosten-list li{justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}.kosten-list li span{color:var(--muted)}.kosten-list li strong{color:var(--dark);white-space:nowrap;font-weight:800}.kosten-list li strong small{color:var(--muted);font-size:11px;font-weight:400}.kosten-card .dauer-caption a{color:#f19a3a;font-weight:600;text-decoration:none}@media (width>=480px){.app-shell{border-left:1px solid var(--border);border-right:1px solid var(--border);min-height:100dvh}}
