/* Bit Stop Burger Options — matches the Bit Stop Burger theme, works on any theme. */
.bsbo {
	--bsbo-text: var(--bs-text, #f4ede4);
	--bsbo-muted: var(--bs-muted, #b3a99c);
	--bsbo-line: var(--bs-line-2, #4a403a);
	--bsbo-yellow: var(--bs-yellow, #f5b82e);
	--bsbo-red: var(--bs-red, #d81e24);
	--bsbo-bg: var(--bs-bg, #141110);
	--bsbo-mono: var(--bs-mono, ui-monospace, Menlo, Consolas, monospace);
	flex: 1 1 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 26px;
	margin: 8px 0 22px;
	color: var(--bsbo-text);
}
.bsbo__group { border: 0; margin: 0; padding: 0; min-width: 0; }
.bsbo__legend { display: block; font-family: var(--bsbo-mono); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--bsbo-yellow); margin-bottom: 10px; padding: 0; }
.bsbo__legend span { color: var(--bsbo-muted); text-transform: none; }
.bsbo__sub { font-size: 14px; color: var(--bsbo-muted); margin: 4px 0 8px; }
.bsbo__sub ~ .bsbo__sub { margin-top: 16px; }
.bsbo__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bsbo__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }

.bsbo__chip {
	position: relative;
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	min-height: 46px; padding: 10px 14px;
	border: 1.5px solid var(--bsbo-line); border-radius: 12px;
	cursor: pointer; font-size: 15px; line-height: 1.25; user-select: none;
}
.bsbo__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.bsbo__chip:hover { border-color: var(--bsbo-yellow); }
.bsbo__chip .bsbo__label::before { content: "+ "; color: var(--bsbo-muted); }
.bsbo__grid[role="radiogroup"] .bsbo__chip .bsbo__label::before { content: ""; }
.bsbo__price { font-family: var(--bsbo-mono); font-size: 14px; white-space: nowrap; }

.bsbo__chip.is-checked { background: var(--bsbo-yellow); border-color: var(--bsbo-yellow); color: var(--bsbo-bg); font-weight: 700; }
.bsbo__chip.is-checked .bsbo__label::before { content: "✓ "; color: inherit; }
.bsbo__grid[role="radiogroup"] .bsbo__chip.is-checked .bsbo__label::before { content: ""; }
.bsbo__chip--remove.is-checked { background: var(--bsbo-red); border-color: var(--bsbo-red); color: #fff; text-decoration: line-through; }
.bsbo__chip--remove.is-checked span::before { content: "No "; }
.bsbo__chip.is-focus { outline: 3px solid var(--bsbo-yellow); outline-offset: 2px; }

.bsbo__note { width: 100%; min-height: 64px; background: var(--bsbo-bg); color: var(--bsbo-text); border: 1.5px solid var(--bsbo-line); border-radius: 12px; padding: 12px; resize: vertical; }

.bsbo__total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--bsbo-line); }
.bsbo__total span { font-family: var(--bsbo-mono); font-size: 13px; text-transform: uppercase; color: var(--bsbo-muted); }
.bsbo__total strong { font-family: var(--bsbo-mono); font-size: 26px; color: var(--bsbo-yellow); }

/* Loop button */
.bsbo-customise span { font-size: 1.1em; }
