/**
 * Variant CSS: hours--week-ribbon-compact
 * Layer 2 - Path B hours role (2026-06-06).
 *
 * The week as a slim horizontal ribbon of rounded day chips (day on top, hours
 * below). Each day is its own self-contained pill — distinct from week-strip's
 * shared-hairline bento matrix and from the vertical day/time tables. On small
 * screens the ribbon scrolls horizontally instead of reflowing into a grid, so
 * it stays a true "ribbon". Text stays --ink (polarity-aware); chip fill +
 * accent rail use color-mix on --ink / --accent (never --bg-main as a
 * foreground, KI-020).
 * EVERY selector scoped to .universal-hours--week-ribbon-compact (no global leak).
 */

body.aibt-universal .universal-hours--week-ribbon-compact {
	padding-block: calc(clamp(2.6rem, 6vw, 4.5rem) * var(--density, 1));
}

/* === Head: title block left, note right === */
body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__head {
	gap: var(--space-md) var(--space-xl) !important;
	margin-bottom: clamp(1.4rem, 3vw, 2rem);
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__heem {
	gap: var(--space-sm) !important;
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__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 !important;
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__headline em,
body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__headline mark {
	color: var(--accent);
	font-style: inherit;
	background: transparent;
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__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.62;
	margin: 0 !important;
	max-width: 34ch;
}

/* === The ribbon === */
body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__ribbon {
	gap: clamp(0.5rem, 1.2vw, 0.85rem) !important;
	align-items: stretch;
}

/* Each day = a self-contained rounded chip. */
body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip {
	flex: 1 1 0;
	min-width: 0;
	gap: 0.4rem !important;
	align-items: center;
	text-align: center;
	padding: clamp(0.7rem, 1.6vw, 1.05rem) 0.5rem;
	border-radius: var(--decor-radius, 14px);
	background: color-mix(in srgb, var(--ink) 4%, transparent);
	border: 1px solid color-mix(in srgb, var(--ink) 9%, transparent);
	transition: transform var(--duration-fast, 0.18s) var(--ease-default, ease),
		border-color var(--duration-fast, 0.18s) var(--ease-default, ease);
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--accent) 40%, transparent);
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__day {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 700 !important;
	letter-spacing: var(--tracking-wide) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__time {
	font-family: var(--font-display) !important;
	font-size: clamp(0.95rem, 1.5vw, 1.18rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	color: var(--ink) !important;
	margin: 0 !important;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Closed day — muted chip. */
body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip--off {
	background: transparent;
	border-style: dashed;
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip--off .universal-hours__day {
	color: var(--ink) !important;
	opacity: 0.45;
}

body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip--off .universal-hours__time {
	color: var(--ink) !important;
	opacity: 0.4;
}

/* Focus-visible ring for keyboard users (chips can receive focus when nested
   links are bound by AI later; keep the affordance consistent). */
body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip:focus-within {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
	border-radius: inherit;
}

/* === Responsive === */
/* On small screens keep it a real ribbon: horizontal scroll, no grid reflow. */
@media (max-width: 700px) {
	body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__ribbon {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		/* Subtle inset so the scrolled-off chips hint at more content. */
		padding-bottom: 0.4rem;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}
	body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip {
		flex: 0 0 auto;
		min-width: 4.6rem;
		scroll-snap-align: start;
	}
}

/* Tighten the wide uppercase kicker / day tracking on small screens (A5). */
@media (max-width: 640px) {
	body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__kicker {
		letter-spacing: 0.08em !important;
	}
	body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__day {
		letter-spacing: 0.04em !important;
	}
}

/* Respect reduced-motion: drop the hover lift. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip {
		transition: none;
	}
	body.aibt-universal .universal-hours--week-ribbon-compact .universal-hours__chip:hover {
		transform: none;
	}
}
