
:root{--bg:#f5f5f7;--card:#fff;--ink:#1d1d1f;--mut:#6e6e73;--line:#d2d2d7;--acc:#0071e3;--ok:#34c759;--bad:#ff3b30;--glass:rgba(255,255,255,.72);--ease:cubic-bezier(.16,1,.3,1);--sh:0 1px 2px rgba(0,0,0,.04),0 10px 34px rgba(0,0,0,.06);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#000;--card:#1d1d1f;--ink:#f5f5f7;--mut:#a1a1a6;--line:#424245;--acc:#2997ff;--glass:rgba(22,22,23,.72);--sh:0 10px 34px rgba(0,0,0,.5)}}
:root[data-theme="dark"]{--bg:#000;--card:#1d1d1f;--ink:#f5f5f7;--mut:#a1a1a6;--line:#424245;--acc:#2997ff;--glass:rgba(22,22,23,.72);--sh:0 10px 34px rgba(0,0,0,.5)}
*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.47 -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.01em}
h1,h2{margin:0;line-height:1.1;letter-spacing:-.03em}h1{font-size:1.8rem;font-weight:700}h2{font-size:1.5rem;font-weight:700;margin-bottom:18px}
.mut{color:var(--mut);margin:6px 0 0;font-size:1.05rem}
button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit}
@keyframes up{from{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:none}}
@keyframes flo{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.btn{background:var(--acc);color:#fff;border:0;border-radius:980px;padding:14px 28px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;transition:transform .3s var(--ease),filter .2s}
.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.97)}
.ghost{background:transparent;color:var(--acc);border:1px solid var(--line);border-radius:980px;padding:7px 15px;cursor:pointer;font-size:.88rem;transition:all .25s}
.ghost:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}
.nav,.pv{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);font-size:.9rem}
.pv{justify-content:flex-start;color:var(--mut)}.nav b{font-weight:600}
/* Kundenseite */
.cust{position:relative;max-width:460px;min-height:calc(100dvh - 64px);margin:0 auto;padding:44px 22px 56px;text-align:center}
.cust::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(75% 50% at 50% -8%,color-mix(in srgb,var(--acc) 32%,transparent),transparent 70%)}
.cust>*{animation:up .9s var(--ease) backwards}
.cust>:nth-child(2){animation-delay:.12s}.cust>:nth-child(3){animation-delay:.22s}.cust>:nth-child(4){animation-delay:.32s}.cust>:nth-child(5){animation-delay:.42s}.cust>:nth-child(6){animation-delay:.5s}
.head{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:34px}
.logo{width:104px;height:104px;border-radius:27px;object-fit:cover;box-shadow:0 14px 40px color-mix(in srgb,var(--acc) 35%,transparent)}
.head .logo{animation:flo 5s ease-in-out infinite}
.ph{display:grid;place-items:center;color:#fff;font-size:2.8rem;font-weight:700}
.q{font-size:1.6rem;font-weight:700;line-height:1.18;letter-spacing:-.03em;margin:0 0 28px}
.big{width:100%;display:flex;align-items:center;gap:16px;text-align:left;margin-bottom:14px;padding:20px 22px;border:0;border-radius:28px;background:var(--card);color:var(--ink);box-shadow:var(--sh);cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s}
.big:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 50px rgba(0,0,0,.14)}.big:active{transform:scale(.98)}
.big .ic{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.7rem;flex:none}
.good .ic{background:rgba(52,199,89,.16)}.bad .ic{background:rgba(255,59,48,.14)}
.big b{font-size:1.3rem;font-weight:600;letter-spacing:-.02em}.big em{margin:0 4px 0 auto;font-style:normal;font-size:1.6rem;color:var(--mut);transition:transform .35s var(--ease)}
.big:hover em{transform:translateX(5px)}
.cust .btn{width:100%;padding:17px;font-size:1.05rem}
.cust textarea,.cust input{width:100%;background:var(--card);border:1px solid transparent;border-radius:18px;padding:15px 16px;margin-bottom:12px;text-align:left;box-shadow:var(--sh);outline:0;transition:box-shadow .25s,border-color .25s}
.cust textarea:focus,.cust input:focus{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 25%,transparent)}
.cust textarea{min-height:140px;resize:vertical}
.lnk{display:block;margin-top:20px;color:var(--acc);text-decoration:none;font-size:.95rem}.lnk:hover{text-decoration:underline}
/* Dashboard */
.dash{max-width:980px;margin:0 auto;padding:12px 20px 80px}
.hero{font-size:clamp(2.7rem,9vw,4.8rem);line-height:1.03;letter-spacing:-.045em;font-weight:700;margin:52px 0 6px;animation:up 1s var(--ease) backwards}
.hero span{background:linear-gradient(92deg,#0071e3,#a855f7 55%,#ff375f);-webkit-background-clip:text;background-clip:text;color:transparent}
.dash .mut{animation:up 1s .1s var(--ease) backwards}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:30px 0 22px}
.st{background:var(--card);border-radius:24px;padding:20px 22px;box-shadow:var(--sh);animation:up .9s var(--ease) backwards}
.st:nth-child(1){animation-delay:.2s}.st:nth-child(2){animation-delay:.28s}.st:nth-child(3){animation-delay:.36s}
.st b{display:block;font-size:2.4rem;font-weight:700;letter-spacing:-.04em;line-height:1.1}.st span{color:var(--mut);font-size:.9rem}
.card{background:var(--card);border-radius:28px;padding:26px;margin-bottom:16px;box-shadow:var(--sh);animation:up .9s .3s var(--ease) backwards;transition:transform .45s var(--ease),box-shadow .45s}
.shopc{animation-delay:calc(var(--i)*90ms + .45s)}.shopc:hover{transform:translateY(-4px);box-shadow:0 22px 56px rgba(0,0,0,.13)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:18px}
label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:500;color:var(--mut)}
.dash input{background:var(--bg);border:1px solid transparent;border-radius:14px;padding:12px 14px;font-size:1rem;color:var(--ink);min-width:0;outline:0;transition:box-shadow .25s,border-color .25s}
.dash input:focus{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 25%,transparent)}
.dash input[type=color]{padding:3px;height:46px;cursor:pointer}
.row{display:flex;gap:8px;flex-wrap:wrap}
.shop{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.shop .logo{width:60px;height:60px;border-radius:16px;font-size:1.5rem;box-shadow:none;animation:none}
.info{flex:1;min-width:210px}.info b{display:block;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.info span{display:block;font-size:.88rem;color:var(--mut);overflow-wrap:anywhere}
.lk{width:100%;margin-top:14px}
.empty{text-align:center;color:var(--mut);padding:36px}

.cust textarea.err{border-color:var(--bad);box-shadow:0 0 0 4px rgba(255,59,48,.2)}
@media (prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}}

.tabs{display:flex;gap:8px;margin:6px 0 20px}.tabs button{border:0;background:var(--card);color:var(--ink);border-radius:980px;padding:9px 20px;cursor:pointer;box-shadow:var(--sh);transition:all .25s}.tabs .on{background:var(--acc);color:#fff}
.dash textarea{width:100%;background:var(--bg);border:1px solid transparent;border-radius:14px;padding:12px 14px;font-size:1rem;outline:0;min-height:80px;resize:vertical}
.dash textarea:focus{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 25%,transparent)}
.fbi .top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;font-size:.88rem;color:var(--mut)}.fbi p{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}.unr{border-left:4px solid var(--acc)}
#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:980px;opacity:0;transition:all .4s var(--ease);z-index:50;pointer-events:none;font-size:.95rem}#toast.show{opacity:1;transform:translate(-50%,0)}
.hp{position:absolute;left:-9999px}.cust .btn:disabled{opacity:.6}

