/**
 * Variant CSS: conversion--calendar-cta-split
 *
 * Two-column booking close: pitch on the left (kicker + headline + deck + micro
 * assurances + CTA), a faux mini-calendar card on the right (month header, weekday
 * row, a 7-col date grid with one highlighted available date) + a next-availability
 * line. Unlike the other variants: it shows a tangible "this date is free" cue right
 * beside the CTA, raising booking intent. Body copy stays --ink (polarity-aware);
 * kicker/em/CTA/active-date take --accent / CTA tokens. The calendar card sits on a
 * hairline-bordered surface. Part of the `conversion` role.
 */

body.aibt-universal .universal-conversion--calendar-cta-split {
	padding-block: calc(clamp(3.5rem, 8vw, 6rem) * var(--density, 1));
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__row {
	gap: clamp(2rem, 5vw, 4rem) !important;
}

/* Pitch column. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-widest) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 0 var(--space-md) 0 !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.78;
	max-width: 46ch;
	margin: 0 0 var(--space-md) 0 !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__assure {
	gap: 0.7rem clamp(1.1rem, 2.6vw, 1.8rem) !important;
	margin: 0 0 var(--space-lg) 0 !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__tick {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
	opacity: 0.8;
	margin: 0 !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__tick::before {
	content: "\2713"; /* checkmark */
	flex: 0 0 auto;
	font-weight: 700;
	color: var(--accent);
}

/* CTA. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cta .wp-block-button__link {
	background: var(--cta-bg-primary, var(--accent)) !important;
	color: var(--cta-text-primary, #ffffff) !important;
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 600 !important;
	padding: 0.95rem 2.2rem !important;
	border-radius: var(--decor-radius-pill, 999px) !important;
	border: none !important;
	transition: background var(--duration-fast, 0.18s) var(--ease-default, ease),
		transform var(--duration-fast, 0.18s) var(--ease-default, ease);
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cta .wp-block-button__link:hover {
	background: var(--accent-hover, var(--accent)) !important;
	transform: translateY(-2px);
}

/* Visible keyboard focus ring (WCAG 2.4.7). */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cta .wp-block-button__link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
	border-radius: inherit;
}

/* Calendar card. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal {
	padding: clamp(1.4rem, 3vw, 2rem);
	border-radius: var(--decor-radius, 12px);
	border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
	background: color-mix(in srgb, var(--ink) 3%, transparent);
	box-shadow: 0 18px 44px -28px color-mix(in srgb, var(--ink) 45%, transparent);
}

/* Calendar header. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal-head {
	margin-bottom: var(--space-md);
	padding-bottom: var(--space-sm);
	border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal-month {
	font-family: var(--font-display) !important;
	font-size: var(--text-lg) !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal-nav {
	font-family: var(--font-body);
	font-size: var(--text-lg);
	font-weight: 700;
	letter-spacing: 0.3em;
	color: var(--accent);
}

/* Weekday row. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal-dow {
	gap: 0.25rem !important;
	margin-bottom: 0.4rem;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__dow {
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ink) !important;
	opacity: 0.55;
	margin: 0 !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__dow--weekend {
	color: var(--accent) !important;
	opacity: 0.75;
}

/* Date grid — 7 columns from the grid layout. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal-grid {
	gap: 0.25rem !important;
}

body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	border-radius: var(--decor-radius, 10px);
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	font-weight: 500 !important;
	color: var(--ink) !important;
	background: color-mix(in srgb, var(--ink) 5%, transparent);
	margin: 0 !important;
}

/* Empty leading cells — no chip, no border. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cell.is-empty {
	background: transparent;
}

/* Unavailable / weekend days — dimmed, struck through with reduced contrast. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cell.is-off {
	color: var(--ink) !important;
	opacity: 0.32;
	background: transparent;
}

/* Selected available date — accent chip with readable text. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cell.is-active {
	background: var(--accent) !important;
	color: var(--cta-text-primary, #ffffff) !important;
	font-weight: 700 !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);
}

/* Next-availability footer line. */
body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal-foot {
	margin: var(--space-md) 0 0 0 !important;
	padding-top: var(--space-sm);
	border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	font-weight: 600 !important;
	color: var(--accent) !important;
}

/* Mobile — stack pitch above calendar; keep the grid intact. */
@media (max-width: 781px) {
	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__row {
		flex-direction: column !important;
		gap: clamp(2rem, 7vw, 2.6rem) !important;
	}

	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__pitch,
	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__calcol {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__deck {
		max-width: 100%;
	}

	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cal {
		max-width: 26rem;
		margin-inline: auto;
	}
}

@media (max-width: 640px) {
	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__kicker {
		letter-spacing: 0 !important;
	}

	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cell {
		font-size: var(--text-xs) !important;
	}
}

/* Respect reduced-motion: neutralize the CTA lift transform. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cta .wp-block-button__link {
		transition: none !important;
	}
	body.aibt-universal .universal-conversion--calendar-cta-split .universal-conversion__cta .wp-block-button__link:hover {
		transform: none;
	}
}
