/**
 * Staff booking — contact step.
 *
 * Tokens are the widget's own, verbatim, so this reads as the same product
 * rather than something bolted on. Everything is scoped under .sbc-staff: this
 * loads on a Betheme page next to the booking widget's CSS and must not reach
 * into it, or into the theme.
 */

.sbc-staff {
	--sbc-primary: #1a6fb5;
	--sbc-primary-color: #1C7CB0;
	--sbc-primary-hover: #15628c;
	--sbc-primary-dark: #134e7f;
	--sbc-primary-deeper: #0d3a5e;
	--sbc-primary-light: #e3f0f7;
	--sbc-primary-lighter: #f0f7fd;
	--sbc-accent: #2189cf;
	--sbc-panel: #eaf4fb;
	--sbc-success: #10b981;
	--sbc-warning: #f59e0b;
	--sbc-danger: #ef4444;
	--sbc-text: #0f172a;
	--sbc-heading: #0d3a5e;
	--sbc-muted: #64748b;
	--sbc-border: #e2e8f0;
	--sbc-white: #fff;

	/* The widget declares its tokens twice and the SECOND block wins — its own
	   comment says so. Taking the first values gives subtly wrong radii and a
	   muted grey that is two shades too light. These are the effective ones. */
	--sbc-radius-sm: 8px;
	--sbc-radius-md: 16px;
	--sbc-radius-lg: 24px;
	--sbc-card-bg: rgba(255, 255, 255, 0.95);
	--sbc-shadow-sm: 0 2px 4px rgba(15, 23, 42, .04);
	--sbc-shadow-md: 0 12px 32px -4px rgba(15, 23, 42, .08);
	--sbc-shadow-glow: 0 10px 25px -5px rgba(28, 124, 176, .4);
	--sbc-shadow-primary: 0 4px 14px rgba(26, 111, 181, .25);
	--sbc-primary-glow: rgba(26, 111, 181, .15);
	--sbc-gradient: linear-gradient(135deg, #1C7CB0 0%, #15628c 100%);

	font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;
	color: var(--sbc-text);
	line-height: 1.6;
}

.sbc-staff *,
.sbc-staff *::before,
.sbc-staff *::after { box-sizing: border-box; }

/**
 * The browser's own `[hidden] { display: none }` is a plain element rule, so any
 * author rule that sets `display` beats it — which silently kept the customer
 * chip on screen after Clear. Every toggled element here needs this to mean
 * what it says.
 */
.sbc-staff [hidden] { display: none !important; }

.sbc-staff__sr {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ── the tinted panel everything sits on ──────────────────────────── */

.sbc-staff__panel {
	background: var(--sbc-panel);
	padding: 42px 40px 52px;
	max-width: 1180px;
	margin: 0 auto;
}

.sbc-staff__head { text-align: center; margin-bottom: 26px; }

.sbc-staff__title {
	font-size: clamp(28px, 3.4vw, 38px);
	font-weight: 800;
	letter-spacing: -.8px;
	color: var(--sbc-heading);
	margin: 0 0 6px;
	line-height: 1.15;
}
.sbc-staff__subtitle { color: var(--sbc-muted); font-size: .98rem; margin: 0; }

/* ── columns ──────────────────────────────────────────────────────── */

.sbc-staff__cols {
	display: grid;
	grid-template-columns: minmax(0, 1.85fr) minmax(300px, 1fr);
	gap: 28px;
	align-items: start;
	max-width: 1000px;
	margin: 0 auto;
}

/* .custom-card from the widget: translucent white over the tinted panel, a
   blur behind it, and a hairline white border. Flat #fff sits visibly flatter
   against the same background. */
.sbc-staff__card {
	background: var(--sbc-card-bg);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: var(--sbc-radius-lg);
	padding: 32px 34px;
	box-shadow: var(--sbc-shadow-md);
}

.sbc-staff__label {
	font-size: .98rem;
	font-weight: 800;
	color: var(--sbc-heading);
	margin: 0 0 4px;
}
.sbc-staff__hint { font-size: .84rem; color: var(--sbc-muted); margin: 0 0 12px; }

.sbc-staff__rule { border: none; border-top: 1px solid var(--sbc-border); margin: 26px 0 22px; }

/* ── search ───────────────────────────────────────────────────────── */

.sbc-staff__search { position: relative; }

/* .custom-input — the widget's prominent field shape. */
.sbc-staff__input {
	width: 100%;
	padding: 1.05rem 1.2rem;
	border: 2px solid var(--sbc-border);
	border-radius: var(--sbc-radius-md);
	font-size: 1rem;
	font-family: inherit;
	font-weight: 500;
	color: var(--sbc-text);
	background: var(--sbc-white);
	transition: border-color .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1);
}

/* .form-input — the widget's compact field shape, used in its customer card. */
.sbc-staff__field input {
	width: 100%;
	padding: .75rem 1rem;
	border: 1.5px solid var(--sbc-border);
	border-radius: var(--sbc-radius-sm);
	font-size: .9rem;
	font-family: inherit;
	font-weight: 500;
	color: var(--sbc-heading);
	background: var(--sbc-white);
	transition: border-color .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, .2, 1);
}
.sbc-staff__field input:hover { border-color: rgba(26, 111, 181, .3); }
.sbc-staff__input::placeholder,
.sbc-staff__field input::placeholder { color: #9db2c4; }

.sbc-staff__input:focus {
	outline: none;
	border-color: var(--sbc-primary-color);
	box-shadow: 0 0 0 4px var(--sbc-primary-light);
}
.sbc-staff__field input:focus {
	outline: none;
	border-color: var(--sbc-primary);
	box-shadow: 0 0 0 3px var(--sbc-primary-glow);
}

/* Fields filled from GoHighLevel rather than typed. */
.sbc-staff__field input.is-prefilled {
	border-color: var(--sbc-primary-color);
	background: var(--sbc-primary-lighter);
}

.sbc-staff__results {
	position: absolute;
	top: calc(100% + 6px);
	left: 0; right: 0;
	background: var(--sbc-white);
	border: 1px solid var(--sbc-border);
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(15, 76, 117, .18);
	z-index: 9999;
	max-height: 320px;
	overflow-y: auto;
}
.sbc-staff__result {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 16px;
	cursor: pointer;
	border-bottom: 1px solid #f1f5f9;
}
.sbc-staff__result:last-child { border-bottom: none; }
.sbc-staff__result:hover,
.sbc-staff__result[aria-selected="true"] { background: var(--sbc-primary-lighter); }
.sbc-staff__result-name { font-weight: 700; font-size: .93rem; color: var(--sbc-heading); }
.sbc-staff__result-meta { font-size: .8rem; color: var(--sbc-muted); }
.sbc-staff__result-empty { padding: 15px 16px; font-size: .87rem; color: var(--sbc-muted); font-weight: 600; }

.sbc-staff__status {
	min-height: 20px;
	margin-top: 9px;
	font-size: .82rem;
	font-weight: 600;
	color: var(--sbc-muted);
}
.sbc-staff__status.is-ok { color: #047857; }
.sbc-staff__status.is-warn { color: #92400e; }
.sbc-staff__status.is-bad { color: #b91c1c; }

/* ── details grid ─────────────────────────────────────────────────── */

.sbc-staff__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 18px;
	margin-top: 14px;
}
.sbc-staff__field { display: flex; flex-direction: column; gap: 6px; }
.sbc-staff__field label {
	font-size: .82rem;
	font-weight: 700;
	color: var(--sbc-heading);
}

.sbc-staff__address {
	margin-top: 16px;
	padding: 12px 15px;
	border-radius: var(--sbc-radius-sm);
	background: var(--sbc-primary-lighter);
	border: 1px solid var(--sbc-primary-light);
	font-size: .83rem;
	color: var(--sbc-primary-dark);
	font-weight: 600;
}

/* .submit-btn from the widget, including the sweep on hover. */
.sbc-staff__continue {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-top: 26px;
	padding: 1.15rem 1.25rem;
	border: none;
	border-radius: var(--sbc-radius-md);
	background: var(--sbc-gradient);
	color: #fff;
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	box-shadow: var(--sbc-shadow-glow);
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}
.sbc-staff__continue::after {
	content: '';
	position: absolute;
	top: 0; left: -100%;
	width: 100%; height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .2), transparent);
	transition: all .5s ease;
}
.sbc-staff__continue:hover:not(:disabled) {
	transform: translateY(-3px);
	box-shadow: 0 15px 30px -5px rgba(28, 124, 176, .5);
}
.sbc-staff__continue:hover:not(:disabled)::after { left: 100%; }
.sbc-staff__continue:disabled { opacity: .7; cursor: not-allowed; transform: none; }

/* ── booking history ──────────────────────────────────────────────── */

.sbc-staff__history {
	background: var(--sbc-card-bg);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: var(--sbc-radius-lg);
	padding: 22px 24px;
	box-shadow: var(--sbc-shadow-md);
}
.sbc-staff__history-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.sbc-staff__history-title {
	font-family: 'Inter', sans-serif;
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: var(--sbc-accent);
}
.sbc-staff__history-total { font-weight: 800; font-size: 1rem; color: var(--sbc-heading); }
.sbc-staff__history-package { margin-top: 6px; font-weight: 700; font-size: .9rem; color: var(--sbc-heading); }
.sbc-staff__history-note { margin-top: 9px; font-size: .78rem; color: var(--sbc-muted); line-height: 1.5; }
.sbc-staff__history-empty,
.sbc-staff__history-warn { font-size: .84rem; color: var(--sbc-muted); font-weight: 600; }
.sbc-staff__history-warn { color: #92400e; }

.sbc-staff__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.sbc-staff__pill {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
	cursor: help;
}
/* Stored exactly on the record — safe to trust. */
.sbc-staff__pill--certain {
	background: var(--sbc-primary-light);
	color: var(--sbc-primary-dark);
	border: 1px solid rgba(26, 111, 181, .25);
}
/* Parsed out of the package label — probably right, worth a look. */
.sbc-staff__pill--derived {
	background: #fffbeb;
	color: #92400e;
	border: 1px dashed rgba(245, 158, 11, .55);
}

.sbc-staff__history-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--sbc-border);
}
.sbc-staff__history-hint { font-size: .74rem; color: var(--sbc-muted); }

