/* buildcontrol — Page-specific styles. */
.bk{padding:52px 0 74px;background:var(--screen-bg-alt,#FAFCFF)}
.bk-head{max-width:640px;margin:0 auto 34px;text-align:center}
.bk-head .eyebrow{display:inline-flex;font-family:var(--f-header);font-weight:600;font-size:12.5px;
  letter-spacing:.14em;text-transform:uppercase;color:#1F58AE;margin-bottom:12px}
.bk-head h1{font-family:var(--f-header);font-weight:700;font-size:36px;line-height:1.16;
  color:var(--navy-900);letter-spacing:-.02em}
.bk-head h2{font-family:var(--f-header);font-weight:600;font-size:18px;color:var(--n-600);
  margin-top:8px;letter-spacing:-.01em}
.bk-head p{font-size:15px;color:var(--n-600);margin-top:12px}

/* progress */
.bk-steps{display:flex;align-items:center;justify-content:center;gap:0;max-width:520px;margin:0 auto 32px}
.bk-st{display:flex;align-items:center;gap:9px;font-family:var(--f-header);font-weight:600;font-size:13px;color:var(--n-400)}
.bk-st i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--n-150);
  color:var(--n-500);font-size:12px;font-style:normal;transition:background .25s,color .25s}
.bk-st.on{color:var(--navy-900)}
.bk-st.on i{background:linear-gradient(180deg,#2D6BC8,#1F58AE);color:#fff}
.bk-st.done i{background:#E8F5E8;color:#399C36}
.bk-sep{width:38px;height:2px;background:var(--n-150);margin:0 12px}
@media(max-width:560px){.bk-st span{display:none}.bk-sep{width:24px;margin:0 8px}}

.bk-card{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--n-150);border-radius:16px;
  box-shadow:0 6px 26px rgba(17,57,103,.07);overflow:hidden}
.bk-pane{display:none;padding:28px}
.bk-pane.on{display:block}
@media(max-width:560px){.bk-pane{padding:20px}}

/* step 1 : calendar + slots */
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:780px){.bk-grid{grid-template-columns:1fr;gap:22px}}
.bk-lab{font-family:var(--f-header);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--n-500);margin-bottom:13px}
.cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-mon{font-family:var(--f-header);font-weight:700;font-size:16px;color:var(--navy-900)}
.cal-nav{display:flex;gap:6px}
.cal-nav button{width:30px;height:30px;border-radius:8px;border:1px solid var(--n-150);background:#fff;
  cursor:pointer;display:grid;place-items:center;transition:background .18s}
.cal-nav button:hover:not(:disabled){background:var(--n-50)}
.cal-nav button:disabled{opacity:.35;cursor:not-allowed}
.cal-nav svg{width:14px;height:14px;fill:var(--n-600)}
.cal-dow,.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-dow span{text-align:center;font-size:11px;font-weight:600;color:var(--n-400);padding:5px 0}
.cal-d{aspect-ratio:1;border:none;background:none;border-radius:9px;cursor:pointer;font-family:inherit;
  font-size:13.5px;color:var(--n-800);display:grid;place-items:center;transition:background .16s,color .16s}
.cal-d:hover:not(:disabled){background:#EAF1FB;color:#1F58AE}
.cal-d.sel{background:linear-gradient(180deg,#2D6BC8,#1F58AE);color:#fff;font-weight:700}
.cal-d:disabled{color:var(--n-300);cursor:not-allowed}
.cal-d.today{box-shadow:inset 0 0 0 1.5px #CBD9EC}
.cal-note{font-size:12px;color:var(--n-500);margin-top:12px}

.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:296px;overflow-y:auto;padding-right:4px}
@media(max-width:400px){.slots{grid-template-columns:repeat(2,1fr)}}
.slot{padding:10px 4px;border:1px solid var(--n-150);border-radius:8px;background:#fff;cursor:pointer;
  font-family:inherit;font-size:13px;color:var(--n-800);transition:all .16s}
.slot:hover:not(:disabled){border-color:#2D6BC8;color:#1F58AE}
.slot.sel{background:linear-gradient(180deg,#2D6BC8,#1F58AE);border-color:#1F58AE;color:#fff;font-weight:600}
.slot:disabled{background:var(--n-50);color:var(--n-300);cursor:not-allowed;text-decoration:line-through}
.slot-empty{grid-column:1/-1;padding:26px 10px;text-align:center;font-size:13.5px;color:var(--n-500)}

/* step 2 : form */
.frm{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.frm{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column}
.fld.full{grid-column:1/-1}
.fld label{font-family:var(--f-header);font-weight:600;font-size:12.5px;color:var(--n-700);margin-bottom:6px}
.fld label .req{color:#D83939}
.fld input,.fld select,.fld textarea{height:44px;border:1px solid var(--n-300);border-radius:6px;padding:0 13px;
  font-family:inherit;font-size:14px;color:var(--n-900);background:#fff;transition:border-color .18s,box-shadow .18s}
.fld textarea{height:82px;padding:11px 13px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:#2D6BC8;
  box-shadow:0 0 0 3px rgba(45,107,200,.13)}
.fld input.bad,.fld select.bad{border-color:#D83939;box-shadow:0 0 0 3px rgba(216,57,57,.1)}
.fld .err{font-size:11.5px;color:#D83939;margin-top:5px;display:none}
.fld .err.on{display:block}
.hint{font-size:11.5px;color:var(--n-500);margin-top:5px}

/* summary */
.sum{background:var(--n-50);border-radius:10px;padding:15px 17px;margin-bottom:22px;
  display:flex;align-items:center;gap:13px}
.sum .si{width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:linear-gradient(180deg,#2D6BC8,#1F58AE)}
.sum .si svg{width:19px;height:19px;fill:#fff}
.sum b{display:block;font-family:var(--f-header);font-weight:700;font-size:14.5px;color:var(--navy-900)}
.sum span{font-size:12.5px;color:var(--n-500)}
.sum .chg{margin-left:auto;background:none;border:none;cursor:pointer;font-family:var(--f-header);
  font-weight:600;font-size:12.5px;color:#1F58AE;padding:6px}

.bk-foot{display:flex;justify-content:space-between;gap:12px;margin-top:24px;
  padding-top:20px;border-top:1px solid var(--n-150)}
.bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;
  border-radius:7px;border:none;cursor:pointer;font-family:var(--f-header);font-weight:700;font-size:14.5px;
  transition:transform .18s,opacity .18s}
.bk-btn.pri{background:linear-gradient(180deg,#2D6BC8,#1F58AE);color:#fff;box-shadow:0 3px 12px rgba(31,88,174,.25)}
.bk-btn.pri:hover:not(:disabled){transform:translateY(-2px)}
.bk-btn.pri:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.bk-btn.gho{background:#fff;border:1px solid var(--n-200);color:var(--n-700)}
.bk-btn svg{width:16px;height:16px;fill:currentColor}

/* done */
.done{text-align:center;padding:16px 8px 8px}
.done-ic{width:66px;height:66px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;
  background:#E8F5E8}
.done-ic svg{width:32px;height:32px;fill:#399C36}
.done h3{font-family:var(--f-header);font-weight:700;font-size:24px;color:var(--navy-900);margin-bottom:9px}
.done p{font-size:14.5px;line-height:1.6;color:var(--n-600);max-width:430px;margin:0 auto 20px}
.done-box{background:var(--n-50);border-radius:10px;padding:17px;max-width:340px;margin:0 auto 22px;text-align:left}
.done-box div{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;color:var(--n-700)}
.done-box div b{font-family:var(--f-header);font-weight:600;color:var(--navy-900)}
.proto{max-width:920px;margin:16px auto 0;font-size:12px;color:var(--n-500);text-align:center}

.bcpop-ov{position:fixed;inset:0;background:rgba(11,32,60,.55);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999;
  opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.bcpop-ov.on{opacity:1;visibility:visible}
.bcpop{position:relative;width:100%;max-width:430px;background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(11,32,60,.32);transform:translateY(14px) scale(.98);
  transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.bcpop-ov.on .bcpop{transform:translateY(0) scale(1)}
.bcpop-top{background:linear-gradient(180deg,#113967 0%,#0B488D 100%);padding:26px 26px 22px;color:#fff}
.bcpop-top .tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-header,'DM Sans',sans-serif);
  font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#10C9D0;margin-bottom:11px}
.bcpop-top h3{font-family:var(--f-header,'DM Sans',sans-serif);font-weight:700;font-size:23px;line-height:1.22;
  letter-spacing:-.01em;margin:0}
.bcpop-top p{font-size:14px;line-height:1.55;color:#D5E2F1;margin:9px 0 0}
.bcpop-body{padding:22px 26px 26px}
.bcpop-list{list-style:none;margin:0 0 20px;padding:0}
.bcpop-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;
  color:#3E434A;margin-bottom:10px}
.bcpop-list li:last-child{margin-bottom:0}
.bcpop-list svg{width:17px;height:17px;fill:#399C36;flex:none;margin-top:2px}
.bcpop-cta{display:flex;align-items:center;justify-content:center;height:48px;border-radius:8px;
  background:linear-gradient(180deg,#2D6BC8 0%,#1F58AE 100%);color:#fff;
  font-family:var(--f-header,'DM Sans',sans-serif);font-weight:700;font-size:15px;
  box-shadow:0 3px 12px rgba(31,88,174,.26);transition:transform .18s ease}
.bcpop-cta:hover{transform:translateY(-2px)}
.bcpop-later{display:block;width:100%;margin-top:11px;background:none;border:none;cursor:pointer;
  font-family:inherit;font-size:13.5px;color:#777C84;padding:6px}
.bcpop-later:hover{color:#3E434A}
.bcpop-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:none;
  background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:grid;place-items:center;
  transition:background .18s ease}
.bcpop-x:hover{background:rgba(255,255,255,.28)}
.bcpop-x svg{width:15px;height:15px;fill:#fff}
@media(max-width:420px){.bcpop-top{padding:22px 20px 18px}.bcpop-top h3{font-size:20px}.bcpop-body{padding:18px 20px 22px}}
@media(prefers-reduced-motion:reduce){.bcpop-ov,.bcpop{transition:none}}
