/* KB&A Appointment Scheduler — booking form.
   Light retail styling to match the KB&A affiliate program.
   Change --kba-accent to KB&A's exact brand hex if needed. */

.kba-sched{
  --kba-ink:#1f2a33; --kba-muted:#6b7480; --kba-line:#e4e7ea;
  --kba-accent:#c8952f; --kba-accent-dk:#a97a1f; --kba-tint:#faf5ea; --kba-field:#fff;
  font-family:inherit;color:var(--kba-ink);
  max-width:560px;margin:1.5rem auto;padding:32px;
  background:#fff;border:1px solid var(--kba-line);border-radius:12px;
  box-shadow:0 6px 24px rgba(31,42,51,.07);
}
.kba-sched *{box-sizing:border-box}
.kba-sched__title{font-family:inherit;font-size:1.5rem;font-weight:700;margin:0 0 6px;color:var(--kba-ink)}
.kba-sched__intro{font-size:.95rem;line-height:1.5;color:var(--kba-muted);margin:0 0 20px}
.kba-sched__form{display:flex;flex-direction:column;gap:14px}
.kba-sched__row{display:flex;gap:14px}
.kba-sched__row label{flex:1}
.kba-sched label{display:flex;flex-direction:column;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--kba-muted)}
.kba-sched label span{color:var(--kba-accent-dk)}
.kba-sched input,.kba-sched select,.kba-sched textarea{font-family:inherit;font-size:1rem;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--kba-ink);background:var(--kba-field);border:1px solid var(--kba-line);border-radius:8px;padding:12px 13px;width:100%;transition:border-color .2s,box-shadow .2s}
.kba-sched input:focus,.kba-sched select:focus,.kba-sched textarea:focus{outline:none;border-color:var(--kba-accent);box-shadow:0 0 0 3px rgba(200,149,47,.16)}
.kba-sched input::placeholder,.kba-sched textarea::placeholder{color:#aeb4bd;text-transform:none;letter-spacing:normal;font-weight:400}
.kba-sched__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}
.kba-sched__submit{margin-top:4px;font-family:inherit;font-size:.95rem;font-weight:700;color:#fff;border:0;border-radius:8px;padding:15px;cursor:pointer;background:var(--kba-accent);transition:background .2s,transform .2s,box-shadow .2s}
.kba-sched__submit:hover{background:var(--kba-accent-dk);transform:translateY(-1px);box-shadow:0 10px 22px rgba(200,149,47,.28)}
.kba-sched__submit:disabled{opacity:.6;cursor:wait;transform:none}
.kba-sched__msg{padding:12px 14px;border-radius:8px;font-size:.92rem;line-height:1.45}
.kba-sched__msg.is-success{background:#e7f6ec;color:#1c6b3c;border:1px solid #b7e2c6}
.kba-sched__msg.is-error{background:#fdecec;color:#a12a24;border:1px solid #f3c2be}
@media (max-width:520px){.kba-sched{padding:22px}.kba-sched__row{flex-direction:column;gap:14px}}

/* ---- self-service manage page ---- */
.kba-manage__current{background:var(--kba-tint,#faf5ea);border:1px solid #ecdfc2;border-radius:10px;padding:16px 18px;margin-bottom:6px}
.kba-manage__resched h4{color:#1f2a33;font-weight:700}
.kba-manage__cancel{margin-top:16px;width:100%;font-family:inherit;font-size:.85rem;font-weight:700;color:#a12a24;background:#fff;border:1px solid #f3c2be;border-radius:8px;padding:12px;cursor:pointer;transition:background .2s}
.kba-manage__cancel:hover{background:#fdecec}
.kba-manage__cancel:disabled{opacity:.6;cursor:wait}

/* ---- kitchen & bath intake: shopping-for checklist ---- */
.kba-sched__checks{border:1px solid var(--kba-line,#e4e7ea);border-radius:8px;padding:14px 16px;margin:0}
.kba-sched__checks legend{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--kba-muted,#6b7480);padding:0 6px}
.kba-sched__checks legend em{font-style:normal;color:#aeb4bd;font-weight:600}
.kba-sched__checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:8px}
.kba-sched__check{flex-direction:row!important;align-items:center;gap:8px;font-size:.9rem!important;font-weight:500!important;letter-spacing:normal!important;text-transform:none!important;color:var(--kba-ink,#1f2a33)!important;cursor:pointer}
.kba-sched__check input{width:auto!important;padding:0!important}
@media (max-width:520px){.kba-sched__checkgrid{grid-template-columns:1fr}}