.sbc-staff__btn {
	border: 1px solid var(--sbc-accent);
	background: var(--sbc-accent);
	color: #fff;
	border-radius: var(--sbc-radius-sm);
	padding: 9px 15px;
	font-family: inherit;
	font-size: .82rem;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s ease;
}
.sbc-staff__btn:hover { background: var(--sbc-primary-color); }

/* ── replay report ────────────────────────────────────────────────── */

.sbc-staff__replay { margin-top: 12px; display: grid; gap: 8px; }
.sbc-staff__replay-block {
	border-radius: 10px;
	padding: 10px 13px;
	font-size: .79rem;
	border: 1px solid var(--sbc-border);
	background: #f8fafc;
}
.sbc-staff__replay-block strong {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 5px;
}
.sbc-staff__replay-block ul { margin: 0; padding-left: 17px; }
.sbc-staff__replay-block li { margin: 2px 0; }
.sbc-staff__replay-block em { font-style: normal; font-weight: 700; }

.sbc-staff__replay-block--ok { background: #ecfdf5; border-color: rgba(16, 185, 129, .3); color: #065f46; }
.sbc-staff__replay-block--warn { background: #fffbeb; border-color: rgba(245, 158, 11, .35); color: #78350f; }
/* A price disagreement means the total on screen will not match the invoice. */
.sbc-staff__replay-block--bad { background: #fef2f2; border-color: rgba(239, 68, 68, .4); color: #991b1b; }

/* ── the widget, revealed once a customer is chosen ───────────────── */

.sbc-staff-widget { margin-top: 8px; }

/* ── signed-out / missing-widget notice ───────────────────────────── */

.sbc-staff-locked {
	max-width: 620px;
	margin: 40px auto;
	padding: 28px 32px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(15, 76, 117, .07);
	font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
	text-align: center;
}
.sbc-staff-locked strong { display: block; font-size: 1.15rem; color: #0d3a5e; margin-bottom: 8px; }
.sbc-staff-locked p { color: #475569; font-size: .93rem; margin: 0; }

/* ── small screens ────────────────────────────────────────────────── */

@media (max-width: 900px) {
	.sbc-staff__cols { grid-template-columns: 1fr; }
	.sbc-staff__panel { padding: 30px 18px 40px; }
}

@media (max-width: 560px) {
	.sbc-staff__grid { grid-template-columns: 1fr; }
	.sbc-staff__card { padding: 22px 20px; }

}

@media (prefers-reduced-motion: reduce) {
	.sbc-staff * { transition: none !important; }
}

/* ── the chosen customer ──────────────────────────────────────────────
 *
 * Once a customer is picked the search has done its job, so it folds away
 * and this takes its place — small enough to sit above the booking form all
 * the way to Confirm, which is where staff most need to see whose booking
 * they are on.
 */

.sbc-staff__chosen {
	background: var(--sbc-primary-lighter);
	border: 1px solid rgba(26, 111, 181, .18);
	border-radius: var(--sbc-radius-md);
	padding: 16px 18px;
}

.sbc-staff__chosen-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.sbc-staff__chosen-label {
	display: block;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: var(--sbc-primary);
	margin-bottom: 2px;
}

.sbc-staff__chosen-name {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--sbc-text-main);
	line-height: 1.25;
}

.sbc-staff__change {
	flex: none;
	background: #fff;
	border: 1.5px solid var(--sbc-border);
	border-radius: 999px;
	padding: .38rem .95rem;
	font-family: inherit;
	font-size: .78rem;
	font-weight: 600;
	color: var(--sbc-primary);
	cursor: pointer;
	transition: var(--sbc-transition);
}

.sbc-staff__change:hover {
	border-color: var(--sbc-primary);
	box-shadow: 0 0 0 3px var(--sbc-primary-glow);
}

.sbc-staff__chosen-rows {
	margin: 12px 0 0;
	display: grid;
	gap: 5px;
}

.sbc-staff__chosen-rows div {
	display: flex;
	gap: .7rem;
	font-size: .84rem;
	line-height: 1.4;
}

.sbc-staff__chosen-rows dt {
	flex: none;
	width: 62px;
	color: var(--sbc-text-muted);
	font-weight: 600;
}

.sbc-staff__chosen-rows dd {
	margin: 0;
	color: var(--sbc-text-main);
	font-weight: 600;
	word-break: break-word;
}

/* Amber, not red: a customer with no phone on file is normal, not broken. */
.sbc-staff__chosen-warn {
	margin: 10px 0 0;
	font-size: .8rem;
	line-height: 1.45;
	color: #92650e;
	background: #fffbeb;
	border-radius: var(--sbc-radius-sm);
	padding: 8px 10px;
}

.sbc-staff__chosen-note {
	margin: 10px 0 0;
	font-size: .78rem;
	color: var(--sbc-text-muted);
	line-height: 1.45;
}

/* Collapsed: the card has less to hold, so it should not keep the padding
   of a full form. */
.sbc-staff.is-chosen .sbc-staff__card--main { padding-bottom: 20px; }

/* ── step one of four ─────────────────────────────────────────────────
 *
 * Only one progress bar is ever on screen: this one while the booking form
 * is waiting, and the widget's own — rewritten to four steps by
 * sbc-staff.js — once it appears.
 */

.sbc-staff__steps {
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
}

.sbc-staff__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	flex: none;
}

.sbc-staff__step-dot {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #fff;
	border: 2px solid var(--sbc-border);
	color: var(--sbc-text-muted);
	font-family: 'Inter', system-ui, sans-serif;
	font-size: .86rem;
	font-weight: 700;
	transition: var(--sbc-transition);
}

.sbc-staff__step-label {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: 1.1px;
	color: var(--sbc-text-muted);
}

.sbc-staff__step.is-active .sbc-staff__step-dot {
	background: var(--sbc-primary);
	border-color: var(--sbc-primary);
	color: #fff;
	box-shadow: 0 0 0 4px var(--sbc-primary-glow);
}

.sbc-staff__step.is-active .sbc-staff__step-label { color: var(--sbc-primary); }

.sbc-staff__steps-line {
	flex: 1 1 auto;
	max-width: 120px;
	height: 2px;
	background: var(--sbc-border);
	margin: 0 4px 22px;
}

/* The booking form, while it waits for a customer.
   Applied by JavaScript, never by default — if the script fails to run the
   form stays visible and nothing is lost. */
/* (form is never hidden - it must always be usable) */

@media (max-width: 560px) {
	.sbc-staff__steps-line { max-width: 34px; }
	.sbc-staff__step-label { font-size: .56rem; letter-spacing: .6px; }
}

/* ── sign-in ──────────────────────────────────────────────────────────
 *
 * The staff page is public so Olivia can reach it without meeting wp-admin,
 * which means a signed-out visitor lands here. They get this and nothing else:
 * the booking form below is hidden until someone signs in, or the page reads as
 * a login box sitting on top of a form anyone could just use instead.
 *
 * Tokens are the widget's own, as everywhere else in this file, so it looks
 * like the same product rather than a WordPress screen wearing a hat.
 */

.sbc-signin {
	--sbc-primary-color: #1C7CB0;
	--sbc-primary-hover: #15628c;
	--sbc-primary-deeper: #0d3a5e;
	--sbc-text: #0f172a;
	--sbc-muted: #64748b;
	--sbc-border: #e2e8f0;

	display: flex;
	justify-content: center;
	padding: 48px 16px;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.sbc-signin__card {
	width: 100%;
	max-width: 420px;
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 24px;
	box-shadow: 0 12px 32px -4px rgba(15, 23, 42, .08);
	padding: 36px 32px 28px;
	box-sizing: border-box;
}

.sbc-signin__head { text-align: center; margin-bottom: 22px; }

.sbc-signin__brand {
	font-family: 'Dancing Script', cursive;
	font-size: 26px;
	color: var(--sbc-primary-color);
	display: block;
	margin-bottom: 6px;
}

.sbc-signin__title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--sbc-primary-deeper);
	margin: 0 0 4px;
}

.sbc-signin__sub { margin: 0; font-size: 14px; color: var(--sbc-muted); }

.sbc-signin__label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--sbc-text);
	margin: 14px 0 6px;
}

