.cb-wrap{--a:var(--cb-accent,#a878ff);--line:rgba(255,255,255,.09);--fg:#fff;--mut:#9b96b0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--fg);line-height:1.4;box-sizing:border-box}
.cb-wrap *,.cb-wrap *::before,.cb-wrap *::after{box-sizing:border-box}
.cb-card{position:relative;border-radius:22px;padding:34px 30px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% -20%,#2a1656 0%,#150f26 42%,#0e0a19 100%);
  border:1px solid rgba(255,255,255,.07);box-shadow:0 -1px 0 0 color-mix(in srgb,var(--a) 55%,transparent) inset,0 30px 80px rgba(8,4,20,.5)}
.cb-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr .85fr;gap:0 26px;align-items:start}

/* intro */
.cb-eyebrow{display:block;font-size:10px;letter-spacing:.14em;color:#b9a5ee;font-weight:600;margin-bottom:14px}
.cb-title{margin:0 0 14px!important;font-size:31px!important;line-height:1.15!important;font-weight:700!important;color:#fff!important;letter-spacing:-.01em}
.cb-accent{color:var(--a)}
.cb-lead{margin:0 0 20px!important;font-size:12.5px;color:#c4bfd6;line-height:1.55}
.cb-features{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:14px}
.cb-features li{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:500;color:#e6e2f2;margin:0;padding:0}
.cb-features li::before{display:none}
.cb-tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--a);display:inline-grid;place-items:center;color:#1a1030}
.cb-tick svg{width:12px;height:12px;stroke-width:3.2}
.cb-tick-lg{width:56px;height:56px}.cb-tick-lg svg{width:28px;height:28px}

/* fields */
.cb-fields{display:grid;gap:14px}
.cb-field{display:flex;align-items:center;gap:11px;height:50px;padding:0 15px;margin:0;border-radius:12px;background:rgba(255,255,255,.035);
  border:1px solid var(--line);color:#8d88a3;transition:border-color .15s,box-shadow .15s}
.cb-field:focus-within{border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb,var(--a) 22%,transparent)}
.cb-field svg{flex:none;width:17px;height:17px}
.cb-wrap input.cb-fi,.cb-field input,.cb-field select{all:unset;box-sizing:border-box;flex:1;min-width:0;font:inherit;font-size:12.5px;color:#fff}
.cb-field input::placeholder{color:#7c7793;opacity:1}
.cb-phone{gap:8px}
.cb-flag{width:22px;height:15px;object-fit:cover;border-radius:2px;flex:none}
.cb-phone select{flex:none;width:58px;cursor:pointer;color:#d9d5e8;text-overflow:clip}
.cb-phone select option{color:#111;background:#fff}
.cb-phone input{padding-left:6px}
.cb-hp{position:absolute!important;left:-9999px!important;height:0;width:0;opacity:0}

/* columns */
.cb-col{border-left:1px solid rgba(255,255,255,.07);padding-left:26px;min-height:100%}
.cb-h{margin:0 0 14px!important;font-size:13px!important;font-weight:600!important;color:#fff!important;line-height:1.2}
.cb-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px}
.cb-month{font-weight:600;color:#e6e2f2}
.cb-nav{all:unset;box-sizing:border-box;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;color:#e6e2f2;border-radius:6px}
.cb-nav:hover{background:rgba(255,255,255,.08)}
.cb-nav svg{width:13px;height:13px}
.cb-nav[disabled]{opacity:.25;cursor:default;pointer-events:none}
.cb-dow,.cb-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;direction:ltr}
.cb-dow span{font-size:9.5px;font-weight:600;color:#c9c4dc;padding-bottom:9px}
.cb-days{row-gap:4px}
.cb-day{all:unset;box-sizing:border-box;height:30px;width:30px;margin:0 auto;display:grid;place-items:center;border-radius:50%;
  font-size:11.5px;color:#e6e2f2;cursor:pointer;transition:background .12s}
.cb-day:hover{background:rgba(255,255,255,.1)}
.cb-day[disabled]{color:#4d4863;cursor:default;pointer-events:none}
.cb-day.is-sel{background:var(--a);color:#1a1030;font-weight:700;box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 25%,transparent)}
.cb-day:focus-visible,.cb-slot:focus-visible,.cb-submit:focus-visible,.cb-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* times */
.cb-tz{display:block;margin:-8px 0 14px;font-size:10px;color:var(--mut)}
.cb-slots{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}
.cb-slot{all:unset;box-sizing:border-box;height:36px;display:grid;place-items:center;border-radius:9px;font-size:10.5px;font-weight:500;color:#e6e2f2;
  background:rgba(255,255,255,.045);border:1px solid var(--line);cursor:pointer;transition:background .12s,border-color .12s}
.cb-slot:hover{border-color:var(--a)}
.cb-slot.is-sel{background:var(--a);border-color:var(--a);color:#1a1030;font-weight:700}
.cb-slot[disabled]{opacity:.3;text-decoration:line-through;cursor:default;pointer-events:none}
.cb-msg{grid-column:1/-1;margin:0;font-size:11.5px;color:var(--mut)}
.cb-error{margin:0 0 10px;font-size:11.5px;color:#ff9bb0}
.cb-submit{all:unset;box-sizing:border-box;width:100%;height:50px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;cursor:pointer;
  font:inherit;font-size:13px;font-weight:600;color:#1a1030;background:linear-gradient(180deg,color-mix(in srgb,var(--a) 82%,#fff) 0%,var(--a) 100%);
  box-shadow:0 10px 26px color-mix(in srgb,var(--a) 35%,transparent);transition:transform .12s,filter .12s}
.cb-submit:hover{filter:brightness(1.06)}.cb-submit:active{transform:translateY(1px)}
.cb-submit svg{width:15px;height:15px}
.cb-submit.is-busy{opacity:.6;pointer-events:none}

/* done */
.cb-done{display:grid;justify-items:center;text-align:center;gap:6px;padding:46px 12px}
.cb-done[hidden]{display:none}
.cb-done h3{margin:12px 0 0!important;font-size:26px!important;color:#fff!important}
.cb-done p{margin:0;color:#c4bfd6;font-size:14px}
.cb-done .cb-done-when{color:#fff;font-weight:600;font-size:15px;margin-top:4px}
.cb-error[hidden],.cb-grid[hidden]{display:none}

@media (max-width:1080px){
  .cb-grid{grid-template-columns:1fr 1fr;gap:34px 30px}
  .cb-cal{border-left:0;padding-left:0}
}
@media (max-width:680px){
  .cb-card{padding:26px 18px;border-radius:18px}
  .cb-grid{grid-template-columns:1fr}
  .cb-col{border-left:0;padding-left:0}
  .cb-title{font-size:26px!important}
  .cb-slots{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){.cb-wrap *{transition:none!important}}
