/**
 * Bulk Order Form styles.
 *
 * Using high specificity and !important to override Enfold theme styles.
 */

/* Container */
.plrwc-bulk-order-form {
	max-width: 600px !important;
	margin: 0 auto !important;
}

.plrwc-bulk-order-notice {
	padding: 1em !important;
	background: #f8f8f8 !important;
	border-left: 4px solid #ddd !important;
}

/* Product sections */
.plrwc-bulk-order-form .plrwc-bulk-order-product {
	margin-bottom: 2em !important;
	padding-bottom: 2em !important;
	border-bottom: 1px solid #eee !important;
}

.plrwc-bulk-order-form .plrwc-bulk-order-product:last-child {
	border-bottom: none !important;
}

.plrwc-bulk-order-form h3.plrwc-bulk-order-product-title {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	flex-wrap: wrap !important;
	gap: 0.5em !important;
	margin: 0 0 1em 0 !important;
	padding: 0 !important;
	font-size: 1.4em !important;
	font-weight: 600 !important;
}

.plrwc-bulk-order-form .plrwc-bulk-order-product-price {
	font-size: 0.7em !important;
	font-weight: normal !important;
	color: #666 !important;
}

/* Variations list */
.plrwc-bulk-order-form .plrwc-bulk-order-variations {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5em !important;
}

/* Each variation row: Name | Price | Qty Input - all in one line */
.plrwc-bulk-order-form .plrwc-bulk-order-variation {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 1em !important;
	padding: 0.5em 0.75em !important;
	background: #f9f9f9 !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
}

/* Alternating row colors */
.plrwc-bulk-order-form .plrwc-bulk-order-variation:nth-child(even) {
	background: #f4f4f4 !important;
}

/* Flavor name - takes available space */
.plrwc-bulk-order-form .plrwc-bulk-order-variation-name {
	flex: 1 1 auto !important;
	font-weight: 500 !important;
	font-size: 1em !important;
	color: #333 !important;
}

/* Price - fixed, doesn't shrink */
.plrwc-bulk-order-form .plrwc-bulk-order-variation-price {
	flex: 0 0 auto !important;
	color: #666 !important;
	font-size: 0.9em !important;
	min-width: 60px !important;
	text-align: right !important;
}

/* Times symbol */
.plrwc-bulk-order-form .plrwc-bulk-order-variation-times {
	flex: 0 0 auto !important;
	color: #999 !important;
	font-size: 0.9em !important;
	padding: 0 0.25em !important;
}

/* Qty input - small fixed width */
.plrwc-bulk-order-form input[type="number"].plrwc-bulk-order-qty {
	width: 60px !important;
	max-width: 60px !important;
	min-width: 60px !important;
	flex: 0 0 60px !important;
	height: auto !important;
	padding: 0.4em !important;
	margin: 0 !important;
	text-align: center !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background: #fff !important;
	font-size: 1em !important;
	-moz-appearance: textfield !important;
}

.plrwc-bulk-order-form input[type="number"].plrwc-bulk-order-qty::-webkit-outer-spin-button,
.plrwc-bulk-order-form input[type="number"].plrwc-bulk-order-qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.plrwc-bulk-order-form input[type="number"].plrwc-bulk-order-qty:focus {
	border-color: #007cba !important;
	outline: none !important;
	box-shadow: 0 0 0 1px #007cba !important;
}

/* Line subtotal */
.plrwc-bulk-order-form .plrwc-bulk-order-variation-subtotal {
	flex: 0 0 auto !important;
	min-width: 80px !important;
	text-align: right !important;
	color: #333 !important;
	font-weight: 500 !important;
	font-size: 0.9em !important;
}

/* "Other" variation - wraps to put text field on next line */
.plrwc-bulk-order-form .plrwc-bulk-order-variation--other {
	flex-wrap: wrap !important;
}

.plrwc-bulk-order-form input[type="text"].plrwc-bulk-order-other-note {
	flex: 1 1 100% !important;
	width: 100% !important;
	margin-top: 0.5em !important;
	padding: 0.5em !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background: #fff !important;
	font-size: 1em !important;
	box-sizing: border-box !important;
}

.plrwc-bulk-order-form input[type="text"].plrwc-bulk-order-other-note:focus {
	border-color: #007cba !important;
	outline: none !important;
	box-shadow: 0 0 0 1px #007cba !important;
}

/* Error state for required "Other" note */
.plrwc-bulk-order-form input[type="text"].plrwc-bulk-order-other-note.plrwc-input-error {
	border-color: #dc3232 !important;
	background: #fff6f6 !important;
}

.plrwc-bulk-order-form input[type="text"].plrwc-bulk-order-other-note.plrwc-input-error:focus {
	box-shadow: 0 0 0 1px #dc3232 !important;
}

/* Actions row */
.plrwc-bulk-order-form .plrwc-bulk-order-actions {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 1em !important;
	margin-top: 1.5em !important;
	padding-top: 1.5em !important;
	border-top: 1px solid #eee !important;
}

.plrwc-bulk-order-form button.plrwc-bulk-order-submit {
	padding: 0.75em 2em !important;
	font-size: 1em !important;
	font-family: inherit !important;
	cursor: pointer !important;
}

.plrwc-bulk-order-form button.plrwc-bulk-order-submit:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

.plrwc-bulk-order-form .plrwc-bulk-order-status {
	color: #666 !important;
	font-size: 0.95em !important;
}

.plrwc-bulk-order-form .plrwc-bulk-order-status.success {
	color: #46b450 !important;
}

.plrwc-bulk-order-form .plrwc-bulk-order-status.error {
	color: #dc3232 !important;
}

.plrwc-bulk-order-form .plrwc-bulk-order-view-cart {
	margin-left: 0.5em !important;
}

/* Mobile - stack name/price vertically but keep input on right */
@media (max-width: 480px) {
	.plrwc-bulk-order-form h3.plrwc-bulk-order-product-title {
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.plrwc-bulk-order-form .plrwc-bulk-order-variation {
		flex-wrap: wrap !important;
	}

	.plrwc-bulk-order-form .plrwc-bulk-order-variation-name {
		flex: 1 1 auto !important;
	}

	.plrwc-bulk-order-form .plrwc-bulk-order-variation-price {
		flex: 0 0 auto !important;
	}
}
