/* SWilson consultation booking widget. Uses each page's own palette vars with safe fallbacks. */
.cb{max-width:720px;margin:0 auto;font-family:'Inter',system-ui,sans-serif;color:var(--ink,#1A1D24)}
.cb h3{font-family:'Fraunces',Georgia,serif;color:var(--navy,#16233F);font-size:22px;margin:0 0 6px}
.cb-intro{font-size:15px;color:var(--ink-mute,#5B6472);line-height:1.6;margin:0 0 20px}
.cb-choose{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.cb-card{text-align:left;background:#fff;border:2px solid var(--line,#E4E1D8);border-radius:14px;padding:20px;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,box-shadow .2s}
.cb-card:hover,.cb-card:focus-visible{border-color:var(--gold,#C9962C);outline:none}
.cb-card.on{border-color:var(--gold,#C9962C);box-shadow:0 0 0 3px rgba(201,150,44,.18)}
.cb-card-t{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:19px;color:var(--navy,#16233F)}
.cb-card-d{font-size:14px;line-height:1.55;color:var(--ink-mute,#5B6472)}
.cb-panel{background:#fff;border:1px solid var(--line,#E4E1D8);border-radius:16px;padding:28px}
.cb-tz,.cb-muted,.cb-note{font-size:13.5px;color:var(--ink-mute,#5B6472);line-height:1.6}
.cb-err{font-size:14px;color:#B3261E}
.cb-days,.cb-times{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.cb-day,.cb-time{background:#fff;border:1.5px solid var(--line,#E4E1D8);border-radius:999px;padding:9px 16px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;color:var(--navy,#16233F)}
.cb-day:hover,.cb-time:hover,.cb-day:focus-visible,.cb-time:focus-visible{border-color:var(--gold,#C9962C);outline:none}
.cb-day.on,.cb-time.on{background:var(--navy,#16233F);border-color:var(--navy,#16233F);color:#fff}
.cb-form{position:relative;margin-top:18px;border-top:1px solid var(--line,#E4E1D8);padding-top:18px}
.cb-sel{background:var(--paper,#FAF9F6);border:1px solid var(--line,#E4E1D8);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;margin-bottom:18px;color:var(--navy,#16233F)}
.cb-g{margin-bottom:18px}
.cb-g label{display:block;font-weight:600;color:var(--navy,#16233F);font-size:14px;margin-bottom:6px}
.cb-g input[type=text],.cb-g input[type=tel],.cb-g input[type=email],.cb-g textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line,#E4E1D8);border-radius:8px;font:inherit;font-size:15px;color:var(--ink,#1A1D24)}
.cb-g textarea{min-height:90px;resize:vertical}
.cb-g input:focus,.cb-g textarea:focus{outline:none;border-color:var(--gold,#C9962C);box-shadow:0 0 0 3px rgba(201,150,44,.15)}
.cb-chk{display:flex;gap:10px;align-items:flex-start}
.cb-chk input{width:18px;height:18px;margin-top:3px;flex-shrink:0}
.cb-chk label{margin:0;font-weight:500;font-size:13.5px;line-height:1.55;cursor:pointer}
.cb-note a{color:var(--gold,#C9962C);font-weight:600;text-decoration:none}
.cb-status{font-size:14px;padding:8px 0}
.cb-submit{background:var(--navy,#16233F);color:#fff;padding:14px 30px;border-radius:999px;font-weight:600;font-size:15px;border:none;cursor:pointer}
.cb-submit:hover{background:var(--navy-soft,#2A3B60)}
.cb-submit:disabled{opacity:.6;cursor:default}
.cb-done{text-align:center;background:#fff;border:1px solid var(--line,#E4E1D8);border-radius:16px;padding:36px 24px}
.cb-check{width:56px;height:56px;border-radius:50%;background:var(--navy,#16233F);color:#fff;font-size:28px;line-height:56px;margin:0 auto 14px}
@media(max-width:640px){.cb-choose{grid-template-columns:1fr}.cb-panel{padding:20px}}
