/*
 * Edit the variables below to match your brand.
 * (Based roughly on the navy + coral seen on southwestearclinics.com —
 * adjust the hex codes to your exact brand colours.)
 */
#halaxy-avail-root {
	--halaxy-navy: #1c2b57;
	--halaxy-navy-light: #f3f5fa;
	--halaxy-accent: #e2685c;
	--halaxy-accent-hover: #c9483c;
	--halaxy-border: #dfe3ee;
	--halaxy-text: #1c2b57;
	--halaxy-radius: 10px;
	--halaxy-max-width: 1200px; /* match your theme's content width if this doesn't line up */
	font-family: inherit;
	color: var(--halaxy-text);

	max-width: var(--halaxy-max-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

.halaxy-avail-empty {
	padding: 24px;
	background: var(--halaxy-navy-light);
	border-radius: var(--halaxy-radius);
	text-align: center;
}

.halaxy-avail-filter {
	margin-bottom: 20px;
}

.halaxy-avail-filter select {
	padding: 6px 10px;
	border-radius: 6px;
	border: 1px solid var(--halaxy-border);
	font-size: 15px;
}

.halaxy-avail-days {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.halaxy-avail-day {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--halaxy-border);
	border-radius: var(--halaxy-radius);
}

.halaxy-avail-day-heading {
	flex: 0 0 90px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--halaxy-navy-light);
	border-radius: var(--halaxy-radius);
	padding: 10px 6px;
	color: var(--halaxy-navy);
}

.halaxy-avail-dow {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 0.7;
}

.halaxy-avail-date {
	font-size: 18px;
	font-weight: 700;
	margin-top: 2px;
}

.halaxy-avail-slots {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex: 1;
}

.halaxy-avail-slot {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	padding: 8px 14px;
	border-radius: 8px;
	background: var(--halaxy-navy);
	color: #fff !important;
	text-decoration: none !important;
	transition: background 0.15s ease;
}

.halaxy-avail-slot:hover {
	background: var(--halaxy-accent-hover);
}

.halaxy-avail-time {
	font-weight: 700;
	font-size: 15px;
}

.halaxy-avail-practitioner {
	font-size: 11px;
	opacity: 0.85;
	margin-top: 2px;
	text-align: center;
}

@media (max-width: 600px) {
	.halaxy-avail-day {
		flex-direction: column;
		align-items: stretch;
	}
	.halaxy-avail-day-heading {
		flex-direction: row;
		justify-content: flex-start;
		gap: 8px;
		width: fit-content;
	}
}
