/* SloNick booking window */
.bkx{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(3,5,14,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.bkx.on{display:flex;animation:bkxFade .35s ease}
@keyframes bkxFade{from{opacity:0}to{opacity:1}}
.bkx *{box-sizing:border-box}
.bkx .k-win{position:relative;width:min(1040px,100%);height:min(700px,94vh);display:grid;grid-template-columns:300px minmax(0,1fr);border-radius:28px;overflow:hidden;
 background:linear-gradient(160deg,rgba(16,24,62,.92),rgba(4,6,14,.96));border:.5px solid rgba(255,255,255,.16);
 box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 70px rgba(31,81,255,.28),inset 0 1px 0 rgba(255,255,255,.16);animation:bkxPop .45s cubic-bezier(.2,.9,.25,1.15)}
@keyframes bkxPop{from{transform:translateY(18px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.bkx .k-close{position:absolute;top:16px;right:16px;z-index:5;width:38px;height:38px;border-radius:50%;border:.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;font:300 24px/1 Inter;cursor:pointer;transition:.2s}
.bkx .k-close:hover{background:rgba(25,211,255,.16);box-shadow:0 0 16px rgba(25,211,255,.45)}

/* left side */
.bkx .k-side{min-width:0;position:relative;padding:30px 26px;border-right:.5px solid rgba(255,255,255,.08);background:radial-gradient(120% 70% at 0% 0%,rgba(31,81,255,.32),transparent 60%),radial-gradient(90% 60% at 100% 100%,rgba(25,211,255,.12),transparent 60%);display:flex;flex-direction:column;overflow:hidden}
.bkx .k-brand{font:800 18px Unbounded;letter-spacing:-.03em;color:#fff}
.bkx .k-brand span{background:linear-gradient(90deg,#1F51FF,#19D3FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.bkx .k-orb{position:relative;width:84px;height:84px;margin:26px 0 18px}
.bkx .k-orb i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 30%,#9fe9ff,#19D3FF 22%,#1F51FF 60%,#0a1450 100%);box-shadow:0 0 30px rgba(25,211,255,.55),0 0 70px rgba(31,81,255,.6);animation:bkxFloat 6s ease-in-out infinite}
.bkx .k-orb b{position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(25,211,255,.35);transform:rotateX(70deg);animation:bkxSpin 9s linear infinite}
.bkx .k-orb b:after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 12px #19D3FF}
@keyframes bkxFloat{50%{transform:translateY(-6px)}}
@keyframes bkxSpin{to{transform:rotateX(70deg) rotate(360deg)}}
.bkx h3{margin:0;font:800 24px/1.15 Unbounded;letter-spacing:-.02em;color:#fff}
.bkx .k-lead{margin:8px 0 18px;color:#a8b4dc;font-size:14px;line-height:1.55}
.bkx .k-meta{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.bkx .k-meta div{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#d6defa}
.bkx .k-meta svg{flex:none;width:18px;height:18px;color:#19D3FF}
.bkx .k-steps{margin-top:auto;display:flex;flex-direction:column;gap:0;position:relative}
.bkx .k-st{display:flex;align-items:center;gap:12px;padding:9px 0;color:#6f7aa3;font-size:13.5px;font-weight:500;position:relative;transition:color .3s}
.bkx .k-st em{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:700 12px Inter;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);transition:.35s;position:relative;z-index:1}
.bkx .k-st:not(:last-child):after{content:"";position:absolute;left:12.5px;top:35px;width:1px;height:18px;background:rgba(255,255,255,.14)}
.bkx .k-st.k-on{color:#fff}.bkx .k-st.k-on em{background:linear-gradient(135deg,#1F51FF,#19D3FF);border-color:transparent;color:#fff;box-shadow:0 0 16px rgba(25,211,255,.6)}
.bkx .k-st.k-past{color:#a8b4dc}.bkx .k-st.k-past em{background:rgba(25,211,255,.16);border-color:rgba(25,211,255,.5);color:#19D3FF}
.bkx .k-pick{margin-top:18px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.05);border:.5px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);opacity:.45;transition:.35s}
.bkx .k-pick.k-has{opacity:1;border-color:rgba(25,211,255,.45);box-shadow:0 0 22px rgba(25,211,255,.18),inset 0 1px 0 rgba(255,255,255,.14)}
.bkx .k-pick small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7f8bb4;margin-bottom:4px}
.bkx .k-pick strong{font:600 15px Inter;color:#fff}
.bkx .k-pick span{display:block;font-size:13px;color:#19D3FF;margin-top:2px}

/* right side */
.bkx .k-main{min-width:0;position:relative;padding:30px 34px 26px;display:flex;flex-direction:column;min-height:0}
.bkx .k-pane{display:none;flex-direction:column;min-height:0;flex:1;animation:bkxIn .4s ease}
.bkx .k-pane.k-on{display:flex}
@keyframes bkxIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.bkx .k-ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 52px 18px 0}
.bkx .k-ph h4{margin:0;font:800 20px Unbounded;letter-spacing:-.02em;color:#fff}
.bkx .k-ph p{margin:6px 0 0;font-size:13px;color:#8B95B8}
.bkx .k-tz{font-size:12px;color:#a8b4dc;padding:6px 11px;border-radius:999px;border:.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);white-space:nowrap}

/* date rail */
.bkx .k-railw{position:relative;display:flex;align-items:center;gap:8px}
.bkx .k-rail{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 10px;flex:1;scroll-snap-type:x mandatory}
.bkx .k-rail::-webkit-scrollbar{display:none}
.bkx .k-nav{flex:none;width:34px;height:34px;border-radius:50%;border:.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#cfe0ff;cursor:pointer;font-size:15px;transition:.2s}
.bkx .k-nav:hover{background:rgba(25,211,255,.14)}
.bkx .k-day{flex:none;width:86px;scroll-snap-align:start;padding:12px 8px 11px;border-radius:18px;cursor:pointer;text-align:center;color:#cfd8f6;
 background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:.5px solid rgba(255,255,255,.14);transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.bkx .k-day:hover{transform:translateY(-3px);border-color:rgba(25,211,255,.45)}
.bkx .k-day b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7f8bb4;font-weight:600}
.bkx .k-day strong{display:block;font:800 26px/1.1 Unbounded;color:#fff;margin:6px 0 2px}
.bkx .k-day span{display:block;font-size:11.5px;color:#8B95B8}
.bkx .k-day i{display:block;height:3px;border-radius:3px;margin:9px 8px 0;background:rgba(255,255,255,.1);overflow:hidden;position:relative}
.bkx .k-day i:after{content:"";position:absolute;inset:0;width:var(--f,50%);background:linear-gradient(90deg,#1F51FF,#19D3FF)}
.bkx .k-day.k-on{background:linear-gradient(160deg,rgba(31,81,255,.55),rgba(25,211,255,.25));border-color:rgba(25,211,255,.8);box-shadow:0 0 24px rgba(25,211,255,.35),inset 0 1px 0 rgba(255,255,255,.3)}
.bkx .k-day.k-on b,.bkx .k-day.k-on span{color:#e6f6ff}

/* time slots */
.bkx .k-times{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.bkx .k-grp{margin-bottom:16px}
.bkx .k-grp h5{margin:0 0 9px;display:flex;align-items:center;gap:8px;font:600 11px Inter;letter-spacing:.14em;text-transform:uppercase;color:#7f8bb4}
.bkx .k-grp h5:after{content:"";flex:1;height:.5px;background:rgba(255,255,255,.1)}
.bkx .k-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.bkx .k-slot{padding:11px 0;border-radius:12px;border:.5px solid rgba(120,150,255,.3);background:rgba(31,81,255,.08);color:#dfe8ff;font:600 14px Inter;cursor:pointer;transition:.18s;opacity:0;animation:bkxSlot .35s ease forwards}
.bkx .k-slot:hover{background:rgba(31,81,255,.22);border-color:rgba(25,211,255,.6);transform:translateY(-1px)}
.bkx .k-slot.k-on{background:linear-gradient(135deg,#1F51FF,#19D3FF);border-color:transparent;color:#fff;box-shadow:0 0 22px rgba(25,211,255,.5)}
@keyframes bkxSlot{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* buttons */
.bkx .k-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin-top:auto;border-top:.5px solid rgba(255,255,255,.08)}
.bkx .k-hint{font-size:13px;color:#8B95B8}
.bkx .k-go{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border:0;border-radius:999px;cursor:pointer;font:600 14.5px Inter;color:#fff;
 background:linear-gradient(135deg,#1F51FF,#19D3FF);box-shadow:0 8px 26px rgba(31,81,255,.45),inset 0 1px 0 rgba(255,255,255,.35);transition:.2s}
.bkx .k-go:hover{transform:translateY(-1px);box-shadow:0 10px 32px rgba(25,211,255,.5),inset 0 1px 0 rgba(255,255,255,.35)}
.bkx .k-go:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.bkx .k-go .k-sp{display:none;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:bkxRot .8s linear infinite}
.bkx .k-go.k-busy .k-sp{display:block}
@keyframes bkxRot{to{transform:rotate(360deg)}}
.bkx .k-back{border:0;background:none;color:#a8b4dc;font:500 14px Inter;cursor:pointer;padding:8px 4px}
.bkx .k-back:hover{color:#fff}

/* form */
.bkx form{display:grid;grid-template-columns:1fr 1fr;gap:14px;overflow-y:auto;padding:2px 6px 4px 2px;align-content:start}
.bkx .k-fld{position:relative;display:flex;flex-direction:column;gap:7px}
.bkx .k-fld.k-full{grid-column:1/-1}
.bkx .k-fld label{font:600 11px Inter;letter-spacing:.12em;text-transform:uppercase;color:#8B95B8}
.bkx .k-fld label em{font-style:normal;color:#19D3FF}
.bkx input,.bkx textarea{width:100%;padding:13px 15px;border-radius:14px;border:.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;font:400 15px Inter;outline:none;transition:.2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.bkx textarea{resize:none;min-height:86px;line-height:1.5}
.bkx input::placeholder,.bkx textarea::placeholder{color:#5f6a90}
.bkx input:focus,.bkx textarea:focus{border-color:rgba(25,211,255,.7);background:rgba(31,81,255,.1);box-shadow:0 0 0 3px rgba(25,211,255,.14)}
.bkx .k-fld.k-bad input{border-color:#ff5c7a;box-shadow:0 0 0 3px rgba(255,92,122,.15)}
.bkx .k-chips{display:flex;flex-wrap:wrap;gap:8px}
.bkx .k-chip{padding:9px 14px;border-radius:999px;border:.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#cfd8f6;font:500 13.5px Inter;cursor:pointer;transition:.18s;user-select:none}
.bkx .k-chip:hover{border-color:rgba(25,211,255,.5)}
.bkx .k-chip.k-on{background:rgba(25,211,255,.16);border-color:rgba(25,211,255,.8);color:#fff;box-shadow:0 0 14px rgba(25,211,255,.25)}
.bkx .k-chip.k-on:before{content:"✓ ";color:#19D3FF}
.bkx .k-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.bkx .k-err{color:#ff8da1;font-size:13px;min-height:18px}

/* states */
.bkx .k-load{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px}
.bkx .k-load div{height:96px;border-radius:18px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.1),rgba(255,255,255,.04));background-size:200% 100%;animation:bkxShim 1.2s linear infinite}
@keyframes bkxShim{to{background-position:-200% 0}}
.bkx .k-empty{margin:auto;text-align:center;color:#a8b4dc;font-size:14px;line-height:1.6;max-width:360px}
.bkx .k-empty a{color:#19D3FF}

/* done */
.bkx .k-done{margin:auto;text-align:center;max-width:440px;display:flex;flex-direction:column;align-items:center}
.bkx .k-tick{width:96px;height:96px;margin-bottom:22px;position:relative}
.bkx .k-tick svg{width:100%;height:100%;overflow:visible}
.bkx .k-tick circle{fill:none;stroke:url(#bkxg);stroke-width:3;stroke-dasharray:290;stroke-dashoffset:290;animation:bkxDraw .8s ease forwards;filter:drop-shadow(0 0 10px rgba(25,211,255,.7))}
.bkx .k-tick path{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:bkxDraw .45s .65s ease forwards}
@keyframes bkxDraw{to{stroke-dashoffset:0}}
.bkx .k-done h4{margin:0;font:800 26px Unbounded;letter-spacing:-.02em;color:#fff}
.bkx .k-done p{color:#a8b4dc;font-size:14.5px;line-height:1.6;margin:10px 0 0}
.bkx .k-done .k-when{margin:20px 0 6px;padding:14px 20px;border-radius:16px;border:.5px solid rgba(25,211,255,.45);background:rgba(25,211,255,.08);color:#fff;font:600 16px Inter;box-shadow:0 0 24px rgba(25,211,255,.15)}
.bkx .k-done .k-go{margin-top:22px}

@media (max-width:820px){
 .bkx{padding:0;align-items:stretch}
 .bkx .k-win{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100%;width:100%;border-radius:0}
 .bkx .k-side{padding:18px 18px 14px;border-right:0;border-bottom:.5px solid rgba(255,255,255,.08);flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px}
 .bkx .k-orb,.bkx .k-lead,.bkx .k-meta,.bkx .k-steps{display:none}
 .bkx .k-side h3{font-size:17px;width:100%}
 .bkx .k-brand{font-size:14px}
 .bkx .k-pick{margin:6px 0 0;width:100%;padding:10px 14px}
 .bkx .k-main{padding:18px 16px 16px}
 .bkx .k-ph{margin-right:0;flex-direction:column;align-items:flex-start;gap:8px}
 .bkx .k-close{top:12px;right:12px}
 .bkx form{grid-template-columns:1fr}
 .bkx .k-day{width:74px}
 .bkx .k-nav{display:none}
}
.bkx .k-msg{font-size:12px;color:#ff8da1}
.bkx .k-fld.k-bad input{border-color:#ff5c7a;box-shadow:0 0 0 3px rgba(255,92,122,.15)}
