.wco-wrapper {
	max-width: 760px;
	margin: 30px auto;
	padding: 32px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	box-sizing: border-box;
}

.wco-heading h2 {
	margin: 0 0 8px;
}

.wco-heading p,
.wco-help {
	margin-top: 0;
	color: #666;
}

.wco-field {
	margin: 0 0 20px;
}

.wco-field > label {
	display: block;
	margin-bottom: 7px;
	font-weight: 600;
}

.wco-field > label > span {
	color: #b00020;
}

.wco-field small {
	font-weight: 400;
	color: #777;
}

.wco-field input[type="text"],
.wco-field input[type="email"],
.wco-field textarea {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font: inherit;
}

.wco-field textarea {
	resize: vertical;
}

.wco-order-info {
	padding: 13px 15px;
	margin: 18px 0;
	background: #f7f7f7;
	border-radius: 5px;
	font-weight: 600;
}

.wco-items {
	margin: 18px 0 25px;
	border-top: 1px solid #eee;
}

.wco-item {
	display: grid;
	grid-template-columns: 1fr 105px;
	gap: 15px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #eee;
}

.wco-item.selected {
	background: #fafafa;
}

.wco-item-label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 400;
}

.wco-qty {
	display: flex;
	align-items: center;
	gap: 6px;
}

.wco-item-qty {
	width: 75px;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font: inherit;
}

.wco-item-qty:disabled {
	opacity: .5;
}

.wco-consent label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 400;
}

.wco-actions {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

.wco-button {
	display: inline-block;
	padding: 12px 20px;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
}

.wco-button:disabled {
	opacity: .6;
	cursor: wait;
}

.wco-secondary {
	background: #eee;
}

.wco-message {
	min-height: 22px;
	margin: 10px 0;
}

.wco-message.error {
	color: #b00020;
}

.wco-success {
	padding: 28px;
	border: 1px solid #d8eadf;
	border-radius: 6px;
	text-align: center;
}

.wco-success-icon {
	width: 48px;
	height: 48px;
	line-height: 48px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: #e6f4ea;
	font-size: 25px;
}

.wco-success h2 {
	margin-top: 0;
}

@media (max-width: 600px) {
	.wco-wrapper {
		padding: 20px;
	}

	.wco-item {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.wco-actions {
		flex-direction: column-reverse;
	}

	.wco-button {
		width: 100%;
	}
}
