/**
 * BB Bestellijsten - frontend styling.
 * Bewust neutraal, zodat het meebeweegt met je thema.
 */

.bb-bl-widget {
	position: relative;
	display: block;
	margin: .75em 0;
}

.bb-bl-trigger {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	padding: 0;
	background: none;
	border: 0;
	color: inherit;
	font-size: .9em;
	line-height: 1.4;
	cursor: pointer;
	opacity: .85;
}

.bb-bl-trigger:hover,
.bb-bl-trigger:focus-visible {
	opacity: 1;
	text-decoration: underline;
}

.bb-bl-trigger-icon {
	font-size: 1.05em;
}

/* Popover -------------------------------------------------------------- */

.bb-bl-panel {
	position: absolute;
	z-index: 999;
	top: calc(100% + .4em);
	left: 0;
	min-width: 240px;
	max-width: 320px;
	padding: .85em;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 6px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
	text-align: left;
	color: #1d2327;
}

.bb-bl-panel-title {
	margin: 0 0 .6em;
	font-size: .8em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .7;
}

.bb-bl-panel-lists {
	margin: 0 0 .75em;
	padding: 0;
	list-style: none;
	max-height: 220px;
	overflow-y: auto;
}

.bb-bl-panel-lists li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bb-bl-pick {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5em;
	width: 100%;
	padding: .5em .6em;
	background: none;
	border: 0;
	border-radius: 4px;
	font-size: .95em;
	text-align: left;
	cursor: pointer;
}

.bb-bl-pick:hover,
.bb-bl-pick:focus-visible {
	background: rgba(0, 0, 0, .05);
}

.bb-bl-count {
	flex: 0 0 auto;
	padding: .1em .5em;
	background: rgba(0, 0, 0, .07);
	border-radius: 999px;
	font-size: .8em;
	opacity: .8;
}

.bb-bl-panel-new {
	display: flex;
	gap: .4em;
	padding-top: .7em;
	border-top: 1px solid rgba(0, 0, 0, .1);
}

.bb-bl-panel-name {
	flex: 1 1 auto;
	min-width: 0;
	padding: .45em .6em;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: 4px;
	font-size: .9em;
}

.bb-bl-panel-create {
	flex: 0 0 auto;
	padding: .45em .8em;
	background: #1d2327;
	color: #fff;
	border: 0;
	border-radius: 4px;
	font-size: .9em;
	cursor: pointer;
}

.bb-bl-panel-create:hover {
	opacity: .9;
}

/* Mijn account --------------------------------------------------------- */

.bb-bl-table {
	width: 100%;
	margin-bottom: 1.5em;
}

.bb-bl-table th,
.bb-bl-table td {
	vertical-align: middle;
}

.bb-bl-col-thumb {
	width: 64px;
}

.bb-bl-col-thumb img {
	width: 56px;
	height: auto;
	display: block;
	border-radius: 4px;
}

.bb-bl-col-actions {
	text-align: right;
	white-space: nowrap;
}

.bb-bl-qty {
	width: 5.5em;
	max-width: 100%;
	text-align: center;
}

.bb-bl-variation {
	display: block;
	font-size: .85em;
	opacity: .7;
}

.bb-bl-stock--out {
	display: inline-block;
	margin-top: .25em;
	padding: .1em .5em;
	background: #fbeaea;
	color: #8a1f1f;
	border-radius: 3px;
	font-size: .8em;
}

.bb-bl-remove-item {
	padding: 0 .45em;
	background: none;
	border: 0;
	font-size: 1.4em;
	line-height: 1;
	color: inherit;
	opacity: .5;
	cursor: pointer;
}

.bb-bl-remove-item:hover {
	opacity: 1;
	color: #8a1f1f;
}

.bb-bl-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	flex-wrap: wrap;
}

.bb-bl-heading .bb-bl-title {
	margin: 0;
}

.bb-bl-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

.bb-bl-footer .bb-bl-total {
	margin: 0;
}

.bb-bl-note {
	font-size: .9em;
	opacity: .7;
}

.bb-bl-create-row,
.bb-bl-cart-save-row {
	display: flex;
	gap: .5em;
	flex-wrap: wrap;
	align-items: center;
}

.bb-bl-create-row .input-text,
.bb-bl-cart-save-row .input-text {
	flex: 1 1 240px;
	min-width: 0;
}

.bb-bl-cart-save {
	margin: 2em 0;
	padding: 1.25em;
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 6px;
}

.bb-bl-cart-save h3 {
	margin-top: 0;
}

.bb-bl-back {
	font-size: .9em;
}

/* Meldingen ------------------------------------------------------------ */

.bb-bl-notice {
	margin: 0 0 1em;
	padding: .75em 1em;
	border-left: 4px solid #2b7a2b;
	background: rgba(43, 122, 43, .08);
	font-size: .95em;
}

.bb-bl-notice--error {
	border-left-color: #8a1f1f;
	background: rgba(138, 31, 31, .08);
}

.bb-bl-notice--warning {
	border-left-color: #b8860b;
	background: rgba(184, 134, 11, .1);
}

.bb-bl-toast {
	position: fixed;
	z-index: 99999;
	left: 50%;
	bottom: 24px;
	transform: translate(-50%, 12px);
	max-width: min(420px, calc(100vw - 32px));
	padding: .8em 1.2em;
	background: #1d2327;
	color: #fff;
	border-radius: 6px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
	font-size: .95em;
	opacity: 0;
	transition: opacity .25s ease, transform .25s ease;
	pointer-events: none;
}

.bb-bl-toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

.bb-bl-toast--error {
	background: #8a1f1f;
}

.bb-bl-busy {
	opacity: .6;
	cursor: progress;
}

@media (max-width: 600px) {
	.bb-bl-col-thumb {
		display: none;
	}

	.bb-bl-col-actions {
		text-align: left;
	}

	.bb-bl-panel {
		left: auto;
		right: 0;
	}
}
