/* ==========================================================================
   Kami — Salon Booking System overrides
   Re-skins the [salon] booking widget to match the Kami palette and type.
   Scoped to .kami-booking wrapper to avoid bleeding into admin.
   ========================================================================== */

.kami-booking {
	--sln-accent: var(--kami-accent);
	font-family: var(--font-sans);
	color: var(--kami-text);
}

.kami-booking .salon-booking-form,
.kami-booking #salon-step-content,
.kami-booking .sln-template {
	background: transparent;
	color: var(--kami-text);
	font-family: var(--font-sans);
}

.kami-booking h1,
.kami-booking h2,
.kami-booking h3,
.kami-booking .sln-h1,
.kami-booking .sln-h2 {
	font-family: var(--font-sans);
	font-weight: var(--fw-light);
	letter-spacing: var(--ls-tight);
	color: var(--kami-text);
}

/* Buttons */
.kami-booking button,
.kami-booking .sln-btn,
.kami-booking input[type="submit"] {
	background: var(--kami-text) !important;
	color: var(--kami-bg) !important;
	border: none !important;
	border-radius: 0 !important;
	padding: var(--space-sm) var(--space-md) !important;
	font-size: var(--fs-small) !important;
	letter-spacing: var(--ls-wide) !important;
	text-transform: lowercase !important;
	box-shadow: none !important;
	transition: background-color var(--dur-fast) var(--ease-out) !important;
}

.kami-booking button:hover,
.kami-booking .sln-btn:hover,
.kami-booking input[type="submit"]:hover {
	background: var(--kami-accent) !important;
}

/* Service / step cards */
.kami-booking .sln-service,
.kami-booking .sln-card,
.kami-booking .sln-box {
	background: var(--kami-bg) !important;
	border: 1px solid var(--kami-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.kami-booking .sln-service.selected,
.kami-booking .sln-selected {
	border-color: var(--kami-text) !important;
	background: var(--kami-bg-warm) !important;
}

/* Inputs */
.kami-booking input[type="text"],
.kami-booking input[type="email"],
.kami-booking input[type="tel"],
.kami-booking select,
.kami-booking textarea {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--kami-line) !important;
	border-radius: 0 !important;
	padding: var(--space-sm) 0 !important;
	color: var(--kami-text) !important;
}

/* Calendar */
.kami-booking .sln-calendar td.available {
	background: var(--kami-bg-warm) !important;
	color: var(--kami-text) !important;
}

.kami-booking .sln-calendar td.selected {
	background: var(--kami-text) !important;
	color: var(--kami-bg) !important;
}

/* Progress / step bar */
.kami-booking .sln-progressbar,
.kami-booking .sln-steps {
	background: transparent !important;
}

.kami-booking .sln-progressbar .active {
	color: var(--kami-accent) !important;
}