.sbc-signin__input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	font-size: 15px;
	border: 1px solid var(--sbc-border);
	border-radius: 16px;
	background: #fff;
	color: var(--sbc-text);
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.sbc-signin__input:focus {
	outline: none;
	border-color: var(--sbc-primary-color);
	box-shadow: 0 0 0 3px rgba(28, 124, 176, .15);
}

.sbc-signin__btn {
	width: 100%;
	margin-top: 22px;
	padding: 13px 18px;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	border: 0;
	border-radius: 16px;
	cursor: pointer;
	background: linear-gradient(135deg, #1C7CB0, #15628c);
	box-shadow: 0 8px 20px -6px rgba(28, 124, 176, .55);
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.sbc-signin__btn:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -6px rgba(28, 124, 176, .65); }

/* Deliberately does not say whether the email or the password was wrong —
   that tells whoever is guessing which half they already have. */
.sbc-signin__error {
	margin: 0 0 4px;
	padding: 10px 12px;
	font-size: 13.5px;
	color: #b91c1c;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 12px;
}

.sbc-signin__help { margin: 16px 0 0; text-align: center; font-size: 13px; }
.sbc-signin__help a { color: var(--sbc-muted); text-decoration: none; }
.sbc-signin__help a:hover { color: var(--sbc-primary-color); text-decoration: underline; }

/* ── step one is a step, not a suggestion ─────────────────────────────
 *
 * The bar used to sit above a fully usable booking form, so staff could scroll
 * straight past the customer search and book for nobody — and the CONTACT dot
 * added to the widget's progress bar said the step had been completed when it
 * had not. A step you can ignore is worse than no step, because it claims
 * otherwise.
 *
 * The form is hidden until a customer is chosen or typed in. From that point
 * the widget's own gates take over: it renders one step at a time and will not
 * advance without a package, a date and a time, so nothing can be skipped by
 * scrolling.
 *
 * Applied by a class rather than by default, so a script that fails to run
 * leaves the form visible and working rather than taking the booking form down
 * with it.
 */
#sbc-booking-app.sbc-staff-waiting {
	display: none !important;
}

/* ── real availability on the date picker ──────────────────────────────
 *
 * The widget was drawing its own guess at which days are bookable and getting
 * it wrong both ways. sbc-availability.js asks GoHighLevel and marks the cells;
 * these two rules are what that marking looks like.
 *
 * A fully-booked day is dimmed and struck through rather than hidden — a gap in
 * the grid reads as a rendering fault, and a customer who can see the 22nd is
 * taken tells them more than a date that silently is not there.
 */
#sbc-booking-app .sbc-day-unavailable {
	opacity: .32;
	text-decoration: line-through;
	cursor: not-allowed !important;
	pointer-events: auto;   /* the capture-phase handler swallows the click */
	filter: grayscale(1);
}

/* Undo the widget's own wrong strike-through on days that ARE free. */
#sbc-booking-app .sbc-day-open {
	opacity: 1;
	text-decoration: none;
	cursor: pointer;
	filter: none;
}
