/**
 * Smart Schedule — public booking widget styles
 *
 * Two-column booking modal layout. Brand color drives every accent
 * via the --bgss-primary CSS variable, set inline on the modal overlay.
 */

/* --------------------------- Trigger button ------------------------------ */
.bgss-trigger {
	--bgss-primary: #2563EB;
	display: inline-block;
	background: var(--bgss-primary);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	padding: 14px 22px;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
	font-family: inherit;
	text-decoration: none;
}
.bgss-trigger:hover { filter: brightness(0.92); }
.bgss-trigger:active { transform: translateY(1px); }
.bgss-trigger:focus-visible { outline: 2px solid var(--bgss-primary); outline-offset: 2px; }
.bgss-trigger--sm { padding: 10px 16px; font-size: 14px; }
.bgss-trigger--md { padding: 14px 22px; font-size: 16px; }
.bgss-trigger--lg { padding: 18px 28px; font-size: 18px; }

/* --------------------------- Floating trigger ---------------------------- */
.bgss-floating-trigger {
	position: fixed;
	z-index: 99998;
	bottom: 24px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18), 0 2px 6px rgba(15, 23, 42, 0.08);
	border-radius: 999px;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.15s ease;
}
.bgss-floating-trigger--right { right: 24px; }
.bgss-floating-trigger--left  { left: 24px; }
.bgss-floating-trigger:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22), 0 3px 8px rgba(15, 23, 42, 0.10);
}
@media (max-width: 480px) {
	.bgss-floating-trigger { bottom: 16px; }
	.bgss-floating-trigger--right { right: 16px; }
	.bgss-floating-trigger--left  { left: 16px; }
}

/* ------------------------------- Modal ----------------------------------- */
.bgss-modal-overlay {
	--bgss-primary: #2563EB;
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 16px;
	box-sizing: border-box;
	animation: bgss-fade-in 0.18s ease;
}
@keyframes bgss-fade-in { from { opacity: 0; } to { opacity: 1; } }
.bgss-no-scroll { overflow: hidden; }

.bgss-modal {
	position: relative;
	background: #fff;
	color: #0F172A;
	border-radius: 14px;
	max-width: 760px;
	width: 100%;
	max-height: 92vh;
	overflow: hidden;
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue", sans-serif;
	font-size: 15px;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	animation: bgss-pop-in 0.2s ease;
}
@keyframes bgss-pop-in { from { transform: scale(0.96); opacity: 0; } to { transform: scale(1); opacity: 1; } }

@media (max-width: 600px) {
	.bgss-modal-overlay { padding: 0; }
	.bgss-modal { max-height: 100vh; height: 100vh; border-radius: 0; }
}

.bgss-close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 36px;
	height: 36px;
	background: transparent;
	border: 0;
	border-radius: 50%;
	font-size: 26px;
	line-height: 1;
	color: #64748B;
	cursor: pointer;
	z-index: 2;
}
.bgss-close:hover { background: rgba(15, 23, 42, 0.08); color: #0F172A; }

/* ----------------------------- Title bar --------------------------------- */
.bgss-title-bar {
	flex-shrink: 0;
	padding: 14px 56px 13px 24px;
	border-bottom: 1px solid #F1F5F9;
	background: #fff;
	display: flex;
	align-items: center;
	gap: 14px;
}
.bgss-title-bar-logo {
	display: block;
	max-height: 36px;
	max-width: 120px;
	width: auto;
	height: auto;
	object-fit: contain;
	flex-shrink: 0;
}
.bgss-title-bar-textwrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0; /* allow truncation if name is long */
}
.bgss-title-bar-brand {
	font-size: 14px;
	font-weight: 700;
	color: #0F172A;
	letter-spacing: -0.01em;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* When brand is shown, demote the "Book a meeting" line to subtitle */
.bgss-title-bar-brand + .bgss-title-bar-title {
	font-size: 12px;
	font-weight: 500;
	color: #64748B;
	letter-spacing: 0;
}
.bgss-title-bar-title {
	font-size: 14px;
	font-weight: 600;
	color: #0F172A;
	letter-spacing: 0.01em;
}

/* ----------------------------- Two-column body --------------------------- */
.bgss-body {
	display: flex;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

.bgss-body--no-sidebar .bgss-sidebar { display: none; }
.bgss-body--no-sidebar .bgss-main { width: 100%; }

.bgss-sidebar {
	flex-shrink: 0;
	width: 260px;
	padding: 24px 22px;
	border-right: 1px solid #F1F5F9;
	background: #F8FAFC;
	background: color-mix(in srgb, var(--bgss-primary) 5%, white);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}

.bgss-main {
	flex: 1;
	padding: 20px 26px 22px;
	overflow-y: auto;
	min-width: 0;
}

@media (max-width: 600px) {
	.bgss-body { flex-direction: column; }
	.bgss-sidebar {
		width: auto;
		border-right: 0;
		border-bottom: 1px solid #F1F5F9;
		padding: 18px;
	}
	.bgss-main { padding: 18px 16px 20px; }
}

/* ----------------------------- Sidebar content --------------------------- */
.bgss-sidebar-photo {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	background: #E2E8F0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: #fff;
	font-size: 28px;
	margin-bottom: 14px;
	box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--bgss-primary);
}
.bgss-photo-placeholder {
	background: var(--bgss-primary);
	color: #fff;
}
.bgss-sidebar-name {
	font-size: 18px;
	font-weight: 700;
	color: #0F172A;
	line-height: 1.25;
}
.bgss-sidebar-duration {
	margin-top: 4px;
	font-size: 13px;
	color: #475569;
	display: flex;
	align-items: center;
	gap: 4px;
}
.bgss-clock-icon { color: var(--bgss-primary); }
.bgss-sidebar-bio {
	margin: 14px 0 0;
	font-size: 13.5px;
	color: #475569;
	line-height: 1.5;
}
.bgss-sidebar-divider {
	height: 1px;
	background: rgba(15, 23, 42, 0.08);
	margin: 18px 0;
}
.bgss-sidebar-tz {
	font-size: 12.5px;
	color: #475569;
	display: flex;
	align-items: center;
	gap: 4px;
}
.bgss-sidebar-stat {
	margin-top: auto;
	padding-top: 18px;
}
.bgss-sidebar-stat-num {
	font-size: 28px;
	font-weight: 700;
	color: var(--bgss-primary);
	line-height: 1.05;
}
.bgss-sidebar-stat-label {
	font-size: 12.5px;
	color: #64748B;
	margin-top: 2px;
	line-height: 1.35;
}
.bgss-sidebar-stat--empty .bgss-sidebar-stat-num { color: #94A3B8; }

/* ---------------------------- Step transition --------------------------- */
.bgss-main.bgss-step-enter { animation: bgss-step-fade 0.18s ease; }
@keyframes bgss-step-fade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ------------------------------ Step header ----------------------------- */
.bgss-step-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
.bgss-back {
	background: transparent;
	border: 0;
	color: #475569;
	cursor: pointer;
	font-size: 14px;
	padding: 4px 8px;
	border-radius: 4px;
}
.bgss-back:hover { background: #F1F5F9; }
.bgss-step-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: #0F172A;
}

/* ---------------------------- Consultant grid --------------------------- */
.bgss-consultants-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.bgss-consultants-heading .bgss-step-title { margin: 0; }
.bgss-consultants-count {
	font-size: 13px;
	color: #64748B;
	font-weight: 500;
}
.bgss-consultants {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 10px;
}
.bgss-consultant {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	padding: 14px 10px;
	background: #fff;
	border: 1.5px solid #E2E8F0;
	border-radius: 10px;
	cursor: pointer;
	font-family: inherit;
	font-size: 13.5px;
	color: #0F172A;
	transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.bgss-consultant:hover {
	border-color: var(--bgss-primary);
	background: color-mix(in srgb, var(--bgss-primary) 4%, white);
	transform: translateY(-1px);
}
.bgss-consultant-photo {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	background: #E2E8F0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	color: #64748B;
	font-size: 18px;
}
.bgss-consultant-name {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
}
.bgss-consultant-bio {
	font-size: 12px;
	color: #64748B;
	line-height: 1.35;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
@media (max-width: 480px) {
	.bgss-consultants { grid-template-columns: repeat(2, 1fr); }
}

/* -------------------------------- Calendar ------------------------------ */
.bgss-month-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.bgss-month-label { font-weight: 600; font-size: 16px; }
.bgss-month-nav {
	background: #F1F5F9;
	background: color-mix(in srgb, var(--bgss-primary) 8%, white);
	border: 0;
	border-radius: 8px;
	width: 34px;
	height: 34px;
	font-size: 18px;
	color: var(--bgss-primary);
	cursor: pointer;
	transition: filter .15s ease;
}
.bgss-month-nav:hover { filter: brightness(0.95); }

.bgss-cal {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
.bgss-cal-weekday {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	color: #64748B;
	padding: 6px 0;
}
.bgss-cal-cell {
	aspect-ratio: 1;
	border: 0;
	background: transparent;
	border-radius: 8px;
	font-family: inherit;
	font-size: 14px;
	color: #0F172A;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	position: relative;
	font-weight: 500;
	padding: 0;
}
.bgss-cell-num { line-height: 1; }
.bgss-cell-dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--bgss-primary);
	display: block;
}
.bgss-cell-today:not(.bgss-cell-disabled) {
	box-shadow: inset 0 0 0 1.5px var(--bgss-primary);
	color: var(--bgss-primary);
	font-weight: 700;
}
.bgss-cal-cell:not(:disabled):hover {
	background: color-mix(in srgb, var(--bgss-primary) 10%, white);
}
.bgss-cell-pad { visibility: hidden; }
.bgss-cell-disabled {
	color: #CBD5E1;
	cursor: not-allowed;
}
.bgss-cell-selected,
.bgss-cell-selected:hover {
	background: var(--bgss-primary) !important;
	color: #fff !important;
	box-shadow: none !important;
}
.bgss-cell-selected .bgss-cell-dot { background: #fff; }
.bgss-cell-disabled .bgss-cell-dot { display: none; }

.bgss-cal-loading {
	text-align: center;
	color: #64748B;
	padding: 12px 0;
}
.bgss-tz-note {
	font-size: 12px;
	color: #64748B;
	text-align: center;
	margin: 12px 0 0;
}
.bgss-date-readout {
	color: #0F172A;
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 12px;
}

/* -------------------------------- Slots --------------------------------- */
.bgss-slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 8px;
}
.bgss-slot {
	background: #fff;
	border: 1.5px solid #E2E8F0;
	color: #0F172A;
	padding: 11px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.bgss-slot:hover {
	border-color: var(--bgss-primary);
	color: var(--bgss-primary);
	background: color-mix(in srgb, var(--bgss-primary) 6%, white);
}

/* ---------------------------------- Form ---------------------------------- */
.bgss-summary {
	background: #F8FAFC;
	background: color-mix(in srgb, var(--bgss-primary) 6%, white);
	border-left: 3px solid var(--bgss-primary);
	padding: 12px 14px;
	border-radius: 6px;
	margin-bottom: 18px;
}
.bgss-summary-line { margin: 0; font-size: 14px; color: #0F172A; }
.bgss-summary-meta { color: #64748B; font-size: 13px; margin-top: 2px; }
.bgss-form-public {
	display: flex;
	flex-direction: column;
	gap: 11px;
}
.bgss-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.bgss-field-label {
	font-size: 13px;
	font-weight: 500;
	color: #334155;
}
.bgss-field input {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 12px;
	border: 1.5px solid #E2E8F0;
	border-radius: 6px;
	font-size: 14px;
	font-family: inherit;
	color: #0F172A;
	background: #fff;
	transition: border-color .15s ease;
}
.bgss-field input:focus {
	outline: none;
	border-color: var(--bgss-primary);
}
.bgss-consent {
	display: flex;
	gap: 10px;
	font-size: 13px;
	color: #475569;
	align-items: flex-start;
	line-height: 1.4;
}
.bgss-consent input { margin-top: 2px; flex-shrink: 0; }
.bgss-submit {
	background: var(--bgss-primary);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 12px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	transition: filter .15s ease;
	margin-top: 6px;
}
.bgss-submit:hover { filter: brightness(0.92); }
.bgss-submit:disabled { opacity: 0.6; cursor: wait; }
.bgss-form-error {
	background: #FEF2F2;
	border: 1px solid #FCA5A5;
	color: #B91C1C;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 14px;
}

/* ----------------------------- Confirmation ----------------------------- */
.bgss-confirmation {
	text-align: center;
	padding: 16px 0;
}
.bgss-check {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--bgss-primary) 14%, white);
	color: var(--bgss-primary);
	font-size: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	font-weight: 700;
}
.bgss-confirmation h2 {
	margin: 0 0 12px;
	font-size: 22px;
	color: #0F172A;
}
.bgss-confirmed-meta {
	color: #64748B;
	font-size: 14px;
	margin: 16px 0;
}
.bgss-confirmation .bgss-submit {
	display: inline-block;
	min-width: 140px;
}

/* ---------------------------- Misc / loading ---------------------------- */
.bgss-loading,
.bgss-empty {
	text-align: center;
	color: #64748B;
	padding: 24px 0;
	font-size: 14px;
}

/* ----------------------- Phone field with country code ------------------ */
.bgss-phone-row {
	display: flex;
	gap: 6px;
}
.bgss-cc-select {
	flex: 0 0 auto;
	width: 175px;
	padding: 10px 8px;
	border: 1.5px solid #E2E8F0;
	border-radius: 6px;
	background: #fff;
	font-family: inherit;
	font-size: 13.5px;
	color: #0F172A;
	cursor: pointer;
	transition: border-color .15s ease;
}
.bgss-cc-select:focus { outline: none; border-color: var(--bgss-primary); }
.bgss-phone-input {
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	border: 1.5px solid #E2E8F0;
	border-radius: 6px;
	font-size: 15px;
	font-family: inherit;
	color: #0F172A;
	background: #fff;
	transition: border-color .15s ease;
}
.bgss-phone-input:focus { outline: none; border-color: var(--bgss-primary); }

@media (max-width: 480px) {
	.bgss-cc-select { width: 130px; font-size: 12.5px; }
}

/* ------------------------------- Turnstile ------------------------------ */
.bgss-turnstile-mount {
	margin-top: 4px;
	min-height: 65px;
}

/* ----------------------- Consultant card — rich meta -------------------- */
.bgss-photo-wrap {
	position: relative;
	display: inline-flex;
}

.bgss-online-dot {
	position: absolute;
	bottom: 2px;
	right: 2px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #10B981; /* emerald */
	border: 2px solid #fff;
	box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.05);
}

.bgss-consultant-meta {
	margin-top: 6px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0;
	font-size: 11.5px;
	color: var(--bgss-text-mid, #475569);
	line-height: 1.4;
}

.bgss-meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	white-space: nowrap;
}

.bgss-meta-icon {
	color: var(--bgss-primary);
	font-weight: 600;
}

.bgss-meta-sep {
	color: #CBD5E1;
	margin: 0 2px;
}

/* ----------------------- Specialty/language tags ------------------------ */
.bgss-tag {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--bgss-primary) 8%, white);
	color: var(--bgss-primary);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}

.bgss-tag-more {
	background: #F1F5F9;
	color: #64748B;
}

.bgss-lang-tag {
	background: #F8FAFC;
	color: #475569;
	font-weight: 500;
}

/* Card: name + year badge inline */
.bgss-consultant-name-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
}

