/* Kalryn booking widget */
.kb{position:relative;margin:6px 0 18px;padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.1);text-align:left;background:radial-gradient(420px 180px at 0% 0%,rgba(61,220,132,.1),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.kb-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.kb-ico{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#3ddc84;background:rgba(61,220,132,.1);border:1px solid rgba(61,220,132,.3)}
.kb-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kb-head b{display:block;font:600 16px/1.2 "Space Grotesk",Inter,sans-serif;color:#f4f4f6}
.kb-head small{display:block;margin-top:3px;font-size:13px;color:rgba(236,236,240,.6)}
.kb-tz{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 12px;font-size:13px;color:rgba(236,236,240,.6)}
.kb-tzbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#ececf0;font-size:13px;transition:border-color .25s}
.kb-tzbtn:hover,.kb-tzbtn:focus-visible{border-color:rgba(61,220,132,.55)}
.kb-tzsel{width:100%;height:42px;margin:0 0 12px;padding:0 12px;border-radius:12px;background:#141417;color:#ececf0;border:1px solid rgba(255,255,255,.14);font:14px Inter,sans-serif}
.kb-days{position:relative;display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px 6px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.kb-days::-webkit-scrollbar{display:none}
.kb-day{all:unset;box-sizing:border-box;flex:none;scroll-snap-align:start;width:64px;padding:9px 0 8px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);transition:border-color .25s,background .25s,box-shadow .25s}
.kb-day small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(236,236,240,.55)}
.kb-day b{font:600 20px/1.1 "Space Grotesk",sans-serif;color:#f4f4f6}
.kb-day em{margin-top:3px;font-style:normal;font-size:10.5px;color:#7fe9b0}
.kb-day:hover{border-color:rgba(255,255,255,.24)}
.kb-day.is-on{border-color:#3ddc84;background:linear-gradient(180deg,rgba(61,220,132,.2),rgba(61,220,132,.06));box-shadow:0 0 0 4px rgba(61,220,132,.08),0 10px 30px -12px rgba(61,220,132,.6)}
.kb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;min-height:42px}
.kb-slot{all:unset;box-sizing:border-box;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:500 14px Inter,sans-serif;color:#ececf0;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);transition:background .2s,border-color .2s,box-shadow .2s,color .2s}
.kb-slot:hover{border-color:rgba(61,220,132,.5);background:rgba(61,220,132,.06)}
.kb-slot:focus-visible,.kb-day:focus-visible{outline:2px solid #3ddc84;outline-offset:2px}
.kb-slot.is-night{color:rgba(236,236,240,.55)}
.kb-slot span{font-size:12px;color:#a78bfa}
.kb-slot.is-on{color:#04200f;font-weight:600;background:#3ddc84;border-color:#3ddc84;box-shadow:0 0 24px rgba(61,220,132,.45)}
.kb-slot.is-on span{color:#04200f}
.kb-in{animation:kb-in .35s cubic-bezier(.2,.7,.2,1) both}
@keyframes kb-in{from{opacity:0;transform:translateY(6px)}}
.kb-load{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.kb-load i{height:42px;border-radius:12px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%;animation:kb-sk 1.4s linear infinite}
@keyframes kb-sk{from{background-position:200% 0}to{background-position:-200% 0}}
.kb-empty{grid-column:1/-1;margin:0;font-size:14px;line-height:1.5;color:rgba(236,236,240,.65)}
.kb-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(61,220,132,.08);border:1px solid rgba(61,220,132,.25);font-size:13.5px;color:#d6fbe6}
.kb-pick[hidden]{display:none}
.kb-pick b{color:#fff;font-weight:600}
.kb-clear{all:unset;cursor:pointer;margin-left:auto;font-size:13px;color:#9ff0c4;text-decoration:underline}
.kb-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:rgba(236,236,240,.55)}
.kb-note.is-err{color:#ff9aa4}
.kb-note.is-ok{color:#9ff0c4}
form.kb-wait{cursor:progress}
.kb-done{margin:20px auto 0;max-width:420px;padding:16px;border-radius:18px;text-align:left;border:1px solid rgba(61,220,132,.3);background:radial-gradient(300px 140px at 0% 0%,rgba(61,220,132,.14),transparent 70%),#0f1210}
.kb-done small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7fe9b0}
.kb-done b{display:block;margin:6px 0 2px;font:600 17px/1.3 "Space Grotesk",sans-serif;color:#fff}
.kb-done p{margin:0 0 12px;font-size:13.5px;color:rgba(236,236,240,.65)}
.kb-done-btns{display:flex;flex-wrap:wrap;gap:8px}
.kb-done-btns a{display:inline-flex;align-items:center;height:36px;padding:0 13px;border-radius:999px;font-size:13px;color:#ececf0;text-decoration:none;border:1px solid rgba(255,255,255,.14)}
.kb-done-btns a:first-child{background:#3ddc84;border-color:#3ddc84;color:#04200f;font-weight:600}
.kb-yt{display:inline-flex;align-items:center;gap:12px;margin-top:18px;padding:10px 16px 10px 10px;border-radius:16px;text-decoration:none;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));transition:border-color .3s,transform .3s}
.kb-yt:hover{border-color:rgba(255,51,85,.5);transform:translateY(-1px)}
.kb-yt-i{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#ff0033;box-shadow:0 8px 24px -8px rgba(255,0,51,.6)}
.kb-yt-i svg{width:20px;height:20px}
.kb-yt b{display:block;font:600 15px/1.2 "Space Grotesk",sans-serif;color:#f4f4f6}
.kb-yt small{display:block;font-size:12.5px;color:rgba(236,236,240,.6)}
.kb-yt-a{margin-left:6px;color:rgba(236,236,240,.5)}
@media (max-width:560px){.kb{padding:14px;border-radius:18px}.kb-slots,.kb-load{grid-template-columns:repeat(3,1fr)}.kb-day{width:58px}}
@media (prefers-reduced-motion:reduce){.kb *{animation:none!important;transition:none!important}}
