/**
 * PPB Core — Eat & drink menus block.
 * Block: ppb-ed-menus
 *
 * One grid: column 1 = hours (sidebar track), column 2 = PDF list.
 * When hours exist, row 1 uses an empty first cell + heading so tracks line up with row 2.
 * Vertical spacing from the previous main region comes from `.ppb-site-main > * + *` (site-shell.css).
 */

.ppb-ed-menus__inner {
	box-sizing: border-box;
	max-width: var(--ppb-layout-max-width, 1460px);
	margin-inline: auto;
	padding-inline: var(--ppb-home-wrap-padding-inline, 1.5rem);
	display: grid;
	grid-template-columns: clamp(200px, 22%, 280px) minmax(0, 1fr);
	column-gap: clamp(2rem, 5vw, 4rem);
	row-gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

/* Row 1: ghost column + heading (only when `.ppb-ed-menus__col-spacer` is output). */
.ppb-ed-menus__col-spacer {
	grid-column: 1;
}

.ppb-ed-menus__heading {
	grid-column: 1 / -1;
	min-width: 0;
}

.ppb-ed-menus__col-spacer + .ppb-ed-menus__heading {
	grid-column: 2;
}

/* Section title only — body black; eyebrow keeps default primary (ACF / --color-primary) */
.ppb-ed-menus .ppb-section-heading__title {
	color: var(--ppb-color-text, #1a1a1a);
}

/* Row 2+: sidebar and content share the same two columns. */
.ppb-ed-menus__sidebar {
	grid-column: 1;
	font-size: var(--ppb-text-base, 1rem);
	line-height: 1.6;
	color: var(--ppb-color-text, #1a1a1a);
}

.ppb-ed-menus__content {
	grid-column: 1 / -1;
	min-width: 0;
}

.ppb-ed-menus__sidebar ~ .ppb-ed-menus__content {
	grid-column: 2;
}

/* Hours only (no PDF rows): use full width of the block. */
.ppb-ed-menus__inner > .ppb-ed-menus__sidebar:last-child {
	grid-column: 1 / -1;
}

/* ─── Sidebar ───────────────────────────────────────────────────────────── */

.ppb-ed-menus__sidebar-heading {
	margin: 0 0 0.5rem;
	font-family: var(--font-display, inherit);
	font-size: var(--ppb-text-2xl, 1.5rem);
	font-weight: var(--ppb-font-weight-regular, 400);
	line-height: var(--ppb-leading-tight, 1.3);
	color: var(--color-primary, #917145);
}

.ppb-ed-menus__sidebar-hours {
	margin: 0 0 1.5rem;
	color: var(--ppb-color-text-muted, #333);
}

.ppb-ed-menus__sidebar-hours p {
	margin: 0;
}

.ppb-ed-menus__sidebar-extended-heading {
	margin: 0 0 0.35rem;
	font-family: var(--font-display, inherit);
	font-weight: var(--ppb-font-weight-display-strong, var(--ppb-font-weight-bold, 700));
	font-size: var(--ppb-text-base, 1rem);
	color: var(--color-primary, #917145);
}

.ppb-ed-menus__sidebar-extended-text {
	margin: 0;
	color: var(--ppb-color-text-muted, #333);
}

.ppb-ed-menus__sidebar-extended-text p {
	margin: 0;
}

/* ─── Menu rows ─────────────────────────────────────────────────────────── */

.ppb-ed-menus__row {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding-block: clamp(0.75rem, 1.5vw, 1.25rem);
	position: relative;
}

.ppb-ed-menus__content > .ppb-ed-menus__row:first-child {
	padding-block-start: 0;
}

.ppb-ed-menus__row-info {
	flex: 1 1 0;
	min-width: 0;
}

.ppb-ed-menus__row-action {
	flex-shrink: 0;
}

.ppb-ed-menus__menu-title {
	margin: 0;
	/* Body stack — not --font-display (child theme title serif). */
	font-family: var(--font-body, inherit);
	font-size: var(--ppb-text-2xl, 1.5rem);
	font-weight: var(--ppb-font-weight-display-soft, 600);
	line-height: var(--ppb-leading-tight, 1.3);
	color: var(--ppb-color-text, #1a1a1a);
}

.ppb-ed-menus__meta {
	margin: 0.2rem 0 0;
	font-family: var(--font-body, inherit);
	font-size: var(--ppb-text-lg, 1.125rem);
	font-weight: var(--ppb-font-weight-light, 300);
	line-height: 1.45;
	color: var(--ppb-color-text-muted, #333);
}

.ppb-ed-menus__meta-size {
	font-size: var(--ppb-text-sm, 0.875rem);
	line-height: 1.4;
}

/* ─── Dashed divider ────────────────────────────────────────────────────── */

.ppb-ed-menus__divider {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
	border: none;
	border-bottom: 1px dashed var(--ppb-color-border-dashed, rgba(0, 0, 0, 0.15));
}

/* ─── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 48rem) {
	.ppb-ed-menus__inner {
		grid-template-columns: 1fr;
	}

	.ppb-ed-menus__col-spacer {
		display: none;
	}

	.ppb-ed-menus__col-spacer + .ppb-ed-menus__heading {
		grid-column: 1 / -1;
	}

	.ppb-ed-menus__sidebar,
	.ppb-ed-menus__content,
	.ppb-ed-menus__sidebar ~ .ppb-ed-menus__content {
		grid-column: 1 / -1;
	}

	.ppb-ed-menus__row {
		flex-wrap: wrap;
	}

	.ppb-ed-menus__row-action {
		width: 100%;
	}

	.ppb-ed-menus__row-action .ppb-button {
		width: 100%;
		justify-content: center;
	}
}
