/**
 * BookWP Default skin
 *
 * Modern SaaS look. Navy + teal palette, Plus Jakarta Sans, smooth 250ms
 * transitions. The safe choice that fits any site.
 *
 * Token contract — every skin overrides values inside this set. The base
 * widget CSS (assets/build/public.css) defines defaults; skins replace them
 * scoped under .bookwp-widget.bookwp-skin-{slug} and
 * .bookwp-widget[data-skin="{slug}"]. Per-instance inline style on the
 * container has higher specificity than any of these and is the per-form
 * "override one colour" escape hatch.
 *
 * Tokens (extend cautiously — used across every shipped skin):
 *   --bookwp-primary-color / -light / -dark
 *   --bookwp-secondary-color / -light / -dark
 *   --bookwp-success-color / -light
 *   --bookwp-error-color / -light
 *   --bookwp-warning-color / -light
 *   --bookwp-info-color / -light
 *   --bookwp-bg-primary / -secondary / -tertiary
 *   --bookwp-text-primary / -secondary / -tertiary / -inverse
 *   --bookwp-border-color / -light / -dark
 *   --bookwp-radius-sm / -md / -lg / -xl / -2xl
 *   --bookwp-font-family / -mono
 *   --bookwp-transition-fast / -base / -slow
 *   --bookwp-shadow-sm / -md / -lg / -xl / -2xl
 *
 * Reduced motion: all motion >100ms keyframes guarded by
 * @media (prefers-reduced-motion: reduce) at the bottom.
 */

/* Fonts are enqueued separately by BookWP_Public::enqueue_skin() so they
   load in parallel with the skin CSS rather than blocking on @import. */

.bookwp-widget.bookwp-skin-default,
.bookwp-widget[data-skin="default"] {
	/* Palette: navy/teal SaaS. */
	--bookwp-primary-color: #237575;
	--bookwp-primary-light: rgba(35, 117, 117, 0.10);
	--bookwp-primary-dark: #1c5e5e;

	--bookwp-secondary-color: #1a2744;
	--bookwp-secondary-light: #edf1f7;
	--bookwp-secondary-dark: #111a31;

	--bookwp-bg-primary: #ffffff;
	--bookwp-bg-secondary: #f7f9fc;
	--bookwp-bg-tertiary: #edf1f7;

	--bookwp-text-primary: #1a2744;
	--bookwp-text-secondary: #4d5d73;
	--bookwp-text-tertiary: #8b95a8;

	--bookwp-border-color: #dbe2ec;
	--bookwp-border-color-light: #edf1f7;
	--bookwp-border-color-dark: #b6c1d1;

	--bookwp-success-color: #1d9d6e;
	--bookwp-success-light: #e8f7f0;

	/* Typography. */
	--bookwp-font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	/* Surface treatments. */
	--bookwp-radius-sm: 0.5rem;
	--bookwp-radius-md: 0.875rem;
	--bookwp-radius-lg: 1.25rem;
	--bookwp-radius-xl: 1.75rem;

	--bookwp-shadow-sm: 0 1px 2px rgba(26, 39, 68, 0.04), 0 1px 3px rgba(26, 39, 68, 0.06);
	--bookwp-shadow-md: 0 4px 12px rgba(26, 39, 68, 0.08);
	--bookwp-shadow-lg: 0 12px 24px rgba(26, 39, 68, 0.10);

	/* Motion. */
	--bookwp-transition-fast: 180ms cubic-bezier(0.4, 0, 0.2, 1);
	--bookwp-transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
	--bookwp-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Cards: gentle lift on hover. */
.bookwp-widget.bookwp-skin-default .bookwp-card,
.bookwp-widget[data-skin="default"] .bookwp-card {
	transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1),
		border-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1),
		background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.bookwp-widget.bookwp-skin-default .bookwp-card:hover,
.bookwp-widget[data-skin="default"] .bookwp-card:hover {
	box-shadow: 0 8px 24px rgba(35, 117, 117, 0.12);
	transform: translateY(-2px);
}

/* Primary buttons: subtle gradient + tactile press. */
.bookwp-widget.bookwp-skin-default .bookwp-btn-primary,
.bookwp-widget[data-skin="default"] .bookwp-btn-primary {
	background: linear-gradient(180deg, #2a8a8a 0%, #237575 100%);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15) inset,
		0 4px 12px rgba(35, 117, 117, 0.25);
	letter-spacing: 0.01em;
}

.bookwp-widget.bookwp-skin-default .bookwp-btn-primary:hover:not(:disabled),
.bookwp-widget[data-skin="default"] .bookwp-btn-primary:hover:not(:disabled) {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15) inset,
		0 6px 16px rgba(35, 117, 117, 0.32);
	transform: translateY(-1px);
}

.bookwp-widget.bookwp-skin-default .bookwp-btn-primary:active:not(:disabled),
.bookwp-widget[data-skin="default"] .bookwp-btn-primary:active:not(:disabled) {
	transform: translateY(0);
}

/* Time slots: square-ish, refined hover ring. */
.bookwp-widget.bookwp-skin-default .bookwp-slot,
.bookwp-widget[data-skin="default"] .bookwp-slot {
	border-radius: 0.75rem;
	transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1),
		border-color 180ms cubic-bezier(0.4, 0, 0.2, 1),
		background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

.bookwp-widget.bookwp-skin-default .bookwp-slot:hover:not(.selected),
.bookwp-widget[data-skin="default"] .bookwp-slot:hover:not(.selected) {
	transform: scale(1.03);
}

