.bcwa-addons {
	margin: 16px 0;
	padding: 12px 14px;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	background: #fafafa;
	font-size: 14px;
}
.bcwa-group { margin-bottom: 10px; }
.bcwa-group:last-child { margin-bottom: 0; }
.bcwa-group-title { margin: 0 0 8px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em; color: #444; }
.bcwa-required { color: #c0392b; }

/* Swatch / button style — no radio dots, selection shown via border + fill. */
.bcwa-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.bcwa-option {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-width: 100px;
	padding: 9px 14px;
	border: 1.5px solid #d8d8d8;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s;
	line-height: 1.3;
}
.bcwa-option input[type="radio"],
.bcwa-option input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}
.bcwa-option:hover { border-color: #999; }
.bcwa-option.bcwa-selected { border-color: #1c2b47; background: #1c2b47; }
.bcwa-option.bcwa-selected .bcwa-opt-label,
.bcwa-option.bcwa-selected .bcwa-opt-price { color: #fff; }
.bcwa-option.bcwa-unavailable { opacity: 0.4; pointer-events: none; }

.bcwa-opt-label { font-size: 13px; font-weight: 500; }
.bcwa-opt-price { font-size: 12px; color: #2e7d32; margin-top: 2px; }
.bcwa-option.bcwa-selected .bcwa-opt-price { color: #bfe6c8; }

.bcwa-addons-total {
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px dashed #ccc;
	display: flex;
	justify-content: space-between;
	font-weight: 700;
	font-size: 13.5px;
}
.bcwa-grand-total {
	margin-top: 4px;
	padding-top: 6px;
	border-top: 1px solid #d8d8d8;
	display: flex;
	justify-content: space-between;
	font-weight: 700;
	font-size: 15px;
	color: #1c2b47;
}

.bcwa-box-builder {
	margin: 16px 0;
	padding: 12px 14px;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	background: #fafafa;
	font-size: 14px;
}
.bcwa-box-instructions { margin: 0 0 8px; color: #555; font-size: 13px; }
.bcwa-box-flavor-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 0;
	border-bottom: 1px solid #eee;
}
.bcwa-box-flavor-row:last-child { border-bottom: none; }
.bcwa-qty-control { display: flex; align-items: center; gap: 6px; }
.bcwa-qty-control button {
	width: 24px;
	height: 24px;
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
}
.bcwa-qty-control button:hover { background: #f0f0f0; }
.bcwa-flavor-qty { width: 34px; text-align: center; border: none; background: transparent; font-weight: 600; font-size: 13px; }
.bcwa-box-total { margin-top: 8px; font-weight: 700; font-size: 13.5px; }
.bcwa-box-status { color: #2e7d32; margin-left: 6px; }
.single_add_to_cart_button.bcwa-box-locked { opacity: 0.5; cursor: not-allowed; }

/* --- Theme alignment tweaks (requested) --- */
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
	gap: 20px !important;
}
.bcwa-addons {
	background: transparent;
	padding: 0;
	border: none;
}
.bcwa-options {
	justify-content: center;
}
