/* ============ Book a demo ============ */
.bd-hero{padding:70px 0 22px;text-align:center}
.bd-hero .wrap{max-width:780px}
.bd-hero .subline{color:var(--muted);font-weight:300;font-size:1.08rem;margin-top:16px;line-height:1.6}

.bd-wrap{max-width:1120px;margin:0 auto;padding:0 30px 96px}
.bd-card{padding:0;overflow:hidden}

/* step header strip */
.bd-steps{display:flex;gap:8px;padding:20px 30px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.bd-step{display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:500;color:var(--faint);padding:6px 14px 6px 6px;border-radius:100px;transition:.2s}
.bd-step .n{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:rgba(255,255,255,.06);border:1px solid var(--line-hi);color:var(--muted)}
.bd-step.active{color:#fff}
.bd-step.active .n{background:linear-gradient(100deg,var(--cobalt),var(--cobalt-bright));border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(42,100,255,.4)}
.bd-step.done .n{background:rgba(99,214,155,.16);border-color:rgba(99,214,155,.4);color:var(--good)}

.bd-body{padding:30px}
.bd-block-title{font-size:1.02rem;font-weight:600;color:#fff;margin-bottom:4px}
.bd-block-sub{font-size:.86rem;color:var(--muted);font-weight:300;margin-bottom:20px;line-height:1.55}

/* region chooser */
.bd-regions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
@media(max-width:720px){.bd-regions{grid-template-columns:1fr}}
.bd-region{cursor:pointer;text-align:left;background:rgba(255,255,255,.035);border:1px solid var(--line-hi);border-radius:16px;padding:18px 18px 16px;transition:.2s;color:inherit;font-family:inherit}
.bd-region:hover{border-color:rgba(42,100,255,.5);transform:translateY(-2px)}
.bd-region.sel{border-color:var(--cobalt-bright);background:linear-gradient(160deg,rgba(42,100,255,.16),rgba(42,100,255,.04));box-shadow:0 10px 30px rgba(42,100,255,.22)}
.bd-region .ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(42,100,255,.14);color:var(--cobalt-glow);border:1px solid rgba(42,100,255,.2);margin-bottom:12px}
.bd-region .ic svg{width:20px;height:20px}
.bd-region .t{font-weight:600;font-size:.98rem;color:#fff}
.bd-region .d{font-size:.8rem;color:var(--muted);font-weight:300;margin-top:3px;line-height:1.45}

.bd-tzrow{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:6px}
.bd-tzrow label{font-size:.8rem;font-weight:600;color:#eef0f7}
.bd-select{width:100%;max-width:420px;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:400;color:#fff;
  background:rgba(255,255,255,.05);border:1px solid var(--line-hi);border-radius:11px;padding:12px 40px 12px 14px;transition:.16s;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa0bd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.bd-select:hover{border-color:rgba(42,100,255,.5)}
.bd-select:focus{outline:none;border-color:var(--cobalt-bright);box-shadow:0 0 0 3px rgba(42,100,255,.18)}
.bd-select option{background:var(--bg2);color:#fff}
.bd-hours{font-size:.8rem;color:var(--faint);font-weight:300;margin-top:14px;line-height:1.5}
.bd-hours b{color:var(--sky);font-weight:600}

/* schedule two-column */
.bd-sched{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:8px}
@media(max-width:820px){.bd-sched{grid-template-columns:1fr}}

/* calendar */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-title{font-weight:600;font-size:1rem;color:#fff}
.cal-nav{display:flex;gap:8px}
.cal-nav button{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid var(--line-hi);color:#cfd3e6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.16s}
.cal-nav button:hover:not(:disabled){background:rgba(42,100,255,.16);color:#fff}
.cal-nav button:disabled{opacity:.3;cursor:not-allowed}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-dow{text-align:center;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:700;padding-bottom:6px}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.86rem;font-weight:500;color:#e9ebf5;cursor:pointer;border:1px solid transparent;transition:.14s;background:rgba(255,255,255,.03)}
.cal-day:hover:not(.disabled){background:rgba(42,100,255,.16);border-color:rgba(42,100,255,.4)}
.cal-day.disabled{color:var(--faint);opacity:.35;cursor:not-allowed;background:transparent}
.cal-day.empty{background:transparent;cursor:default}
.cal-day.sel{background:linear-gradient(100deg,var(--cobalt),var(--cobalt-bright));color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(42,100,255,.45)}
.cal-day.today:not(.sel){border-color:rgba(159,192,255,.5)}

/* slots */
.slots-head{font-weight:600;font-size:1rem;color:#fff;margin-bottom:3px}
.slots-sub{font-size:.82rem;color:var(--muted);font-weight:300;margin-bottom:16px;line-height:1.5}
.slots-sub b{color:var(--sky);font-weight:600}
.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-height:340px;overflow:auto;padding-right:4px}
@media(max-width:820px){.slots-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.slots-grid{grid-template-columns:repeat(3,1fr)}}
.slot{position:relative;text-align:center;padding:11px 6px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid var(--line-hi);color:#e9ebf5;font-size:.9rem;font-weight:500;cursor:pointer;transition:.14s;font-family:inherit}
.slot:hover{border-color:var(--cobalt-bright);background:rgba(42,100,255,.16);color:#fff;transform:translateY(-1px)}
.slot.sel{background:linear-gradient(100deg,var(--cobalt),var(--cobalt-bright));color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(42,100,255,.4)}
.slot .nx{position:absolute;top:-7px;right:-6px;font-size:.58rem;font-weight:700;letter-spacing:.03em;background:var(--slate);color:#fff;border-radius:6px;padding:1px 5px}
.slots-empty{color:var(--muted);font-weight:300;font-size:.9rem;padding:26px 0;text-align:center}
.slots-placeholder{color:var(--faint);font-weight:300;font-size:.9rem;padding:40px 10px;text-align:center;line-height:1.6}

/* details / confirm */
.bd-confirm{margin-top:26px;padding-top:24px;border-top:1px solid var(--line);display:none}
.bd-confirm.show{display:block}
.bd-summary{display:flex;flex-wrap:wrap;gap:10px 26px;margin-bottom:22px}
.bd-summary .s{display:flex;align-items:center;gap:9px;font-size:.9rem;color:#e9ebf5;font-weight:300}
.bd-summary .s svg{width:17px;height:17px;color:var(--cobalt-glow);flex:none}
.bd-summary .s b{color:#fff;font-weight:600}
.bd-details{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.bd-details{grid-template-columns:1fr}}
.bd-details .full{grid-column:1/-1}
.bd-details label{display:block;font-size:.78rem;font-weight:600;color:#eef0f7;margin-bottom:7px}
.bd-details label .req{color:var(--cobalt-glow)}
.bd-details label .opt{color:var(--faint);font-weight:400}
.bd-details input,.bd-details textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line-hi);border-radius:11px;padding:12px 14px;color:#fff;font-family:'Poppins',sans-serif;font-size:.92rem}
.bd-details textarea{resize:vertical;min-height:96px;line-height:1.55}
.bd-details input::placeholder,.bd-details textarea::placeholder{color:var(--faint)}
.bd-details input:focus,.bd-details textarea:focus{outline:none;border-color:var(--cobalt-bright);box-shadow:0 0 0 3px rgba(42,100,255,.18)}
.bd-confirm-btn{margin-top:22px;justify-content:center;cursor:pointer;border:none;font-size:.98rem;padding:15px 26px;width:100%}
.bd-fineprint{font-size:.78rem;color:var(--faint);font-weight:300;margin-top:14px;line-height:1.55;text-align:center}

/* success */
.bd-success{display:none;text-align:center;padding:56px 24px}
.bd-success .tick{width:72px;height:72px;border-radius:50%;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,rgba(99,214,155,.24),rgba(99,214,155,.06));border:1px solid rgba(99,214,155,.42);color:var(--good)}
.bd-success h2{font-size:1.7rem;margin-bottom:12px}
.bd-success p{color:var(--muted);font-weight:300;font-size:1rem;max-width:460px;margin:0 auto 6px;line-height:1.65}
.bd-success .recap{display:inline-flex;flex-direction:column;gap:6px;margin:24px auto 0;text-align:left;color:#e9ebf5;font-weight:300;font-size:.95rem}
.bd-success .recap b{color:#fff;font-weight:600}
.bd-success .again{margin-top:28px}
.bd-hidden{display:none !important}