.bookwp-widget.bookwp-skin-default .bookwp-slot.selected,
.bookwp-widget[data-skin="default"] .bookwp-slot.selected {
	box-shadow: 0 6px 16px rgba(35, 117, 117, 0.30);
}

/* Progress indicator: active step gets a soft glowing ring. */
.bookwp-widget.bookwp-skin-default .bookwp-progress-step.current .bookwp-progress-indicator,
.bookwp-widget[data-skin="default"] .bookwp-progress-step.current .bookwp-progress-indicator {
	animation: bookwp-default-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes bookwp-default-pulse {
	0%, 100% {
		box-shadow: 0 0 0 4px rgba(35, 117, 117, 0.18);
	}
	50% {
		box-shadow: 0 0 0 8px rgba(35, 117, 117, 0.10);
	}
}

/* Calendar day available: subtle dot indicator beneath. */
.bookwp-widget.bookwp-skin-default .bookwp-calendar-day.bookwp-available,
.bookwp-widget[data-skin="default"] .bookwp-calendar-day.bookwp-available {
	position: relative;
}

.bookwp-widget.bookwp-skin-default .bookwp-calendar-day.bookwp-available::after,
.bookwp-widget[data-skin="default"] .bookwp-calendar-day.bookwp-available::after {
	background: var(--bookwp-primary-color);
	border-radius: 50%;
	bottom: 4px;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 3px;
}

.bookwp-widget.bookwp-skin-default .bookwp-calendar-day.bookwp-selected::after,
.bookwp-widget[data-skin="default"] .bookwp-calendar-day.bookwp-selected::after {
	background: rgba(255, 255, 255, 0.7);
}

/* Inputs: deeper focus ring matching brand. */
.bookwp-widget.bookwp-skin-default .bookwp-input:focus,
.bookwp-widget.bookwp-skin-default .bookwp-select:focus,
.bookwp-widget.bookwp-skin-default .bookwp-textarea:focus,
.bookwp-widget[data-skin="default"] .bookwp-input:focus,
.bookwp-widget[data-skin="default"] .bookwp-select:focus,
.bookwp-widget[data-skin="default"] .bookwp-textarea:focus {
	border-color: var(--bookwp-primary-color);
	box-shadow: 0 0 0 4px rgba(35, 117, 117, 0.14);
}

/* Dark mode — explicit `[data-theme="dark"]` + auto-honoring system pref.
   Same overrides are repeated under the @media block so `data-theme="auto"`
   widgets opt in when the OS prefers dark; CSS doesn't let us share one
   block across both. */
.bookwp-widget.bookwp-skin-default[data-theme="dark"],
.bookwp-widget[data-skin="default"][data-theme="dark"] {
	--bookwp-primary-color: #5eead4;
	--bookwp-primary-light: rgba(94, 234, 212, 0.14);
	--bookwp-primary-dark: #2dd4bf;
	--bookwp-bg-primary: #0f1419;
	--bookwp-bg-secondary: #1c2128;
	--bookwp-bg-tertiary: #262d36;
	--bookwp-text-primary: #e6edf3;
	--bookwp-text-secondary: #9ba8b8;
	--bookwp-text-tertiary: #6b7785;
	--bookwp-text-inverse: #0f1419;
	--bookwp-border-color: #2a3340;
	--bookwp-border-color-light: #1c2128;
	--bookwp-border-color-dark: #3a4554;
	--bookwp-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
	--bookwp-shadow-lg: 0 12px 24px rgba(0, 0, 0, 0.55);
}

@media (prefers-color-scheme: dark) {
	.bookwp-widget.bookwp-skin-default[data-theme="auto"],
	.bookwp-widget[data-skin="default"][data-theme="auto"] {
		--bookwp-primary-color: #5eead4;
		--bookwp-primary-light: rgba(94, 234, 212, 0.14);
		--bookwp-primary-dark: #2dd4bf;
		--bookwp-bg-primary: #0f1419;
		--bookwp-bg-secondary: #1c2128;
		--bookwp-bg-tertiary: #262d36;
		--bookwp-text-primary: #e6edf3;
		--bookwp-text-secondary: #9ba8b8;
		--bookwp-text-tertiary: #6b7785;
		--bookwp-text-inverse: #0f1419;
		--bookwp-border-color: #2a3340;
		--bookwp-border-color-light: #1c2128;
		--bookwp-border-color-dark: #3a4554;
		--bookwp-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
		--bookwp-shadow-lg: 0 12px 24px rgba(0, 0, 0, 0.55);
	}
}

/* Reduced motion. */
@media (prefers-reduced-motion: reduce) {
	.bookwp-widget.bookwp-skin-default .bookwp-progress-step.current .bookwp-progress-indicator,
	.bookwp-widget[data-skin="default"] .bookwp-progress-step.current .bookwp-progress-indicator {
		animation: none;
	}
	.bookwp-widget.bookwp-skin-default .bookwp-card:hover,
	.bookwp-widget.bookwp-skin-default .bookwp-btn-primary:hover:not(:disabled),
	.bookwp-widget.bookwp-skin-default .bookwp-slot:hover:not(.selected),
	.bookwp-widget[data-skin="default"] .bookwp-card:hover,
	.bookwp-widget[data-skin="default"] .bookwp-btn-primary:hover:not(:disabled),
	.bookwp-widget[data-skin="default"] .bookwp-slot:hover:not(.selected) {
		transform: none;
	}
}
