/* Codeon Restaurant V2 — parts every hero variant shares.
 *
 * Loaded BEFORE the active hero-<variant>.css, so a variant sheet can override
 * anything here. Keep this file limited to things that genuinely repeat: the
 * status pill and image fit. Spacing stays with each variant, and the status dot
 * (.open-pulse) lives in main.css because the mobile drawer needs it on pages
 * where no hero renders. */

/* ---------- Live status pill ---------- */
.hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	max-width: 100%;
	padding: 8px 14px;
	border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line));
	border-radius: 999px;
	background: var(--glass);
	-webkit-backdrop-filter: blur(14px) saturate(130%);
	backdrop-filter: blur(14px) saturate(130%);
	color: var(--heading);
	font-family: var(--font-eyebrow);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
}
/* Closed is a normal state, not an error — the pill keeps its calm surface
   and only the dot reports the change. See .mm-status in mobile-menu.css. */
.hero-pill.is-closed {
	color: var(--ink-soft);
}

/* Over a photograph the pill needs its own light-on-dark palette — the scrim
   underneath is dark in both themes, so the token values would be wrong. */
.hero-pill.on-media {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(12, 16, 15, 0.42);
	color: #fff;
}
.hero-pill.on-media.is-closed {
	color: rgba(255, 255, 255, 0.86);
}

.hero-pill-label { overflow: hidden; text-overflow: ellipsis; }
.hero-pill-hours {
	padding-left: 9px;
	border-left: 1px solid color-mix(in srgb, currentColor 24%, transparent);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.03em;
	text-transform: none;
	opacity: 0.78;
}

/* ---------- Media fit ---------- */
.hero-img,
.hero-fs-media img,
.hero-split-media img,
.hero-slide-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
