/* Cheese board builder. Uses the theme's --jec-* variables, with fallbacks. */
.jec-bb {
	margin: 2rem 0;
	padding: 1.5rem;
	border: 1px solid var(--jec-line, #e7e2d6);
	border-radius: 12px;
	background: var(--jec-surface, #fff);
	color: var(--jec-ink, #1f2320);
}
.jec-bb__step { margin: 0 0 1.25rem; }
.jec-bb__q {
	margin: 0 0 .5rem;
	font-size: 1.05rem;
	font-weight: 600;
}
.jec-bb__num {
	display: inline-block;
	width: 1.6rem;
	height: 1.6rem;
	margin-right: .6rem;
	border-radius: 50%;
	background: var(--jec-accent, #3d4f66);
	color: var(--jec-accent-ink, #f4f6f8);
	font-size: .85rem;
	line-height: 1.6rem;
	text-align: center;
}
.jec-bb__opts { display: flex; flex-wrap: wrap; gap: .5rem; }
.jec-bb__opt {
	min-height: 44px;
	padding: .55em 1.1em;
	border: 1px solid var(--jec-line, #e7e2d6);
	border-radius: 8px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 1rem;
	cursor: pointer;
}
.jec-bb__opt:hover { border-color: var(--jec-accent, #3d4f66); }
.jec-bb__opt[aria-pressed="true"] {
	background: var(--jec-accent, #3d4f66);
	border-color: var(--jec-accent, #3d4f66);
	color: var(--jec-accent-ink, #f4f6f8);
	font-weight: 600;
}
.jec-bb__opt:focus-visible,
.jec-bb__copy:focus-visible { outline: 2px solid var(--jec-accent, #3d4f66); outline-offset: 2px; }
.jec-bb__rule { margin: .5rem 0 1.25rem; border: 0; border-top: 1px solid var(--jec-line, #e7e2d6); }

.jec-bb__sum { margin: 0 0 .25rem; font-size: 1.25rem; font-weight: 700; }
.jec-bb__sub { margin: 0 0 1rem; color: var(--jec-ink-soft, #6b7268); }
.jec-bb__cheese {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .15rem 1rem;
	padding: .9rem 0;
	border-top: 1px solid var(--jec-line, #e7e2d6);
}
.jec-bb__cheese:first-of-type { border-top: 0; }
.jec-bb__name { font-size: 1.15rem; font-weight: 700; }
.jec-bb__type { color: var(--jec-ink-soft, #6b7268); font-size: .92rem; }
.jec-bb__amt { font-size: 1.15rem; font-weight: 700; text-align: right; white-space: nowrap; }
.jec-bb__pair, .jec-bb__more { grid-column: 1 / -1; margin-top: .2rem; }
.jec-bb__more { color: var(--jec-accent, #3d4f66); font-weight: 600; }

.jec-bb__sec { margin: 1.5rem 0 .25rem; font-size: 1.05rem; font-weight: 700; }
.jec-bb__list { margin: 0; padding: 0; list-style: none; }
.jec-bb__list li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .55rem 0;
	border-top: 1px solid var(--jec-line, #e7e2d6);
}
.jec-bb__list li:first-child { border-top: 0; }
.jec-bb__list small { color: var(--jec-ink-soft, #6b7268); font-size: .92rem; }
.jec-bb__buy { color: var(--jec-accent, #3d4f66); font-weight: 600; white-space: nowrap; }
.jec-bb__fine { margin: .5rem 0 0; font-size: .8rem; color: var(--jec-ink-soft, #6b7268); }
.jec-bb__copy {
	margin-top: 1.25rem;
	min-height: 44px;
	padding: .55em 1.1em;
	border: 1px solid var(--jec-line, #e7e2d6);
	border-radius: 8px;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}
.jec-bb__copy:hover { border-color: var(--jec-accent, #3d4f66); }
@media (max-width: 520px) {
	.jec-bb { padding: 1rem; }
	.jec-bb__opt { flex: 1 1 auto; }
}