.bgss-yrs-badge {
	display: inline-block;
	background: color-mix(in srgb, var(--bgss-primary) 12%, white);
	color: var(--bgss-primary);
	font-size: 10.5px;
	font-weight: 700;
	padding: 1px 6px;
	border-radius: 4px;
	line-height: 1.5;
	letter-spacing: 0.02em;
}

/* Card: tag wrap (specialties) */
.bgss-consultant-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	justify-content: center;
	margin-top: 4px;
}

/* Sidebar variants */
.bgss-sidebar-yrs {
	margin-top: 2px;
	font-size: 12px;
	color: var(--bgss-primary);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.bgss-sidebar-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 12px;
}

.bgss-sidebar-langs {
	margin-top: 14px;
}

.bgss-sidebar-section-label {
	font-size: 10.5px;
	font-weight: 700;
	color: #64748B;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 4px;
}

/* ----------------------- Slot status states ---------------------------- */
/* Default .bgss-slot styling already exists; these override for non-available. */

/* Summary line above the slot grid */
.bgss-slot-summary {
	margin: 0 0 10px;
	font-size: 12.5px;
	color: #64748B;
	font-weight: 500;
}

/* Booked: muted, strikethrough, not clickable */
.bgss-slot.bgss-slot--booked {
	background: #F8FAFC !important;
	color: #94A3B8 !important;
	border-color: #E2E8F0 !important;
	text-decoration: line-through;
	cursor: not-allowed;
	pointer-events: auto; /* keep hover tooltip functional */
}
.bgss-slot.bgss-slot--booked:hover {
	background: #F8FAFC !important;
	color: #94A3B8 !important;
	border-color: #E2E8F0 !important;
	transform: none;
	box-shadow: none;
}

/* Blocked: dashed border to signal "off" rather than "taken" */
.bgss-slot.bgss-slot--blocked {
	background: #FAFAFA !important;
	color: #CBD5E1 !important;
	border: 1.5px dashed #E2E8F0 !important;
	cursor: not-allowed;
}
.bgss-slot.bgss-slot--blocked:hover {
	background: #FAFAFA !important;
	color: #CBD5E1 !important;
	border-color: #E2E8F0 !important;
	transform: none;
	box-shadow: none;
}

/* ----------------------- Sidebar — per-day stats ----------------------- */
.bgss-sidebar-day {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid color-mix(in srgb, var(--bgss-primary) 8%, transparent);
}

.bgss-sidebar-day-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	color: #475569;
	padding: 3px 0;
	line-height: 1.5;
}

.bgss-sidebar-day-icon {
	width: 18px;
	display: inline-flex;
	justify-content: center;
	font-size: 12px;
}

.bgss-sidebar-day-num {
	font-weight: 700;
	color: #0F172A;
	min-width: 18px;
}

.bgss-sidebar-day-label {
	color: #64748B;
}

.bgss-sidebar-day-row.is-available .bgss-sidebar-day-num { color: #047857; }
.bgss-sidebar-day-row.is-booked    .bgss-sidebar-day-num { color: var(--bgss-primary); }
.bgss-sidebar-day-row.is-blocked   .bgss-sidebar-day-num { color: #94A3B8; }

/* ----------------------- Custom intake form fields --------------------- */
.bgss-field textarea.bgss-input {
	font-family: inherit;
	resize: vertical;
	min-height: 56px;
	padding: 8px 12px;
	font-size: 14px;
}

.bgss-field-help {
	font-size: 12px;
	color: #64748B;
	margin-top: 4px;
	line-height: 1.4;
}

.bgss-choice-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 4px;
}

.bgss-choice-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	background: #fff;
	border: 1.5px solid #E2E8F0;
	border-radius: 7px;
	cursor: pointer;
	font-size: 14px;
	color: #0F172A;
	transition: border-color .12s ease, background .12s ease;
}

.bgss-choice-row:hover {
	border-color: color-mix(in srgb, var(--bgss-primary) 40%, white);
	background: color-mix(in srgb, var(--bgss-primary) 4%, white);
}

.bgss-choice-row input { cursor: pointer; flex-shrink: 0; }

/* When the radio/checkbox inside is checked, highlight the row. */
.bgss-choice-row:has(input:checked) {
	border-color: var(--bgss-primary);
	background: color-mix(in srgb, var(--bgss-primary) 7%, white);
}

.bgss-intake-consent {
	margin-top: 4px;
}

.bgss-required-star { color: #DC2626; font-weight: 700; }

select.bgss-input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3e%3cpath fill='%2364748B' d='M6 8 0 0h12z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}

/* ====================== Mobile compact sidebar ========================== */
/* On phones, the sidebar collapses to a thin identity strip at the top:
   small photo + name + duration. All secondary info (bio, specialties,
   languages, stats, timezone, dates-this-month) is hidden so the time picker
   becomes the primary view without scrolling.

   Why hide instead of reorder? Keeping the identity visible at the top
   reassures the visitor "I'm booking with the right person" while freeing
   the screen for the actual task. */
@media (max-width: 600px) {
	.bgss-sidebar {
		display: grid !important;
		grid-template-columns: 48px 1fr !important;
		grid-template-rows: auto auto !important;
		grid-template-areas:
			"photo name"
			"photo dur" !important;
		align-items: center;
		column-gap: 12px;
		row-gap: 2px;
		padding: 12px 16px !important;
	}

	.bgss-sidebar-photo {
		grid-area: photo;
		grid-row: 1 / span 2 !important;
		align-self: center;
		justify-self: start;
		width: 48px !important;
		height: 48px !important;
		font-size: 18px !important;
		margin: 0 !important;
		box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--bgss-primary) !important;
	}

	.bgss-sidebar-name {
		grid-area: name;
		font-size: 16px !important;
		margin: 0 !important;
		text-align: left !important;
		line-height: 1.2 !important;
	}

	.bgss-sidebar-duration {
		grid-area: dur;
		margin: 0 !important;
		font-size: 12px !important;
		color: #64748B !important;
		justify-content: flex-start !important;
	}

	/* Years badge: tuck inline next to the name on mobile rather than a
	   separate row. JS already inserts it AFTER name in the DOM, so we
	   move it into the name area with a small inline offset. */
	.bgss-sidebar-yrs {
		grid-area: name;
		justify-self: end;
		align-self: center;
		font-size: 11px !important;
		margin: 0 !important;
		padding: 2px 7px !important;
		background: color-mix(in srgb, var(--bgss-primary) 12%, white);
		border-radius: 4px;
	}

	/* Hide everything that turns the sidebar into a tall scrolling block.
	   These are nice-to-have on desktop; on mobile the user knows who
	   they're booking with and just wants to pick a time. */
	.bgss-sidebar-bio,
	.bgss-sidebar-tags,
	.bgss-sidebar-langs,
	.bgss-sidebar-day,
	.bgss-sidebar-divider,
	.bgss-sidebar-tz,
	.bgss-sidebar-stat {
		display: none !important;
	}

	/* Tighten the main step content on mobile. */
	.bgss-main { padding: 16px !important; }

	.bgss-step-title {
		font-size: 17px !important;
	}

	/* Slot grid: 2 columns on narrow phones for bigger tap targets. */
	.bgss-slots {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
	}

	.bgss-slot {
		padding: 12px 8px !important;
		font-size: 14px !important;
		min-height: 44px;
	}

	/* Calendar cells: tap-friendly. */
	.bgss-calendar-cell {
		min-height: 40px;
	}

	.bgss-back-btn {
		padding: 6px 10px !important;
		font-size: 13px !important;
	}

	.bgss-titlebar {
		padding: 12px 16px !important;
	}
	.bgss-titlebar h2 {
		font-size: 15px !important;
	}
}

