/**
 * Variant CSS: menu--kids-family-menu
 *
 * A playful kids/family menu: items rendered as rounded, accent-tinted cards in a
 * 2-up grid, grouped by category, each card with name + price in a header row and
 * a friendly description beneath, closed by a soft reassurance "pill" note. Warmer
 * radii and a tinted card surface give the playful tone, distinct from the formal
 * à-la-carte lists and the package combo cards. Text stays --ink (polarity-aware
 * — the card tint is a low-opacity accent mix, so it works on both light and dark
 * themes); category, price and em take --accent. Cards stack to 1-up @375px with 0
 * horizontal overflow.
 */

body.aibt-universal .universal-menu--kids-family-menu {
	padding-block: calc(clamp(3rem, 7vw, 5rem) * var(--density, 1));
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__intro {
	margin-bottom: clamp(2rem, 4.5vw, 3rem);
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__kicker {
	display: inline-block;
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 700 !important;
	letter-spacing: var(--tracking-widest) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 auto var(--space-sm) auto !important;
	padding: 0.32em 0.95em;
	border-radius: var(--decor-radius-pill);
	background: color-mix(in srgb, var(--accent) 12%, transparent);
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 auto var(--space-sm) auto !important;
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	color: var(--ink) !important;
	opacity: 0.76;
	margin: 0 auto !important;
	max-width: 54ch;
}

/* Category group. */
body.aibt-universal .universal-menu--kids-family-menu .universal-menu__group {
	margin-top: clamp(1.8rem, 4vw, 2.6rem);
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__cat {
	font-family: var(--font-display) !important;
	font-size: clamp(1.15rem, 2.2vw, 1.45rem) !important;
	font-weight: 700 !important;
	letter-spacing: var(--tracking-wide) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	text-align: center;
	margin: 0 auto var(--space-md) auto !important;
}

/* Card grid — wrapping 2-up. */
body.aibt-universal .universal-menu--kids-family-menu .universal-menu__cards {
	gap: clamp(0.9rem, 2.4vw, 1.4rem) !important;
	margin-bottom: clamp(0.9rem, 2.4vw, 1.4rem) !important;
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__cards:last-child {
	margin-bottom: 0 !important;
}

/* Card — rounded, accent-tinted, friendly. */
body.aibt-universal .universal-menu--kids-family-menu .universal-menu__card {
	background: color-mix(in srgb, var(--accent) 7%, transparent);
	border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
	border-radius: var(--decor-radius);
	padding: clamp(1.1rem, 2.8vw, 1.5rem);
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__row {
	gap: 0.8rem !important;
	align-items: flex-start !important;
	flex-wrap: nowrap !important;
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__name {
	font-family: var(--font-display) !important;
	font-size: clamp(1.05rem, 2vw, 1.22rem) !important;
	font-weight: 700 !important;
	line-height: 1.22 !important;
	color: var(--ink) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__price {
	flex: 0 0 auto;
	font-family: var(--font-body) !important;
	font-size: clamp(1rem, 1.9vw, 1.15rem) !important;
	font-weight: 700 !important;
	color: var(--accent) !important;
	white-space: nowrap;
	margin: 0 !important;
}

body.aibt-universal .universal-menu--kids-family-menu .universal-menu__desc {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.72;
	margin: 0.45rem 0 0 0 !important;
}

/* Closing reassurance — soft pill note. */
body.aibt-universal .universal-menu--kids-family-menu .universal-menu__note {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.82;
	max-width: 56ch;
	margin: clamp(2rem, 4.5vw, 2.8rem) auto 0 auto !important;
	padding: clamp(0.85rem, 2.2vw, 1.1rem) clamp(1.2rem, 3vw, 1.6rem);
	border-radius: var(--decor-radius);
	background: color-mix(in srgb, var(--accent) 9%, transparent);
	border: 1px dashed color-mix(in srgb, var(--accent) 26%, transparent);
}

/* Tablet/mobile — stack cards to a single column, no overflow. */
@media (max-width: 781px) {
	body.aibt-universal .universal-menu--kids-family-menu .universal-menu__cards {
		gap: clamp(0.8rem, 3vw, 1.1rem) !important;
		margin-bottom: clamp(0.8rem, 3vw, 1.1rem) !important;
	}
	body.aibt-universal .universal-menu--kids-family-menu .universal-menu__card {
		flex-basis: 100% !important;
	}
}

@media (max-width: 640px) {
	body.aibt-universal .universal-menu--kids-family-menu .universal-menu__kicker {
		letter-spacing: 0 !important;
	}
	body.aibt-universal .universal-menu--kids-family-menu .universal-menu__cat {
		letter-spacing: 0 !important;
	}
	body.aibt-universal .universal-menu--kids-family-menu .universal-menu__row {
		gap: 0.6rem !important;
	}
}

/* A8/A9 left-shift fix (2026-06-08): the kicker is an inline-block pill, so auto margins
   alone do NOT centre it (auto only centres block boxes) — its position followed the intro's
   inherited (left) text-align. Make it a fit-content BLOCK so margin-inline:auto centres it.
   Section class doubled -> specificity (0,4,1) wins. */
body.aibt-universal .universal-menu--kids-family-menu.universal-menu--kids-family-menu .universal-menu__kicker { display: block !important; width: -moz-fit-content; width: fit-content; margin-inline: auto !important; }