/* v3: Footer, Logo, Name */
.cust{display:flex;flex-direction:column}
@keyframes glow{0%,100%{box-shadow:0 14px 40px color-mix(in srgb,var(--acc) 32%,transparent)}50%{box-shadow:0 24px 76px color-mix(in srgb,var(--acc) 65%,transparent)}}
@keyframes shine{to{background-position:200% center}}
.head .logo{width:min(172px,50vw);height:min(172px,50vw);border-radius:38px;animation:flo 5s ease-in-out infinite,glow 3.4s ease-in-out infinite}
.head .ph{font-size:4.4rem}
.nm{font-size:2.3rem;font-weight:700;letter-spacing:-.04em;background:linear-gradient(90deg,var(--acc),color-mix(in srgb,var(--acc) 40%,#ff2d95),#ffb400,var(--acc));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}
.ft{margin-top:auto;padding-top:56px;text-align:center}.ft .lnk{display:inline-block;margin:0 0 22px}
.ft nav{display:flex;justify-content:center;gap:22px;font-size:.85rem;border-top:1px solid var(--line);padding-top:16px}
.ft nav a{color:var(--mut);text-decoration:none}.ft nav a:hover{color:var(--ink)}
.legal h2{font-size:1.8rem;margin:22px 0 8px}.legal p{margin:0 0 16px}

/* v4 */
.tabs{flex-wrap:wrap}.gh{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin:28px 4px 12px}.btn.sm{padding:9px 18px;font-size:.9rem}
.zg{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.88rem;color:var(--mut)}.zg .row{margin-top:8px;flex-wrap:nowrap}.zg input{flex:1}
.zt{display:inline-flex;gap:6px;align-items:center;background:var(--bg);border-radius:980px;padding:4px 6px 4px 12px;margin:0 6px 6px 0}.zt button{border:0;background:none;color:var(--mut);cursor:pointer;font-size:1rem}
.rpl{margin:12px 0 0;padding:14px 16px;border-radius:16px;background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere}.rpl small{display:block;color:var(--mut);margin-bottom:4px}
.badge{display:inline-block;border-radius:980px;padding:3px 12px;font-size:.8rem;background:var(--bg);color:var(--mut)}

/* v5 */
html{scroll-behavior:smooth}body{display:flex;flex-direction:column;min-height:100dvh}#app{flex:1}
#brand{text-align:center;padding:18px 0 calc(22px + env(safe-area-inset-bottom,0px));font-size:.85rem}
#brand a{color:var(--mut);text-decoration:none;font-weight:500}#brand a:hover{color:var(--ink)}
.pw{display:inline-flex;gap:6px;align-items:center;margin:0 0 16px;padding:8px 16px;border-radius:980px;background:var(--card);box-shadow:var(--sh);color:var(--mut);text-decoration:none;font-size:.85rem;animation:up .9s 1.1s var(--ease) backwards}
.pw b{background:linear-gradient(90deg,#0071e3,#a855f7,#ff375f);-webkit-background-clip:text;background-clip:text;color:transparent}
.fbi a{color:var(--acc)}
.lp{max-width:980px;margin:0 auto;padding:0 20px 24px}.lp section{animation:up .9s var(--ease) backwards}
.hero2{text-align:center;padding:72px 0 48px}.big1{font-size:clamp(2.6rem,9vw,4.8rem);line-height:1.04;margin:18px 0}
.sub{max-width:640px;margin:0 auto 28px;color:var(--mut);font-size:1.2rem}
.lp h2{font-size:1.8rem;text-align:center;margin:0 0 22px}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-bottom:56px}.g3 .card{margin:0}
.g3 .n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:#fff;font-weight:700;margin-bottom:12px}
.g3 h3{margin:0 0 6px;font-size:1.2rem;letter-spacing:-.02em}.g3 p{margin:0;color:var(--mut)}
.apply{max-width:720px;margin:0 auto 32px;scroll-margin-top:70px}
.lp .apply input:not([type=checkbox]),.lp select,.lp textarea{width:100%;background:var(--bg);border:1px solid transparent;border-radius:14px;padding:12px 14px;font-size:1rem;color:var(--ink);outline:0}
.lp input:focus,.lp select:focus,.lp textarea:focus{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 25%,transparent)}
.lp textarea{min-height:100px;resize:vertical}.lp .apply .btn{width:100%;padding:16px;margin-top:6px}
.chk{flex-direction:row;gap:10px;align-items:flex-start;font-weight:400;line-height:1.4;margin-bottom:14px}.chk input{margin-top:3px}.chk a{color:var(--acc)}

/* v10 */
.lang{position:absolute;top:16px;right:16px;z-index:5;border:0;border-radius:980px;padding:7px 14px;background:var(--card);color:var(--mut);box-shadow:var(--sh);font-weight:600;font-size:.8rem;cursor:pointer}
.sub3{margin:-14px 0 20px}
.cats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.cat:last-child{grid-column:1/-1}
.cat{display:flex;align-items:center;gap:10px;padding:14px;border:2px solid transparent;border-radius:20px;background:var(--card);box-shadow:var(--sh);color:var(--ink);font-weight:600;font-size:.95rem;cursor:pointer;text-align:left;transition:transform .35s var(--ease),border-color .25s,background .25s;animation:up .7s var(--ease) backwards;animation-delay:calc(var(--d) + .25s)}
.cat span{font-size:1.4rem}.cat:hover{transform:translateY(-2px)}.cat:active{transform:scale(.96)}
.cat.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,var(--card))}
.lb{display:block;text-align:left;margin:4px 4px 8px;color:var(--mut);font-size:.9rem}
.ctr{text-align:center}.lp{padding-bottom:96px}
.qh{font-size:1.4rem;letter-spacing:-.02em;text-align:center;margin:0 0 18px}
.opts{display:grid;gap:10px}
.opt{padding:16px 18px;border-radius:18px;border:2px solid transparent;background:var(--bg);color:var(--ink);font-weight:600;font-size:1rem;text-align:left;cursor:pointer;transition:transform .3s var(--ease),border-color .2s;animation:up .6s var(--ease) backwards;animation-delay:var(--d)}
.opt:hover{border-color:var(--acc);transform:translateX(4px)}
.dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}.dots i{width:28px;height:5px;border-radius:5px;background:var(--line)}.dots i.on{background:var(--acc)}
.alt{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.alt a{text-decoration:none;padding:12px 20px;font-size:1rem}
.back{text-align:center;margin-top:16px;color:var(--mut)}
.cbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;gap:4px;padding:6px;border-radius:980px;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);box-shadow:var(--sh);z-index:20;animation:up .9s 1.2s var(--ease) backwards}
.cbar a{padding:10px 16px;border-radius:980px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9rem}.cbar a.p{background:var(--acc);color:#fff}
/* Logo-Intro */
html.intro body{visibility:hidden}
#intro{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#f7f5f2;animation:ifade .5s 2s forwards;cursor:pointer}
#intro .in{display:flex;flex-direction:column;align-items:center;gap:18px}
#intro svg{width:128px;height:128px;overflow:visible;filter:drop-shadow(0 8px 20px rgba(230,185,79,.25));animation:ipop 1.2s var(--ease) both}
#intro .st{fill:rgba(246,220,143,0);stroke:#e6b94f;stroke-width:3.5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:idraw .9s .15s ease forwards,ifill .5s .95s forwards}
#intro b{font:700 2.6rem/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;opacity:0;letter-spacing:.45em;color:#23262f;animation:iword .9s .85s var(--ease) forwards}
@keyframes idraw{to{stroke-dashoffset:0}}@keyframes ifill{to{fill:#f6dc8f}}
@keyframes iword{from{opacity:0;letter-spacing:.45em;transform:translateY(12px)}to{opacity:1;letter-spacing:-.02em;transform:none}}
@keyframes ipop{from{transform:scale(.6) rotate(-20deg)}to{transform:none}}
@keyframes ifade{to{opacity:0;visibility:hidden}}

/* v11 */
.bar{height:10px;border-radius:10px;background:var(--bg);overflow:hidden;margin:6px 0 4px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#0071e3,#a855f7);border-radius:10px}
.statc h2{text-align:left;margin-bottom:12px}.statc .stats{margin:0 0 12px}.exb{margin:0 0 14px}
.qrp{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.qrc{width:132px;height:132px;border-radius:12px;image-rendering:pixelated;background:#fff}
.qrt{flex:1;min-width:180px;display:flex;flex-direction:column;gap:6px;font-size:.88rem;overflow-wrap:anywhere}


/* Enhanced & Enlarged Booking Request Tile (.apply) */
.card.apply {
  max-width: 840px !important;
  margin: 0 auto 48px !important;
  padding: 44px 38px !important;
  border: 2px solid color-mix(in srgb, var(--acc) 60%, transparent) !important;
  box-shadow: 0 16px 50px color-mix(in srgb, var(--acc) 30%, transparent) !important;
  transform: scale(1.03);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.card.apply:hover {
  transform: scale(1.04);
}
.apply h2 {
  font-size: 2.3rem !important;
  margin-bottom: 20px !important;
}
.apply .eyebrow {
  font-size: 1rem !important;
  padding: 6px 14px !important;
  margin-bottom: 12px !important;
}
.apply .qh {
  font-size: 1.4rem !important;
}
.apply .opt {
  padding: 18px 22px !important;
  font-size: 1.1rem !important;
}
.apply .btn {
  padding: 18px 24px !important;
  font-size: 1.15rem !important;
}
@media (max-width: 600px) {
  .card.apply {
    padding: 28px 20px !important;
    transform: none !important;
  }
}