/* Even smaller: 1-column slot grid on the narrowest phones to ensure
   labels never wrap awkwardly. */
@media (max-width: 360px) {
	.bgss-slots {
		grid-template-columns: 1fr !important;
	}
}

/* ====================== "Any consultant" card ========================= */
/* Distinct treatment for the round-robin pseudo-card so visitors notice
   it sits at the top and is different from the named consultants below. */
.bgss-consultant--any {
	background: linear-gradient(135deg, var(--bgss-brand-soft, #EEF2FF) 0%, #fff 80%);
	border: 1px dashed var(--bgss-brand-border, #C7D2FE) !important;
	position: relative;
}

.bgss-consultant--any:hover {
	border-color: var(--bgss-brand, #4F46E5) !important;
	border-style: solid !important;
}

.bgss-any-photo {
	background: linear-gradient(135deg, #818CF8 0%, #4F46E5 100%) !important;
	color: #fff !important;
	font-size: 22px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.bgss-meta-pill--any {
	background: var(--bgss-brand, #4F46E5) !important;
	color: #fff !important;
	border-color: var(--bgss-brand, #4F46E5) !important;
}

.bgss-meta-pill--any .bgss-meta-icon {
	color: #fff !important;
}

/* ====================== Confirmation page additions =================== */
/* Photo of the (possibly auto-assigned) consultant on the confirmation
   step, plus the small badge that explains the auto-assignment. */
.bgss-confirmation .bgss-confirmed-photo {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	margin: 14px auto 8px;
	display: block;
	object-fit: cover;
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}

.bgss-confirmation .bgss-confirmed-photo.bgss-photo-placeholder {
	background: var(--bgss-brand, #4F46E5);
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bgss-auto-assigned-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--bgss-brand-soft, #EEF2FF);
	color: var(--bgss-brand, #4F46E5);
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	margin: 6px auto 4px;
}

/* ----------------------- Meeting type picker (step 1.5) ---------------- */
.bgss-meeting-types-grid {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 4px;
}
.bgss-meeting-type-card {
	display: block;
	width: 100%;
	text-align: left;
	border: 1.5px solid #E2E8F0;
	border-radius: 10px;
	padding: 14px 16px;
	background: #fff;
	cursor: pointer;
	font-family: inherit;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.bgss-meeting-type-card:hover {
	border-color: var(--bgss-primary, #4F46E5);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(79, 70, 229, 0.08);
}
.bgss-meeting-type-card:focus-visible {
	outline: 2px solid var(--bgss-primary, #4F46E5);
	outline-offset: 2px;
}
.bgss-meeting-type-name {
	font-size: 15px;
	font-weight: 600;
	color: #0F172A;
	letter-spacing: -0.01em;
}
.bgss-meeting-type-duration {
	font-size: 12px;
	font-weight: 500;
	color: var(--bgss-primary, #4F46E5);
	margin-top: 2px;
}
.bgss-meeting-type-description {
	font-size: 13px;
	color: #475569;
	margin-top: 8px;
	line-height: 1.5;
}

/* ----------------------- Platform picker (form step) ------------------ */
.bgss-platform-picker {
	margin-bottom: 6px;
}
.bgss-platform-label {
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	margin-bottom: 6px;
}
.bgss-platform-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.bgss-platform-card {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 14px;
	border: 1.5px solid #E2E8F0;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	color: #0F172A;
	transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.bgss-platform-card:hover {
	border-color: var(--bgss-primary, #4F46E5);
	transform: translateY(-1px);
}
.bgss-platform-card.is-active {
	border-color: var(--bgss-primary, #4F46E5);
	background: var(--bgss-brand-soft, #EEF2FF);
	color: var(--bgss-primary, #4F46E5);
}
.bgss-platform-card:focus-visible {
	outline: 2px solid var(--bgss-primary, #4F46E5);
	outline-offset: 2px;
}
.bgss-platform-icon {
	display: inline-flex;
	align-items: center;
}

/* ============================================================== */
/*  v1.27 — Floating button design system (5 styles + animations) */
/* ============================================================== */

.bgss-fab-mount {
	position: fixed;
	z-index: 999998;
	bottom: 22px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .25s ease, transform .25s ease;
	pointer-events: none;
}
.bgss-fab-mount.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.bgss-fab-mount[data-bgss-fab-pos="bottom-right"] { right: 22px; }
.bgss-fab-mount[data-bgss-fab-pos="bottom-left"]  { left: 22px; }

.bgss-fab {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	border: none;
	transition: transform .2s ease, box-shadow .2s ease;
	color: #fff;
}
.bgss-fab:hover { transform: translateY(-2px); }

/* ---- Style 1: Classic pill ------------------------------------ */
.bgss-fab--classic_pill {
	background: var(--bgss-primary, #2563EB);
	color: #fff;
	padding: 12px 22px;
	border-radius: 28px;
	gap: 8px;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32);
}
.bgss-fab--classic_pill:hover { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.42); }

/* ---- Style 2: Round icon -------------------------------------- */
.bgss-fab--round_icon {
	background: var(--bgss-primary, #2563EB);
	color: #fff;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32);
}
.bgss-fab--round_icon:hover { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.42); }

/* ---- Style 3: Avatar stack ------------------------------------ */
.bgss-fab--avatar_stack {
	background: #fff;
	color: #0F172A;
	padding: 8px 18px 8px 10px;
	border-radius: 32px;
	gap: 10px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
	border: 1px solid rgba(15, 23, 42, 0.06);
}
.bgss-fab--avatar_stack:hover { box-shadow: 0 6px 20px rgba(15, 23, 42, 0.18); }
.bgss-fab-av-stack { display: flex; }
.bgss-fab-av {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: #DBEAFE;
	color: #1E3A8A;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 600;
	overflow: hidden;
	margin-left: -8px;
	flex-shrink: 0;
}
.bgss-fab-av:first-child { margin-left: 0; }
.bgss-fab-av:nth-child(2) { background: #FEE2E2; color: #991B1B; }
.bgss-fab-av:nth-child(3) { background: #DCFCE7; color: #14532D; }
.bgss-fab-av:nth-child(4) { background: #FEF3C7; color: #78350F; }
.bgss-fab-av img { width: 100%; height: 100%; object-fit: cover; }
.bgss-fab-av-skel {
	background: linear-gradient(90deg, #E2E8F0, #F1F5F9, #E2E8F0);
	background-size: 200% 100%;
	animation: bgss-skel 1.4s ease-in-out infinite;
}
@keyframes bgss-skel { 0%,100%{background-position:0 0;} 50%{background-position:100% 0;} }

.bgss-fab-stack-text { line-height: 1.1; text-align: left; }
.bgss-fab-stack-title { display: block; font-size: 13px; font-weight: 600; color: #0F172A; }
.bgss-fab-stack-sub   { display: block; font-size: 11px; font-weight: 400; color: #64748B; margin-top: 2px; }

/* ---- Style 4: Live status ------------------------------------- */
.bgss-fab--live_status {
	background: #fff;
	color: #0F172A;
	padding: 10px 18px 10px 14px;
	border-radius: 28px;
	gap: 10px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
	border: 1px solid rgba(15, 23, 42, 0.06);
	font-size: 13px;
}
.bgss-fab--live_status:hover { box-shadow: 0 6px 20px rgba(15, 23, 42, 0.18); }
.bgss-fab-live-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	flex-shrink: 0;
	background: #22C55E;
	animation: bgss-fab-live-pulse 1.6s ease-in-out infinite;
}
.bgss-fab-live-dot.is-off { background: #94A3B8; animation: none; }
@keyframes bgss-fab-live-pulse {
	0%,100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
	50%     { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
}
.bgss-fab-live-text strong { color: #1E3A8A; font-weight: 600; }

/* ---- Style 5: Greeting bubble --------------------------------- */
.bgss-fab--greeting_bubble {
	background: transparent;
	display: flex;
	align-items: flex-end;
	gap: 10px;
}
.bgss-fab-bubble {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 14px;
	padding: 12px 32px 12px 14px;
	font-size: 13px;
	color: #0F172A;
	max-width: 260px;
	line-height: 1.4;
	position: relative;
	box-shadow: 0 6px 22px rgba(15, 23, 42, 0.12);
	transition: opacity .35s ease, transform .35s ease;
	cursor: pointer;
}
.bgss-fab-bubble.is-hidden {
	opacity: 0;
	transform: translateX(20px);
	pointer-events: none;
}
.bgss-fab-bubble.is-revealed {
	opacity: 1;
	transform: translateX(0);
	animation: bgss-fab-bubble-in .45s ease;
}
.bgss-fab-bubble.is-dismissed { display: none; }
@keyframes bgss-fab-bubble-in {
	0%   { opacity: 0; transform: translateX(20px) translateY(8px); }
	100% { opacity: 1; transform: translateX(0)    translateY(0); }
}
.bgss-fab-bubble::after {
	content: "";
	position: absolute;
	bottom: 14px;
	right: -6px;
	width: 12px;
	height: 12px;
	background: #fff;
	border-right: 1px solid rgba(15, 23, 42, 0.08);
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	transform: rotate(45deg);
}
.bgss-fab-mount[data-bgss-fab-pos="bottom-left"] .bgss-fab-bubble {
	padding: 12px 14px 12px 32px;
}
.bgss-fab-mount[data-bgss-fab-pos="bottom-left"] .bgss-fab-bubble::after {
	right: auto;
	left: -6px;
	transform: rotate(-135deg);
}
.bgss-fab-bubble-close {
	position: absolute;
	top: 6px;
	right: 8px;
	width: 22px;
	height: 22px;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 18px;
	line-height: 1;
	color: #94A3B8;
	cursor: pointer;
	border-radius: 50%;
}
.bgss-fab-bubble-close:hover { background: #F1F5F9; color: #475569; }
.bgss-fab-greeting-round {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--bgss-primary, #2563EB);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32);
	transition: transform .2s ease, box-shadow .2s ease;
}
.bgss-fab-greeting-round:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(37, 99, 235, 0.42); }
.bgss-fab-mount[data-bgss-fab-pos="bottom-left"] .bgss-fab--greeting_bubble {
	flex-direction: row-reverse;
}

/* ---- Dismiss "x" badge (all styles except greeting) ---------- */
.bgss-fab-dismiss {
	position: absolute;
	top: -6px;
	right: -6px;
	width: 22px;
	height: 22px;
	background: #475569;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 50%;
	font-size: 14px;
	line-height: 1;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity .15s ease;
}
.bgss-fab:hover .bgss-fab-dismiss,
.bgss-fab-mount:hover .bgss-fab-dismiss { opacity: 1; }
.bgss-fab-dismiss:hover { background: #0F172A; }

/* ---- Animations ---------------------------------------------- */
.bgss-fab-mount[data-bgss-fab-anim="pulse"] .bgss-fab {
	animation: bgss-fab-pulse 2.4s ease-in-out infinite;
}
@keyframes bgss-fab-pulse {
	0%,100% { box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32), 0 0 0 0 rgba(37, 99, 235, 0.5); }
	50%     { box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32), 0 0 0 12px rgba(37, 99, 235, 0); }
}
.bgss-fab-mount[data-bgss-fab-anim="bounce"] .bgss-fab {
	animation: bgss-fab-bounce 1.2s cubic-bezier(0.36, 0, 0.66, -0.56) 1;
}
@keyframes bgss-fab-bounce {
	0%   { transform: translateY(60px) scale(0.6); opacity: 0; }
	60%  { transform: translateY(-8px) scale(1.05); opacity: 1; }
	80%  { transform: translateY(2px) scale(0.98); }
	100% { transform: translateY(0) scale(1); }
}
.bgss-fab-mount[data-bgss-fab-anim="wiggle"] .bgss-fab {
	animation: bgss-fab-wiggle 0.9s ease-in-out 30s infinite;
}
@keyframes bgss-fab-wiggle {
	0%, 90%, 100% { transform: rotate(0); }
	93%           { transform: rotate(-6deg); }
	96%           { transform: rotate(6deg); }
}
.bgss-fab-mount[data-bgss-fab-anim="heartbeat"] .bgss-fab {
	animation: bgss-fab-heartbeat 1.6s ease-in-out infinite;
}
@keyframes bgss-fab-heartbeat {
	0%,28%,100% { transform: scale(1); }
	14%         { transform: scale(1.06); }
	42%         { transform: scale(1.02); }
}

/* Mobile tightening — wide styles compress */
@media (max-width: 600px) {
	.bgss-fab-mount[data-bgss-fab-pos="bottom-right"] { right: 14px; bottom: 14px; }
	.bgss-fab-mount[data-bgss-fab-pos="bottom-left"]  { left: 14px;  bottom: 14px; }
	.bgss-fab-bubble { max-width: 220px; font-size: 12px; }
}

/* ====================================================================== */

/* ====================================================================== */
/*  v1.30 — AURORA THEME (restrained edition)                             */
/*                                                                         */
/*  Premium SaaS feel — solid surfaces, dark readable text, ONE subtle    */
/*  accent gradient in the modal backdrop. No DOM bloom divs (handled     */
/*  via background-image in the modal itself). Indigo accent used         */
/*  sparingly. The vibe should read "Linear / Vercel / Stripe", not       */
/*  "rainbow lava lamp".                                                   */
/* ====================================================================== */

.bgss-theme-aurora {
	--bgss-aurora-bg:           #FAFAFB;
	--bgss-aurora-surface:      #FFFFFF;
	--bgss-aurora-surface-alt:  #F7F7FA;
	--bgss-aurora-surface-hover:#F1F0F7;
	--bgss-aurora-border:       #E6E6ED;
	--bgss-aurora-border-strong:#D4D4DE;
	--bgss-aurora-accent:       #6366F1;
	--bgss-aurora-accent-soft:  #EEF0FF;
	--bgss-aurora-accent-hover: #4F46E5;
	--bgss-aurora-text:         #1A1A2E;
	--bgss-aurora-text-2:       #4A4A6A;
	--bgss-aurora-text-mu:      #8888A0;
	--bgss-aurora-text-soft:    #B0B0C0;
	--bgss-aurora-success:      #10B981;
}

/* ----- Overlay ----- */
.bgss-theme-aurora.bgss-modal-overlay {
	background: rgba(20, 20, 35, 0.45);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

/* ----- Modal: solid surface with one VERY subtle gradient hint ----- */
.bgss-theme-aurora .bgss-modal {
	background:
		radial-gradient(ellipse 600px 400px at top right, rgba(99, 102, 241, 0.05), transparent 60%),
		radial-gradient(ellipse 500px 350px at bottom left, rgba(236, 72, 153, 0.025), transparent 55%),
		var(--bgss-aurora-bg);
	border: 1px solid var(--bgss-aurora-border);
	border-radius: 16px;
	box-shadow: 0 20px 48px rgba(20, 20, 35, 0.18), 0 4px 12px rgba(20, 20, 35, 0.06);
	overflow: hidden;
	position: relative;
	color: var(--bgss-aurora-text);
	animation: bgss-aurora-in .35s cubic-bezier(0.22, 1, 0.36, 1);
	max-height: 90vh;
}
@keyframes bgss-aurora-in {
	0%   { opacity: 0; transform: translateY(8px) scale(0.99); }
	100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* The bloom divs from v1.28 are no longer needed — modal bg gradient
 * carries the aurora hint. Hide any leftover bloom DOM elements that
 * old caches might still inject. */
.bgss-theme-aurora .bgss-aurora-bloom { display: none !important; }

/* ----- Title bar — minimal, brand-led ----- */
.bgss-theme-aurora .bgss-title-bar {
	background: transparent;
	border-bottom: 1px solid var(--bgss-aurora-border);
	padding: 16px 22px 14px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.bgss-theme-aurora .bgss-title-bar-logo {
	max-height: 28px;
	width: auto;
	border-radius: 4px;
}
.bgss-theme-aurora .bgss-title-bar-brand {
	color: var(--bgss-aurora-text);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: -0.01em;
}
.bgss-theme-aurora .bgss-title-bar-title {
	color: var(--bgss-aurora-text-mu);
	font-size: 12px;
	font-weight: 500;
	margin-top: 1px;
}

/* ----- Close button ----- */
.bgss-theme-aurora .bgss-close {
	background: var(--bgss-aurora-surface);
	border: 1px solid var(--bgss-aurora-border);
	color: var(--bgss-aurora-text-2);
	width: 32px;
	height: 32px;
	border-radius: 8px;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
	font-size: 16px;
	line-height: 1;
}
.bgss-theme-aurora .bgss-close:hover {
	background: var(--bgss-aurora-surface-hover);
	border-color: var(--bgss-aurora-border-strong);
	color: var(--bgss-aurora-text);
}

/* ----- Step indicator (ambient progress bars) ----- */
.bgss-theme-aurora .bgss-step-indicator {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 16px 22px 6px;
	margin: 0;
}
.bgss-theme-aurora .bgss-step-bar {
	flex: 1;
	height: 3px;
	border-radius: 2px;
	background: var(--bgss-aurora-border);
	overflow: hidden;
	position: relative;
	max-width: 60px;
}
.bgss-theme-aurora .bgss-step-bar.is-done {
	background: var(--bgss-aurora-accent);
}
.bgss-theme-aurora .bgss-step-bar.is-active::after {
	content: "";
	position: absolute;
	inset: 0;
	width: 0;
	background: var(--bgss-aurora-accent);
	border-radius: 2px;
	animation: bgss-step-fill .45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes bgss-step-fill {
	0%   { width: 0; }
	100% { width: 100%; }
}
.bgss-theme-aurora .bgss-step-label {
	font-size: 11px;
	color: var(--bgss-aurora-text-mu);
	font-weight: 500;
	margin-left: 8px;
	white-space: nowrap;
}

/* ----- Step transition (gentle slide-in) ----- */
.bgss-theme-aurora .bgss-step-enter {
	animation: bgss-step-slide .25s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes bgss-step-slide {
	0%   { opacity: 0; transform: translateX(8px); }
	100% { opacity: 1; transform: translateX(0); }
}

/* ----- Body: classic two-column (sidebar + main) — matched to aurora ----- */
.bgss-theme-aurora .bgss-body {
	background: transparent;
	padding: 0;
}
.bgss-theme-aurora .bgss-main {
	background: transparent;
	padding: 18px 22px 22px;
	overflow-y: auto;
}

/* Aurora sidebar — soft tinted left rail (was hidden in early v1.30; restored
 * in v1.30.1 because users expect the classic left rail layout). */
.bgss-theme-aurora .bgss-sidebar {
	width: 260px;
	flex-shrink: 0;
	padding: 18px 16px;
	border-right: 1px solid var(--bgss-aurora-border);
	background: var(--bgss-aurora-surface-alt);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* ====================================================================== */
/*  AURORA SIDEBAR — Consultant LIST (step 1 only)                        */
/*  Vertical stack of compact consultant cards in the left rail. Click   */
/*  to select; selected card gets indigo border + soft background.        */
/* ====================================================================== */

.bgss-theme-aurora .bgss-sidebar-list-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bgss-aurora-text-mu);
	margin: 4px 4px 6px;
}
.bgss-theme-aurora .bgss-sidebar-c-card {
	display: block;
	width: 100%;
	background: var(--bgss-aurora-surface);
	border: 1.5px solid var(--bgss-aurora-border);
	border-radius: 10px;
	padding: 10px 12px;
	cursor: pointer;
	transition: border-color .12s ease, background .12s ease;
	text-align: left;
	font-family: inherit;
}
.bgss-theme-aurora .bgss-sidebar-c-card:hover {
	border-color: var(--bgss-aurora-border-strong);
	background: var(--bgss-aurora-surface-hover);
}
.bgss-theme-aurora .bgss-sidebar-c-card.is-selected {
	border-color: var(--bgss-aurora-accent);
	background: var(--bgss-aurora-accent-soft);
}
.bgss-theme-aurora .bgss-sidebar-c-row {
	display: flex;
	align-items: center;
	gap: 10px;
}
.bgss-theme-aurora .bgss-sidebar-c-photo {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--bgss-aurora-surface-alt);
	border: 2px solid var(--bgss-aurora-surface);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 13px;
	color: var(--bgss-aurora-text-2);
	position: relative;
	flex-shrink: 0;
}
.bgss-theme-aurora .bgss-sidebar-c-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bgss-theme-aurora .bgss-sidebar-c-photo .bgss-status-dot {
	position: absolute;
	bottom: -1px; right: -1px;
	width: 9px; height: 9px;
	border-radius: 50%;
	background: var(--bgss-aurora-success);
	border: 2px solid var(--bgss-aurora-surface);
}
.bgss-theme-aurora .bgss-sidebar-c-info {
	flex: 1;
	min-width: 0;
}
.bgss-theme-aurora .bgss-sidebar-c-name {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--bgss-aurora-text);
	line-height: 1.25;
}
.bgss-theme-aurora .bgss-sidebar-c-yrs {
	display: inline-block;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bgss-aurora-accent);
	background: var(--bgss-aurora-accent-soft);
	padding: 2px 6px;
	border-radius: 8px;
	flex-shrink: 0;
}
.bgss-theme-aurora .bgss-sidebar-c-role {
	font-size: 11px;
	color: var(--bgss-aurora-text-mu);
	margin-top: 1px;
	line-height: 1.3;
}
.bgss-theme-aurora .bgss-sidebar-c-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 6px;
}
.bgss-theme-aurora .bgss-sidebar-c-tag {
	font-size: 10px;
	font-weight: 500;
	color: var(--bgss-aurora-accent-hover);
	background: var(--bgss-aurora-accent-soft);
	padding: 2px 6px;
	border-radius: 6px;
}
.bgss-theme-aurora .bgss-sidebar-c-langs {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: var(--bgss-aurora-text-mu);
	margin-top: 6px;
	line-height: 1.3;
}
.bgss-theme-aurora .bgss-sidebar-c-langs-icon {
	font-size: 11px;
	opacity: 0.7;
}
.bgss-theme-aurora .bgss-sidebar-c-rec {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bgss-aurora-accent);
	margin-top: 6px;
}

/* Sidebar timezone footer (step 1 list) */
.bgss-theme-aurora .bgss-sidebar-tz-foot {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--bgss-aurora-border);
	font-size: 11px;
	color: var(--bgss-aurora-text-mu);
	display: flex;
	align-items: center;
	gap: 6px;
}

/* ====================================================================== */
/*  AURORA SIDEBAR — Consultant DETAIL (steps 1.5, 3, 4)                  */
/*  v1.30.11 — Compact layout designed to fit ALL sections including the */
/*  THIS DAY block within the modal viewport without scrolling at        */
/*  ≥720px modal height. Smaller photo, tight margins, inline badges.   */
/* ====================================================================== */

.bgss-theme-aurora .bgss-sidebar {
	padding: 16px 14px;
	gap: 0;
}

/* ---- Photo (compact 60px) ---- */
.bgss-theme-aurora .bgss-sidebar-photo {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	flex-grow: 0;
	align-self: center;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 3px solid #fff;
	box-shadow: 0 0 0 1px var(--bgss-aurora-border), 0 4px 10px rgba(99, 102, 241, 0.10);
	overflow: hidden;
	margin: 2px auto 8px;
	background: var(--bgss-aurora-surface-alt);
	display: block;
	padding: 0;
	box-sizing: border-box;
}
.bgss-theme-aurora .bgss-sidebar-photo > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 50%;
	flex: none;
}
.bgss-theme-aurora .bgss-sidebar-photo.bgss-photo-placeholder {
	background: var(--bgss-aurora-accent-soft);
	color: var(--bgss-aurora-accent);
	font-size: 22px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---- Identity block: name + inline years badge + role subtitle ---- */
.bgss-theme-aurora .bgss-sidebar-identity {
	text-align: center;
	margin-bottom: 10px;
}
.bgss-theme-aurora .bgss-sidebar-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--bgss-aurora-text);
	letter-spacing: -0.01em;
	line-height: 1.25;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
}
.bgss-theme-aurora .bgss-sidebar-yrs-inline {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bgss-aurora-accent);
	background: var(--bgss-aurora-accent-soft);
	padding: 2px 7px;
	border-radius: 8px;
	white-space: nowrap;
	line-height: 1.4;
}
.bgss-theme-aurora .bgss-sidebar-role {
	font-size: 11.5px;
	font-weight: 500;
	color: var(--bgss-aurora-text-mu);
	margin-top: 2px;
	line-height: 1.35;
}

/* ---- Duration line — inline pill, not a card ---- */
.bgss-theme-aurora .bgss-sidebar-duration {
	font-size: 12px;
	font-weight: 500;
	color: var(--bgss-aurora-text-2);
	background: var(--bgss-aurora-surface);
	border: 1px solid var(--bgss-aurora-border);
	border-radius: 8px;
	padding: 7px 10px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 6px;
	line-height: 1.3;
}
.bgss-theme-aurora .bgss-sidebar-duration .bgss-clock-icon {
	font-size: 13px;
	opacity: 0.8;
}

/* ---- Specialty + language tags ---- */
.bgss-theme-aurora .bgss-sidebar-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 10px;
}
.bgss-theme-aurora .bgss-sidebar-tags .bgss-tag,
.bgss-theme-aurora .bgss-sidebar-tags > span {
	font-size: 10px;
	font-weight: 500;
	color: var(--bgss-aurora-accent-hover);
	background: var(--bgss-aurora-accent-soft);
	padding: 3px 8px;
	border-radius: 8px;
	border: none;
	line-height: 1.3;
}

/* ---- Languages — inline icon + comma-separated text (NO section header) ---- */
.bgss-theme-aurora .bgss-sidebar-langs {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 11.5px;
	color: var(--bgss-aurora-text-2);
	margin-bottom: 8px;
	line-height: 1.4;
}
.bgss-theme-aurora .bgss-sidebar-langs-icon {
	flex-shrink: 0;
	opacity: 0.8;
	font-size: 12px;
	line-height: 1.4;
}
.bgss-theme-aurora .bgss-sidebar-langs-text {
	min-width: 0;
	word-wrap: break-word;
}

/* ---- THIS DAY block — primary stat on slot picker step ---- */
.bgss-theme-aurora .bgss-sidebar-day {
	background: var(--bgss-aurora-surface);
	border: 1px solid var(--bgss-aurora-border);
	border-radius: 10px;
	padding: 10px 12px;
	margin-bottom: 10px;
}
.bgss-theme-aurora .bgss-sidebar-day .bgss-sidebar-section-label {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bgss-aurora-text-mu);
	margin: 0 0 6px;
}
.bgss-theme-aurora .bgss-sidebar-day-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	padding: 2px 0;
}
.bgss-theme-aurora .bgss-sidebar-day-row.is-available {
	color: var(--bgss-aurora-success);
}
.bgss-theme-aurora .bgss-sidebar-day-row.is-booked {
	color: var(--bgss-aurora-text-2);
}
.bgss-theme-aurora .bgss-sidebar-day-row.is-blocked {
	color: var(--bgss-aurora-text-mu);
}
.bgss-theme-aurora .bgss-sidebar-day-icon {
	font-size: 12px;
	width: 14px;
	flex-shrink: 0;
	text-align: center;
}
.bgss-theme-aurora .bgss-sidebar-day-num {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	min-width: 16px;
}
.bgss-theme-aurora .bgss-sidebar-day-label {
	color: var(--bgss-aurora-text-2);
	font-weight: 500;
}

/* ---- Timezone — small subtle line ---- */
.bgss-theme-aurora .bgss-sidebar-tz {
	font-size: 11px;
	color: var(--bgss-aurora-text-mu);
	display: flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 0;
	line-height: 1.3;
}
.bgss-theme-aurora .bgss-sidebar-tz-icon {
	opacity: 0.7;
	font-size: 11px;
}

/* ---- Divider (only when stat is present, on non-slot-picker steps) ---- */
.bgss-theme-aurora .bgss-sidebar-divider {
	border: none;
	border-top: 1px solid var(--bgss-aurora-border);
	margin: 10px 0;
	height: 0;
}

/* ---- Stat block: dates available this month (only on calendar/form steps) ---- */
.bgss-theme-aurora .bgss-sidebar-stat {
	background: var(--bgss-aurora-accent-soft);
	border-radius: 10px;
	padding: 10px 12px;
	text-align: center;
}
.bgss-theme-aurora .bgss-sidebar-stat-num {
	font-size: 22px;
	font-weight: 800;
	color: var(--bgss-aurora-accent);
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 3px;
	font-variant-numeric: tabular-nums;
}
.bgss-theme-aurora .bgss-sidebar-stat-label {
	font-size: 10px;
	font-weight: 500;
	color: var(--bgss-aurora-text-2);
	line-height: 1.3;
}

/* Mobile sidebar — horizontal-ish on narrow viewports */
@media (max-width: 600px) {
	.bgss-theme-aurora .bgss-sidebar {
		width: 100%;
		max-height: 240px;
		border-right: 0;
		border-bottom: 1px solid var(--bgss-aurora-border);
	}
}

/* ----- Step titles ----- */
.bgss-theme-aurora .bgss-step-title,
.bgss-theme-aurora .bgss-section-title,
.bgss-theme-aurora h2.bgss-step-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--bgss-aurora-text);
	margin: 0 0 4px;
}
.bgss-theme-aurora .bgss-step-subtitle {
	font-size: 12px;
	color: var(--bgss-aurora-text-mu);
	margin: 0 0 14px;
}

/* ====================================================================== */
/*  RIGHT-COLUMN HEADERS (step titles + subtitles)                         */
/* ====================================================================== */

/* ----- Calendar (cleaner) ----- */
.bgss-theme-aurora .bgss-calendar {
	background: var(--bgss-aurora-surface);
	border: 1px solid var(--bgss-aurora-border);
	border-radius: 12px;
	padding: 14px;
}
.bgss-theme-aurora .bgss-calendar-header {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 10px;
}
.bgss-theme-aurora .bgss-calendar-month {
	font-weight: 600;
	color: var(--bgss-aurora-text);
	font-size: 14px;
}
.bgss-theme-aurora .bgss-calendar-nav button {
	background: transparent;
	border: 1px solid var(--bgss-aurora-border);
	border-radius: 6px;
	color: var(--bgss-aurora-text-2);
	width: 28px; height: 28px;
	transition: background .15s ease;
	cursor: pointer;
}
.bgss-theme-aurora .bgss-calendar-nav button:hover { background: var(--bgss-aurora-surface-hover); }
.bgss-theme-aurora .bgss-calendar-weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
	margin-bottom: 4px;
}
.bgss-theme-aurora .bgss-calendar-weekdays > div {
	color: var(--bgss-aurora-text-mu);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-align: center;
	padding: 4px 0;
}
.bgss-theme-aurora .bgss-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
.bgss-theme-aurora .bgss-calendar-day {
	background: transparent;
	border: 1px solid transparent;
	color: var(--bgss-aurora-text);
	border-radius: 8px;
	font-weight: 500;
	font-size: 13px;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.bgss-theme-aurora .bgss-calendar-day:hover:not(.is-disabled):not(.is-other-month) {
	background: var(--bgss-aurora-accent-soft);
	border-color: var(--bgss-aurora-accent);
	color: var(--bgss-aurora-accent-hover);
}
.bgss-theme-aurora .bgss-calendar-day.is-selected {
	background: var(--bgss-aurora-accent);
	color: #fff;
	border-color: var(--bgss-aurora-accent);
}
.bgss-theme-aurora .bgss-calendar-day.has-availability::after {
	background: var(--bgss-aurora-accent);
}
.bgss-theme-aurora .bgss-calendar-day.is-disabled,
.bgss-theme-aurora .bgss-calendar-day.is-other-month {
	color: var(--bgss-aurora-text-soft);
	cursor: not-allowed;
}
.bgss-theme-aurora .bgss-calendar-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--bgss-aurora-border);
	font-size: 11px;
	color: var(--bgss-aurora-text-mu);
}

/* ----- Time slots (clean grid) ----- */
.bgss-theme-aurora .bgss-slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: 8px;
}
.bgss-theme-aurora .bgss-slot-summary {
	font-size: 12px;
	color: var(--bgss-aurora-text-mu);
	margin-bottom: 12px;
}
.bgss-theme-aurora .bgss-slot {
	background: var(--bgss-aurora-surface);
	border: 1px solid var(--bgss-aurora-border);
	color: var(--bgss-aurora-text);
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	padding: 10px 12px;
	text-align: center;
	cursor: pointer;
	transition: background .12s ease, border-color .12s ease, transform .12s ease;
}
.bgss-theme-aurora .bgss-slot:hover:not(.bgss-slot--booked):not(.bgss-slot--blocked) {
	background: var(--bgss-aurora-accent-soft);
	border-color: var(--bgss-aurora-accent);
	color: var(--bgss-aurora-accent-hover);
}
.bgss-theme-aurora .bgss-slot--booked,
.bgss-theme-aurora .bgss-slot--blocked {
	background: var(--bgss-aurora-surface-alt);
	color: var(--bgss-aurora-text-soft);
	border-color: transparent;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* ====================================================================== */
/*  FORM FIELDS (v1.30 — fixed)                                           */
/*                                                                         */
/*  - Floating-label only applies to single-input fields rendered via     */
/*    field() (input first, label after).                                  */
/*  - Compound fields (phone with country select, intake fields with     */
/*    label-first markup) get a static label ABOVE the input via         */
/*    .bgss-field-static-label, no overlap.                               */
/* ====================================================================== */

/* Single-input floating-label fields (Name, Email) */
.bgss-theme-aurora .bgss-field {
	position: relative;
	margin-bottom: 12px;
	box-sizing: border-box;
}
.bgss-theme-aurora .bgss-field input[type="text"],
.bgss-theme-aurora .bgss-field input[type="email"],
.bgss-theme-aurora .bgss-field input[type="tel"],
.bgss-theme-aurora .bgss-field input[type="url"],
.bgss-theme-aurora .bgss-field input[type="number"],
.bgss-theme-aurora .bgss-field input[type="date"],
.bgss-theme-aurora .bgss-field textarea,
.bgss-theme-aurora .bgss-field select {
	background: var(--bgss-aurora-surface);
	border: 1.5px solid var(--bgss-aurora-border);
	border-radius: 8px;
	padding: 16px 12px 6px;
	font-size: 14px;
	color: var(--bgss-aurora-text);
	width: 100%;
	max-width: 100%;
	transition: border-color .15s ease, background .15s ease;
	font-family: inherit;
	min-height: 44px;
	box-sizing: border-box;
}
.bgss-theme-aurora .bgss-field input:focus,
.bgss-theme-aurora .bgss-field textarea:focus,
.bgss-theme-aurora .bgss-field select:focus {
	outline: none;
	border-color: var(--bgss-aurora-accent);
	background: var(--bgss-aurora-surface);
}
.bgss-theme-aurora .bgss-field textarea {
	padding: 10px 12px;
	min-height: 96px;
	resize: vertical;
	display: block;
	line-height: 1.4;
}
/* Static-label compound fields (phone, intake) — textarea inside one of these
 * shouldn't reserve top space for a floating label, so reset padding. */
.bgss-theme-aurora .bgss-field:not(.is-floating) textarea,
.bgss-theme-aurora .bgss-field:not(.is-floating) input {
	padding: 12px;
}

/* Floating label — only when the field is a "floating" type (input + span sibling) */
.bgss-theme-aurora .bgss-field.is-floating .bgss-field-label {
	position: absolute;
	left: 12px;
	top: 14px;
	font-size: 13px;
	color: var(--bgss-aurora-text-mu);
	pointer-events: none;
	transition: top .15s ease, font-size .15s ease, color .15s ease;
	background: transparent;
	font-weight: 400;
	margin: 0;
}
.bgss-theme-aurora .bgss-field.is-floating input:focus ~ .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating textarea:focus ~ .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating input:not(:placeholder-shown) ~ .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating textarea:not(:placeholder-shown) ~ .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating.has-value .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating.is-focused .bgss-field-label {
	top: 6px;
	font-size: 10px;
	font-weight: 600;
	color: var(--bgss-aurora-accent);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Static-label fields (compound fields like phone with country select,
 * legacy intake fields) — label sits ABOVE the input as a normal block. */
.bgss-theme-aurora .bgss-field:not(.is-floating) .bgss-field-label {
	position: static;
	display: block;
	font-size: 11px;
	font-weight: 600;
	color: var(--bgss-aurora-text-2);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 5px;
}

/* Compound-field input row (phone) */
.bgss-theme-aurora .bgss-phone-row {
	display: flex;
	gap: 6px;
}
/* ----- v1.30.4 — Phone field (compact cc-select + floating-label phone) ----- */

/* Outer field shell — same vertical rhythm as other fields */
.bgss-theme-aurora .bgss-field-shell {
	margin-bottom: 12px;
}

/* Phone row — flex with cc-select fixed-ish + phone-input growing */
.bgss-theme-aurora .bgss-phone-row--floating {
	display: flex;
	gap: 8px;
	align-items: stretch;
	width: 100%;
	min-width: 0;
}

/* Compact cc-select — width sized for "🇮🇳 +91" not full country name */
.bgss-theme-aurora .bgss-cc-select-compact {
	flex: 0 0 auto;
	width: 110px;
	min-width: 96px;
	max-width: 130px;
	height: 52px;
	min-height: 52px;
	padding: 0 24px 0 10px;
	background: var(--bgss-aurora-surface);
	border: 1.5px solid var(--bgss-aurora-border);
	border-radius: 8px;
	font-size: 13px;
	color: var(--bgss-aurora-text);
	box-sizing: border-box;
	-webkit-appearance: menulist;
	appearance: menulist;
	cursor: pointer;
}
.bgss-theme-aurora .bgss-cc-select-compact:focus {
	outline: none;
	border-color: var(--bgss-aurora-accent);
}

/* Phone input field-wrap — flex-grow to fill remaining row space */
.bgss-theme-aurora .bgss-field--phone {
	flex: 1 1 auto;
	min-width: 0;
	margin-bottom: 0;
}
.bgss-theme-aurora .bgss-field--phone .bgss-phone-input,
.bgss-theme-aurora .bgss-field--phone input[type="tel"] {
	width: 100%;
	height: 52px;
	min-height: 52px;
	padding: 16px 12px 6px;
	background: var(--bgss-aurora-surface);
	border: 1.5px solid var(--bgss-aurora-border);
	border-radius: 8px;
	font-size: 14px;
	color: var(--bgss-aurora-text);
	box-sizing: border-box;
}
.bgss-theme-aurora .bgss-field--phone .bgss-phone-input:focus {
	outline: none;
	border-color: var(--bgss-aurora-accent);
}

/* Mobile — keep the row but allow the cc-select to shrink slightly */
@media (max-width: 480px) {
	.bgss-theme-aurora .bgss-cc-select-compact {
		width: 96px;
		font-size: 12.5px;
	}
}

/* Textarea floating-label adjustment — when it's a textarea inside a
 * .is-floating wrap, the label sits at top:14px (not centered) and the
 * textarea has top padding to give the label room. */
.bgss-theme-aurora .bgss-field.is-floating.bgss-field--textarea .bgss-field-label {
	top: 14px;
	transform: none;
}
.bgss-theme-aurora .bgss-field.is-floating.bgss-field--textarea textarea {
	padding: 22px 12px 10px;
	min-height: 96px;
	resize: vertical;
}
.bgss-theme-aurora .bgss-field.is-floating.bgss-field--textarea textarea:focus ~ .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating.bgss-field--textarea textarea:not(:placeholder-shown) ~ .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating.bgss-field--textarea.has-value .bgss-field-label,
.bgss-theme-aurora .bgss-field.is-floating.bgss-field--textarea.is-focused .bgss-field-label {
	top: 6px;
}

/* Help / hint text below a field */
.bgss-theme-aurora .bgss-field-help {
	font-size: 11px;
	color: var(--bgss-aurora-text-mu);
	margin-top: 4px;
}

/* ----- Platform picker cards ----- */
.bgss-theme-aurora .bgss-platform-card {
	background: var(--bgss-aurora-surface);
	border: 1.5px solid var(--bgss-aurora-border);
	border-radius: 10px;
	padding: 14px;
	transition: border-color .15s ease, background .15s ease;
	cursor: pointer;
	color: var(--bgss-aurora-text);
}
.bgss-theme-aurora .bgss-platform-card:hover {
	border-color: var(--bgss-aurora-border-strong);
	background: var(--bgss-aurora-surface-alt);
}
.bgss-theme-aurora .bgss-platform-card.is-active {
	background: var(--bgss-aurora-accent-soft);
	border-color: var(--bgss-aurora-accent);
	color: var(--bgss-aurora-accent-hover);
}

/* ----- Buttons ----- */
.bgss-theme-aurora .bgss-btn-primary,
.bgss-theme-aurora button[type="submit"].bgss-submit,
.bgss-theme-aurora .bgss-form-public button[type="submit"] {
	background: var(--bgss-aurora-accent);
	color: #fff;
	border: none;
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 8px;
	cursor: pointer;
	transition: background .15s ease, transform .1s ease;
	letter-spacing: -0.01em;
	width: 100%;
}
.bgss-theme-aurora .bgss-btn-primary:hover,
.bgss-theme-aurora button[type="submit"].bgss-submit:hover,
.bgss-theme-aurora .bgss-form-public button[type="submit"]:hover {
	background: var(--bgss-aurora-accent-hover);
}
.bgss-theme-aurora .bgss-btn-primary:active,
.bgss-theme-aurora button[type="submit"].bgss-submit:active {
	transform: translateY(1px);
}
.bgss-theme-aurora .bgss-btn-secondary,
.bgss-theme-aurora .bgss-back-btn {
	background: transparent;
	border: 1px solid var(--bgss-aurora-border);
	color: var(--bgss-aurora-text-2);
	padding: 8px 14px;
	border-radius: 8px;
	font-weight: 500;
	transition: background .15s ease;
	font-size: 13px;
	cursor: pointer;
}
.bgss-theme-aurora .bgss-btn-secondary:hover,
.bgss-theme-aurora .bgss-back-btn:hover { background: var(--bgss-aurora-surface-hover); }

/* ----- Selected booking summary card (pre-filled at top of form step) ----- */
.bgss-theme-aurora .bgss-summary {
	background: var(--bgss-aurora-accent-soft);
	border: 1px solid var(--bgss-aurora-accent);
	border-radius: 10px;
	padding: 12px 14px;
	color: var(--bgss-aurora-text);
	margin-bottom: 16px;
	font-size: 13px;
	font-weight: 500;
}

/* ----- Consent checkbox ----- */
.bgss-theme-aurora .bgss-consent {
	display: flex;
	gap: 8px;
	font-size: 12px;
	color: var(--bgss-aurora-text-2);
	line-height: 1.5;
	margin: 12px 0 16px;
	cursor: pointer;
}
.bgss-theme-aurora .bgss-consent input[type="checkbox"] {
	margin-top: 2px;
	flex-shrink: 0;
}

/* ----- Success / confirmation ----- */
.bgss-theme-aurora .bgss-success {
	text-align: center;
	padding: 36px 24px 24px;
}

/* v1.30.5 — Aurora confirmation page (full-width, centered, sidebar hidden).
 * Targets the actual .bgss-confirmation markup output by renderConfirmation. */
.bgss-theme-aurora .bgss-confirmation {
	max-width: 460px;
	margin: 0 auto;
	padding: 36px 24px 28px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.bgss-theme-aurora .bgss-confirmation .bgss-check {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--bgss-aurora-accent-soft);
	color: var(--bgss-aurora-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	font-weight: 700;
	margin: 0 auto 16px;
	animation: bgss-success-pop .45s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.bgss-theme-aurora .bgss-confirmation h2 {
	font-size: 22px;
	font-weight: 600;
	color: var(--bgss-aurora-text);
	letter-spacing: -0.02em;
	margin: 0 0 18px;
}
.bgss-theme-aurora .bgss-confirmation .bgss-confirmed-photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 2px solid var(--bgss-aurora-surface);
	box-shadow: 0 0 0 1px var(--bgss-aurora-border);
	margin: 0 auto 12px;
	object-fit: cover;
	display: block;
}
.bgss-theme-aurora .bgss-confirmation .bgss-confirmed-photo.bgss-photo-placeholder {
	background: var(--bgss-aurora-accent-soft);
	color: var(--bgss-aurora-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 22px;
}
.bgss-theme-aurora .bgss-confirmation .bgss-summary-line {
	font-size: 16px;
	font-weight: 600;
	color: var(--bgss-aurora-text);
	margin: 0 0 4px;
}
.bgss-theme-aurora .bgss-confirmation .bgss-summary-line.bgss-summary-meta {
	font-size: 14px;
	font-weight: 500;
	color: var(--bgss-aurora-text-2);
	margin: 4px 0 16px;
}
.bgss-theme-aurora .bgss-confirmation .bgss-confirmed-meta {
	font-size: 13px;
	color: var(--bgss-aurora-text-mu);
	margin: 0 0 24px;
	line-height: 1.5;
}
.bgss-theme-aurora .bgss-confirmation .bgss-auto-assigned-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	color: var(--bgss-aurora-accent);
	background: var(--bgss-aurora-accent-soft);
	padding: 4px 10px;
	border-radius: 12px;
	margin: 0 0 12px;
}
.bgss-theme-aurora .bgss-confirmation .bgss-submit {
	max-width: 200px;
	width: 100%;
}
.bgss-theme-aurora .bgss-success-checkmark {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--bgss-aurora-success);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 28px;
	margin-bottom: 14px;
	animation: bgss-success-pop .45s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes bgss-success-pop {
	0%   { transform: scale(0); opacity: 0; }
	60%  { transform: scale(1.1); }
	100% { transform: scale(1); opacity: 1; }
}
.bgss-theme-aurora .bgss-success-title {
	font-size: 22px;
	font-weight: 600;
	color: var(--bgss-aurora-text);
	letter-spacing: -0.02em;
	margin-bottom: 6px;
}

/* ----- Mobile (<= 600px) ----- */
@media (max-width: 600px) {
	.bgss-theme-aurora .bgss-modal { border-radius: 14px; }
	.bgss-theme-aurora .bgss-step-title { font-size: 16px; }
	.bgss-theme-aurora .bgss-success-title { font-size: 19px; }
	.bgss-theme-aurora .bgss-main { padding: 14px 16px 18px; }
	.bgss-theme-aurora .bgss-title-bar { padding: 12px 16px 10px; }
	.bgss-theme-aurora .bgss-step-indicator { padding: 12px 16px 4px; }
	.bgss-theme-aurora .bgss-slots {
		grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
		gap: 6px;
	}
	.bgss-theme-aurora .bgss-slot { padding: 8px 10px; font-size: 12px; }
}

/* ----- Reduced motion ----- */
@media (prefers-reduced-motion: reduce) {
	.bgss-theme-aurora .bgss-modal,
	.bgss-theme-aurora .bgss-step-enter,
	.bgss-theme-aurora .bgss-success-checkmark,
	.bgss-theme-aurora .bgss-step-bar.is-active::after { animation: none; }
}

/* ============================================================== */
/*  v1.29 — Mobile compaction for wide FAB styles                 */
/* ============================================================== */
@media (max-width: 600px) {
	/* Avatar stack — when admin explicitly forces it on mobile (instead of
	 * the auto-fallback to round_icon), compress photos and tighten padding. */
	.bgss-fab--avatar_stack {
		padding: 6px 14px 6px 8px;
		gap: 6px;
		font-size: 12px;
	}
	.bgss-fab--avatar_stack .bgss-fab-av { width: 24px; height: 24px; margin-left: -6px; font-size: 10px; }
	.bgss-fab--avatar_stack .bgss-fab-stack-title { font-size: 12px; }
	.bgss-fab--avatar_stack .bgss-fab-stack-sub   { font-size: 10px; }

	/* Live status — drop redundant separators, single-line subline. */
	.bgss-fab--live_status { padding: 8px 14px 8px 12px; font-size: 12px; }

	/* Greeting bubble — narrower max-width so it fits portrait phones. */
	.bgss-fab-bubble { max-width: 200px; font-size: 11px; padding: 10px 26px 10px 12px; }
}

/* ====================================================================== */
/*  v1.30.7 — FINAL QA POLISH PASS                                        */
/*                                                                         */
/*  Comprehensive polish: accessibility (focus rings), loading states,    */
/*  visual consistency, mobile tightening at 375px, hover/active states  */
/*  on every interactive surface, scrollbar styling, calendar today      */
/*  marker, smoother transitions.                                        */
/* ====================================================================== */

/* ----- Accessibility: visible keyboard focus on all interactive ------- */
.bgss-theme-aurora :focus-visible {
	outline: 2px solid var(--bgss-aurora-accent);
	outline-offset: 2px;
	border-radius: 6px;
}
.bgss-theme-aurora .bgss-field input:focus-visible,
.bgss-theme-aurora .bgss-field textarea:focus-visible,
.bgss-theme-aurora .bgss-field select:focus-visible,
.bgss-theme-aurora .bgss-cc-select-compact:focus-visible,
.bgss-theme-aurora .bgss-phone-input:focus-visible {
	outline: none; /* the border-color handles it */
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18);
}
.bgss-theme-aurora .bgss-sidebar-c-card:focus-visible {
	outline: 2px solid var(--bgss-aurora-accent);
	outline-offset: 0;
}

/* ----- Submit button — proper loading spinner --------------------------- */
.bgss-theme-aurora .bgss-submit,
.bgss-theme-aurora button[type="submit"].bgss-submit {
	position: relative;
	transition: background .15s ease, transform .08s ease;
	min-height: 44px;
}
.bgss-theme-aurora .bgss-submit.is-loading {
	color: transparent !important;
	pointer-events: none;
	cursor: wait;
}
.bgss-theme-aurora .bgss-submit.is-loading::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: bgss-spinner .7s linear infinite;
}
@keyframes bgss-spinner {
	to { transform: rotate(360deg); }
}

/* ----- Calendar — better selected/today/hover states ------------------- */
.bgss-theme-aurora .bgss-calendar-day {
	font-variant-numeric: tabular-nums;
	font-weight: 500;
	position: relative;
}
.bgss-theme-aurora .bgss-calendar-day.bgss-cell-today:not(.is-selected):not(.is-disabled) {
	color: var(--bgss-aurora-accent);
	font-weight: 700;
	box-shadow: inset 0 0 0 1.5px var(--bgss-aurora-accent-soft);
}
.bgss-theme-aurora .bgss-calendar-day.is-selected,
.bgss-theme-aurora .bgss-calendar-day.bgss-cell-selected {
	background: var(--bgss-aurora-accent);
	color: #fff;
	font-weight: 600;
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.32);
	transform: scale(1.02);
}
/* Availability dot inside calendar day */
.bgss-theme-aurora .bgss-calendar-day .bgss-cell-dot {
	position: absolute;
	bottom: 4px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--bgss-aurora-accent);
	display: block;
}
.bgss-theme-aurora .bgss-calendar-day.is-selected .bgss-cell-dot,
.bgss-theme-aurora .bgss-calendar-day.bgss-cell-selected .bgss-cell-dot {
	background: rgba(255, 255, 255, 0.85);
}
.bgss-theme-aurora .bgss-calendar-day.bgss-cell-disabled .bgss-cell-dot {
	display: none;
}
.bgss-theme-aurora .bgss-calendar-day .bgss-cell-num {
	position: relative;
	z-index: 1;
}

/* ----- Time slots — smoother selection and better disabled state ------- */
.bgss-theme-aurora .bgss-slot {
	position: relative;
	font-variant-numeric: tabular-nums;
}
.bgss-theme-aurora .bgss-slot:active:not(.bgss-slot--booked):not(.bgss-slot--blocked) {
	transform: translateY(1px);
}
.bgss-theme-aurora .bgss-slot.bgss-slot-selected,
.bgss-theme-aurora .bgss-slot.is-selected {
	background: var(--bgss-aurora-accent);
	color: #fff;
	border-color: var(--bgss-aurora-accent);
	font-weight: 600;
}

/* ----- Consultant card hover lift -------------------------------------- */
.bgss-theme-aurora .bgss-sidebar-c-card {
	will-change: transform;
}
.bgss-theme-aurora .bgss-sidebar-c-card:hover:not(.is-selected) {
	transform: translateX(2px);
}
.bgss-theme-aurora .bgss-sidebar-c-card:active {
	transform: translateX(2px) scale(0.99);
}

/* ----- Platform card (Zoom/Google Meet) hover -------------------------- */
.bgss-theme-aurora .bgss-platform-card {
	will-change: transform;
}
.bgss-theme-aurora .bgss-platform-card:hover:not(.is-active) {
	transform: translateY(-1px);
}
.bgss-theme-aurora .bgss-platform-card:active {
	transform: translateY(0);
}

/* ----- Meeting type cards (step 1.5) ----------------------------------- */
.bgss-theme-aurora .bgss-meeting-type-card {
	background: var(--bgss-aurora-surface);
	border: 1.5px solid var(--bgss-aurora-border);
	border-radius: 12px;
	padding: 16px;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, transform .12s ease;
	text-align: left;
	font-family: inherit;
}
.bgss-theme-aurora .bgss-meeting-type-card:hover {
	border-color: var(--bgss-aurora-border-strong);
	background: var(--bgss-aurora-surface-hover);
	transform: translateY(-1px);
}
.bgss-theme-aurora .bgss-meeting-type-card:active {
	transform: translateY(0);
}
.bgss-theme-aurora .bgss-meeting-type-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--bgss-aurora-text);
	margin-bottom: 4px;
}
.bgss-theme-aurora .bgss-meeting-type-duration {
	font-size: 12px;
	color: var(--bgss-aurora-accent);
	font-weight: 500;
	margin-bottom: 6px;
}
.bgss-theme-aurora .bgss-meeting-type-description {
	font-size: 12px;
	color: var(--bgss-aurora-text-mu);
	line-height: 1.4;
}

/* ----- Empty states ---------------------------------------------------- */
.bgss-theme-aurora .bgss-empty {
	text-align: center;
	padding: 36px 20px;
	color: var(--bgss-aurora-text-mu);
	font-size: 13px;
	background: var(--bgss-aurora-surface-alt);
	border-radius: 10px;
	border: 1px dashed var(--bgss-aurora-border);
}

/* ----- Loading text ---------------------------------------------------- */
.bgss-theme-aurora .bgss-cal-loading,
.bgss-theme-aurora .bgss-loading {
	text-align: center;
	padding: 28px 20px;
	color: var(--bgss-aurora-text-mu);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.bgss-theme-aurora .bgss-cal-loading::before,
.bgss-theme-aurora .bgss-loading::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid var(--bgss-aurora-border);
	border-top-color: var(--bgss-aurora-accent);
	border-radius: 50%;
	margin-right: 8px;
	vertical-align: -2px;
	animation: bgss-spinner .7s linear infinite;
}

/* ----- Error state in form --------------------------------------------- */
.bgss-theme-aurora .bgss-error {
	background: #FEF2F2;
	border: 1px solid #FECACA;
	color: #B91C1C;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	margin-bottom: 12px;
}

/* ----- Sidebar scrollbar (subtle, don't dominate) ---------------------- */
.bgss-theme-aurora .bgss-sidebar::-webkit-scrollbar,
.bgss-theme-aurora .bgss-main::-webkit-scrollbar {
	width: 6px;
}
.bgss-theme-aurora .bgss-sidebar::-webkit-scrollbar-track,
.bgss-theme-aurora .bgss-main::-webkit-scrollbar-track {
	background: transparent;
}
.bgss-theme-aurora .bgss-sidebar::-webkit-scrollbar-thumb,
.bgss-theme-aurora .bgss-main::-webkit-scrollbar-thumb {
	background: var(--bgss-aurora-border);
	border-radius: 3px;
}
.bgss-theme-aurora .bgss-sidebar::-webkit-scrollbar-thumb:hover,
.bgss-theme-aurora .bgss-main::-webkit-scrollbar-thumb:hover {
	background: var(--bgss-aurora-border-strong);
}

/* ----- Required asterisk styling --------------------------------------- */
.bgss-theme-aurora .bgss-required-star {
	color: #DC2626;
	font-weight: 600;
	margin-left: 1px;
}

/* ----- Choice list (radio/checkbox intake fields) ---------------------- */
.bgss-theme-aurora .bgss-choice-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bgss-theme-aurora .bgss-choice-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	background: var(--bgss-aurora-surface);
	border: 1px solid var(--bgss-aurora-border);
	border-radius: 8px;
	cursor: pointer;
	transition: border-color .12s ease, background .12s ease;
	font-size: 13px;
	color: var(--bgss-aurora-text);
}
.bgss-theme-aurora .bgss-choice-row:hover {
	border-color: var(--bgss-aurora-border-strong);
	background: var(--bgss-aurora-surface-hover);
}
.bgss-theme-aurora .bgss-choice-row input[type="radio"],
.bgss-theme-aurora .bgss-choice-row input[type="checkbox"] {
	margin: 0;
	flex-shrink: 0;
	accent-color: var(--bgss-aurora-accent);
}

/* ----- Booking summary card (form step pre-filled) --------------------- */
.bgss-theme-aurora .bgss-summary-card,
.bgss-theme-aurora .bgss-booking-summary {
	background: var(--bgss-aurora-accent-soft);
	border: 1px solid color-mix(in srgb, var(--bgss-aurora-accent) 22%, transparent);
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 18px;
	color: var(--bgss-aurora-text);
}
.bgss-theme-aurora .bgss-summary-card-title,
.bgss-theme-aurora .bgss-summary-card .bgss-summary-name,
.bgss-theme-aurora .bgss-booking-summary strong {
	font-size: 14px;
	font-weight: 600;
	color: var(--bgss-aurora-text);
}
.bgss-theme-aurora .bgss-summary-card-meta,
.bgss-theme-aurora .bgss-summary-card .bgss-summary-when {
	font-size: 12px;
	color: var(--bgss-aurora-text-2);
	margin-top: 2px;
}

/* ----- Back button polish (top of step 3, 4) --------------------------- */
.bgss-theme-aurora .bgss-step-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 6px;
}
.bgss-theme-aurora .bgss-back {
	background: transparent;
	border: none;
	color: var(--bgss-aurora-accent);
	font-size: 13px;
	font-weight: 500;
	padding: 4px 8px;
	cursor: pointer;
	border-radius: 6px;
	transition: background .12s ease;
	white-space: nowrap;
}
.bgss-theme-aurora .bgss-back:hover {
	background: var(--bgss-aurora-accent-soft);
}

/* ----- "How would you like to meet?" platform picker grid -------------- */
.bgss-theme-aurora .bgss-platform-grid,
.bgss-theme-aurora .bgss-platform-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 8px;
	margin: 6px 0 18px;
}
.bgss-theme-aurora .bgss-platform-label {
	font-size: 13px;
	font-weight: 500;
	color: var(--bgss-aurora-text-2);
	margin-bottom: 6px;
}

/* ----- Mobile — tighten further at 375px ------------------------------- */
@media (max-width: 480px) {
	.bgss-theme-aurora .bgss-modal {
		border-radius: 12px;
		max-height: 100vh;
		max-height: 100dvh;
	}
	.bgss-theme-aurora .bgss-sidebar {
		padding: 14px 14px 12px;
		max-height: 200px;
	}
	.bgss-theme-aurora .bgss-main {
		padding: 14px 14px 16px;
	}
	.bgss-theme-aurora .bgss-title-bar {
		padding: 12px 14px 10px;
		gap: 10px;
	}
	.bgss-theme-aurora .bgss-title-bar-logo {
		max-height: 24px;
	}
	.bgss-theme-aurora .bgss-title-bar-brand {
		font-size: 14px;
	}
	.bgss-theme-aurora .bgss-step-title {
		font-size: 15px;
	}
	.bgss-theme-aurora .bgss-step-subtitle {
		font-size: 11.5px;
	}
	.bgss-theme-aurora .bgss-sidebar-c-photo {
		width: 32px;
		height: 32px;
		font-size: 12px;
	}
	.bgss-theme-aurora .bgss-sidebar-c-name {
		font-size: 12.5px;
	}
	.bgss-theme-aurora .bgss-sidebar-c-role {
		font-size: 10.5px;
	}
	.bgss-theme-aurora .bgss-calendar { padding: 10px; }
	.bgss-theme-aurora .bgss-calendar-day { font-size: 12px; }
	.bgss-theme-aurora .bgss-slots {
		grid-template-columns: repeat(3, 1fr);
		gap: 6px;
	}
	.bgss-theme-aurora .bgss-slot {
		padding: 8px 6px;
		font-size: 12px;
	}
	.bgss-theme-aurora .bgss-confirmation {
		padding: 28px 16px 20px;
	}
	.bgss-theme-aurora .bgss-confirmation .bgss-check {
		width: 52px;
		height: 52px;
		font-size: 26px;
	}
	.bgss-theme-aurora .bgss-confirmation h2 {
		font-size: 19px;
	}
}

/* ----- Reduce motion — cover all new animations ------------------------ */
@media (prefers-reduced-motion: reduce) {
	.bgss-theme-aurora *,
	.bgss-theme-aurora *::before,
	.bgss-theme-aurora *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ----- Print: hide modal in print --------------------------------------- */
@media print {
	.bgss-modal-overlay,
	.bgss-fab-mount {
		display: none !important;
	}
}

/* ====================================================================== */
/*  v1.30.13 — Inline SVG icon hosts                                      */
/*                                                                         */
/*  When a photo container hosts an SVG icon (e.g. the "Any available     */
/*  consultant" wand) instead of an <img> or initial letter, this class    */
/*  centers and sizes the SVG, and inherits indigo via currentColor.      */
/* ====================================================================== */

.bgss-theme-aurora .bgss-icon-host {
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: var(--bgss-aurora-accent-soft);
	color: var(--bgss-aurora-accent);
}
.bgss-theme-aurora .bgss-icon-host > svg {
	width: 55%;
	height: 55%;
	display: block;
	stroke: currentColor;
	flex: none;
}
/* Slightly bigger SVG when the host is a small avatar (sidebar list / summary header) */
.bgss-theme-aurora .bgss-sidebar-c-photo.bgss-icon-host > svg,
.bgss-theme-aurora .bgss-summary-header-photo.bgss-icon-host > svg {
	width: 60%;
	height: 60%;
}
