.wccb-form .wccb-components {
	margin: 0 0 1.5em;
}

.wccb-form .wccb-component {
	margin: 0 0 1em;
}

.wccb-form .wccb-component__title {
	display: block;
	font-weight: 600;
	margin: 0 0 .35em;
}

.wccb-form .wccb-component__title .required {
	color: #b32d2e;
	border: 0;
	text-decoration: none;
}

.wccb-form .wccb-select {
	width: 100%;
	max-width: 420px;
	padding: .5em;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
}

.wccb-form .wccb-select.wccb-error {
	border-color: #b32d2e;
	box-shadow: 0 0 0 1px #b32d2e;
}

.wccb-form .wccb-total {
	display: flex;
	align-items: baseline;
	gap: .5em;
	font-size: 1.15em;
	margin: 0 0 1em;
	padding: .75em 1em;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	background: #fafafa;
}

.wccb-form .wccb-total__label {
	font-weight: 600;
}

.wccb-form .wccb-total__amount {
	font-weight: 700;
}

/* ---------- Bundle ---------- */
.wccb-bundle-form .wccb-bundle-items {
	margin: 0 0 1.25em;
}

.wccb-bundle-form .wccb-bundle-item {
	display: flex;
	gap: 1em;
	align-items: center;
	padding: .75em 0;
	border-bottom: 1px solid #eee;
	transition: opacity .15s ease;
}

.wccb-bundle-form .wccb-bundle-item--off {
	opacity: .45;
}

.wccb-bundle-form .wccb-bundle-item__media img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}

.wccb-bundle-form .wccb-bundle-item__body {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25em 1em;
}

.wccb-bundle-form .wccb-bundle-item__title {
	font-weight: 600;
	flex: 1 1 50%;
	margin: 0;
}

.wccb-bundle-form .wccb-bundle-item__price {
	min-width: 90px;
	text-align: right;
}

.wccb-bundle-form .wccb-discount {
	color: #2e7d32;
	font-size: .85em;
}

.wccb-bundle-form .wccb-bundle-qty {
	width: 70px;
	padding: .35em;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.wccb-bundle-form .wccb-bundle-box-hint {
	font-size: .9em;
	color: #555;
	margin: 0 0 1em;
}

/* ---------- Back-in-stock ---------- */
.wccb-bis {
	margin: 1.25em 0;
	padding: 1em 1.15em;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	background: #fafafa;
	max-width: 460px;
}

.wccb-bis__heading {
	margin: 0 0 .6em;
	font-size: 1.05em;
}

.wccb-bis__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5em;
}

.wccb-bis__email {
	flex: 1 1 200px;
	padding: .55em .6em;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.wccb-bis__as {
	color: #555;
}

.wccb-bis__message {
	margin: .6em 0 0;
	min-height: 1.2em;
	font-size: .92em;
}

.wccb-bis__message--ok {
	color: #2e7d32;
}

.wccb-bis__message--error {
	color: #b32d2e;
}
