/* WLC Bookings — calendar wizard styles (scoped to .wlc-bk) */
.wlc-bk{
	--wlc-accent:#A0D8D5;        /* soft teal — fills, highlights, selected */
	--wlc-accent-dark:#1f6e6a;   /* deep teal — buttons, active, strong text */
	--wlc-ink:#161616;           /* primary text */
	--wlc-muted:#555;            /* secondary text */
	--wlc-soft:#e6f4f3;          /* light teal tint — panels/fills */
	--wlc-line:#bcdedc;          /* teal-tinted borders */
	max-width:680px;margin:0 auto;font-family:inherit;color:var(--wlc-ink)
}
.wlc-bk *{box-sizing:border-box}

/* Step indicator */
.wlc-steps{display:flex;list-style:none;margin:0 0 18px;padding:0}
.wlc-steps li{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:700;color:#8a9897;text-transform:uppercase;letter-spacing:.04em;position:relative;padding:0 4px}
.wlc-steps li span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#dde7e6;color:#5d6b6a;font-size:13px;font-weight:700;flex:0 0 auto}
.wlc-steps li.is-active{color:var(--wlc-accent-dark)}
.wlc-steps li.is-active span{background:var(--wlc-accent-dark);color:#fff}
.wlc-steps li.is-done{color:var(--wlc-accent-dark)}
.wlc-steps li.is-done span{background:var(--wlc-accent);color:var(--wlc-accent-dark)}
.wlc-steps li:not(:last-child):after{content:"";position:absolute;top:14px;right:-50%;width:100%;height:2px;background:#dde7e6;z-index:-1}

.wlc-bk-note{background:var(--wlc-soft);border:1px solid var(--wlc-line);border-radius:8px;padding:12px 16px;margin:0 0 18px;font-size:14px;color:#33514f}
.wlc-loading{color:var(--wlc-muted);font-size:14px;padding:24px 0;text-align:center}

/* Panels */
.wlc-panel[hidden]{display:none}
.wlc-back{background:none;border:0;color:var(--wlc-muted);cursor:pointer;font-size:14px;font-weight:600;padding:4px 0;margin:0 0 10px}
.wlc-back:hover{color:var(--wlc-accent-dark)}
.wlc-bk h4{margin:0 0 14px;font-size:16px;color:var(--wlc-ink);font-weight:700}

/* Calendar */
.wlc-cal-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.wlc-cal-head strong{font-size:17px;color:var(--wlc-ink)}
.wlc-cal-nav{width:38px;height:38px;border:1px solid var(--wlc-line);border-radius:8px;background:#fff;cursor:pointer;font-size:20px;line-height:1;color:var(--wlc-ink)}
.wlc-cal-nav:hover:not(:disabled){border-color:var(--wlc-accent-dark);color:var(--wlc-accent-dark);background:var(--wlc-soft)}
.wlc-cal-nav:disabled{opacity:.35;cursor:default}
.wlc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.wlc-dow{text-align:center;font-size:12px;font-weight:700;color:var(--wlc-muted);padding:4px 0;text-transform:uppercase}
.wlc-cell{min-height:58px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;padding:4px}
.wlc-empty{background:transparent}
.wlc-day.is-closed{color:#9aa6a5;background:#f4f7f7}
.wlc-day.is-closed .wlc-num{font-weight:500}
.wlc-day.is-open{border:1.5px solid var(--wlc-accent);background:#fff;cursor:pointer;transition:.15s;color:var(--wlc-ink)}
.wlc-day.is-open .wlc-num{font-weight:700}
.wlc-day.is-open .wlc-avail{font-size:10px;color:var(--wlc-accent-dark);font-weight:600;margin-top:2px;text-transform:uppercase;letter-spacing:.02em}
.wlc-day.is-open:hover{border-color:var(--wlc-accent-dark);background:var(--wlc-soft);transform:translateY(-1px)}
.wlc-cal-legend{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--wlc-muted);margin:14px 0 0}
.wlc-cal-legend .wlc-dot{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--wlc-accent);background:#fff;display:inline-block}

/* Times */
.wlc-times{display:flex;flex-wrap:wrap;gap:10px}
.wlc-time{min-width:88px;text-align:center;padding:12px 14px;border:1.5px solid var(--wlc-line);border-radius:8px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:var(--wlc-ink);transition:.15s}
.wlc-time:hover{border-color:var(--wlc-accent-dark);background:var(--wlc-soft);transform:translateY(-1px)}

/* Details */
.wlc-chosen{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;background:var(--wlc-soft);border:1px solid var(--wlc-line);border-radius:8px;padding:12px 16px;margin:0 0 18px;font-size:15px;color:var(--wlc-ink)}
.wlc-chosen-fee{font-weight:700;color:var(--wlc-accent-dark)}
.wlc-bk-form{max-width:100%}
.wlc-bk-form label{display:block;margin:0 0 14px;font-size:14px;font-weight:700;color:var(--wlc-ink)}
.wlc-bk-form input{display:block;width:100%;margin-top:6px;padding:11px 13px;border:1.5px solid #c4d4d3;border-radius:7px;font-size:15px;font-weight:400;color:var(--wlc-ink)}
.wlc-bk-form input:focus{outline:none;border-color:var(--wlc-accent-dark);box-shadow:0 0 0 2px rgba(160,216,213,.45)}
.wlc-bk-submit{width:100%;padding:14px 22px;border:0;border-radius:8px;background:var(--wlc-accent-dark);color:#fff;font-size:16px;font-weight:700;cursor:pointer;margin-top:4px}
.wlc-bk-submit:hover{background:#175552}
.wlc-bk-submit:disabled{opacity:.5;cursor:default}
.wlc-bk-msg{margin:12px 0 0;color:#c0392b;font-size:14px;font-weight:600}

/* Consultation type (in person / online) */
.wlc-mode{border:0;padding:0;margin:0 0 16px}
.wlc-mode legend{padding:0;margin:0 0 8px;font-size:14px;font-weight:700;color:var(--wlc-ink)}
.wlc-mode-opt{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;padding:12px 14px;border:1.5px solid #c4d4d3;border-radius:8px;cursor:pointer;font-weight:400;transition:.15s}
.wlc-mode-opt:hover{border-color:var(--wlc-accent-dark);background:var(--wlc-soft)}
.wlc-mode-opt input{width:auto;margin:2px 0 0}
.wlc-mode-opt:has(input:checked){border-color:var(--wlc-accent-dark);background:var(--wlc-soft);box-shadow:0 0 0 2px rgba(160,216,213,.35)}
.wlc-mode-text{display:flex;flex-direction:column;gap:2px}
.wlc-mode-text strong{font-size:15px;color:var(--wlc-ink)}
.wlc-mode-text small{font-size:12.5px;color:var(--wlc-muted);line-height:1.35}

@media(max-width:520px){
	.wlc-steps li{font-size:0;gap:0}
	.wlc-steps li span{font-size:13px}
	.wlc-cell{min-height:50px;font-size:14px}
	.wlc-day.is-open .wlc-avail{display:none}
	.wlc-cal-grid{gap:4px}
}
