/**
 * Auratrix Toolkit (Order Flow & Deposit Manager) - Frontend Styles
 */

:root {
	--wodm-primary: #4f46e5;
	--wodm-primary-hover: #4338ca;
	--wodm-success: #10b981;
	--wodm-success-hover: #059669;
	--wodm-danger: #e11d48;
	--wodm-warning: #f59e0b;
	--wodm-bg-card: #ffffff;
	--wodm-border: #e2e8f0;
	--wodm-text-main: #0f172a;
	--wodm-text-muted: #64748b;
	--wodm-radius: 12px;
	--wodm-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.08);
}

/* ==========================================================================
   Full Custom Checkout Layout
   ========================================================================== */
.wodm-custom-checkout-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 10px;
	font-family: inherit;
	color: var(--wodm-text-main);
}

/* Force the form to be a simple block — overrides any theme grid/flex */
.wodm-custom-checkout-container .wodm-checkout-form,
form.wodm-checkout-form {
	display: block !important;
	width: 100% !important;
	float: none !important;
	columns: unset !important;
	column-count: unset !important;
}

/* Each card stacks vertically, full width */
.wodm-custom-checkout-container .wodm-checkout-card {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
}

/* Clearfix for cards and bodies */
.wodm-custom-checkout-container .wodm-checkout-card::after,
.wodm-custom-checkout-container .wodm-card-body::after,
.wodm-custom-checkout-container form.wodm-checkout-form::after {
	content: "" !important;
	display: table !important;
	clear: both !important;
}

/* 1. Top Section: Order Summary */
.wodm-top-order-summary {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both !important;
	float: none !important;
	margin-bottom: 24px;
}

.wodm-custom-checkout-container #order_review,
.wodm-custom-checkout-container .woocommerce-checkout-review-order {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
}

.wodm-custom-checkout-container table.woocommerce-checkout-review-order-table {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	display: table !important;
}

/* 2. Billing Details (تفاصيل الفاتورة) - Full Width Across Page */
.wodm-custom-checkout-container .wodm-checkout-card.wodm-billing-card,
.wodm-custom-checkout-container .wodm-billing-card,
form.wodm-checkout-form .wodm-billing-card {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 100% !important;
	flex: 0 0 100% !important;
	float: none !important;
	clear: both !important;
	margin-bottom: 24px;
	box-sizing: border-box !important;
}

.wodm-custom-checkout-container .wodm-billing-card .woocommerce-billing-fields,
.wodm-custom-checkout-container .wodm-billing-card .woocommerce-billing-fields__field-wrapper {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
}

/* 3. Bottom Section: Payment Methods */
.wodm-payment-card {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both !important;
	float: none !important;
	margin-bottom: 24px;
}

/* Payment Methods List Styling */
.woocommerce-checkout-payment .payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 20px 0 !important;
}

.woocommerce-checkout-payment .payment_methods li.wc_payment_method {
	margin-bottom: 14px !important;
	padding: 16px !important;
	background: #ffffff !important;
	border: 1.5px solid var(--wodm-border, #e2e8f0) !important;
	border-radius: var(--wodm-radius, 12px) !important;
	transition: all 0.2s ease !important;
}

.woocommerce-checkout-payment .payment_methods li.wc_payment_method:hover,
.woocommerce-checkout-payment .payment_methods li.wc_payment_method.selected {
	border-color: var(--wodm-primary, #4f46e5) !important;
}

.woocommerce-checkout-payment .payment_methods li.wc_payment_method label {
	cursor: pointer !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	color: var(--wodm-text-main, #0f172a) !important;
	margin-left: 8px !important;
	display: inline-block !important;
}

body.rtl .woocommerce-checkout-payment .payment_methods li.wc_payment_method label,
[dir="rtl"] .woocommerce-checkout-payment .payment_methods li.wc_payment_method label {
	margin-left: 0 !important;
	margin-right: 8px !important;
}

/* Payment Box Details & Upload Dropzone Container */
.woocommerce-checkout-payment .payment_box {
	margin-top: 14px !important;
	padding: 16px !important;
	background: #f8fafc !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 10px !important;
	clear: both !important;
	box-sizing: border-box !important;
}

/* CSS Fallback: Open payment box instantly when its radio button is checked */
.woocommerce-checkout-payment .wc_payment_method:has(input[type="radio"]:checked) .payment_box,
.woocommerce-checkout-payment .wc_payment_method:has(input[name="payment_method"]:checked) .payment_box,
.woocommerce-checkout-payment .wc_payment_method.selected .payment_box,
.woocommerce-checkout-payment .wc_payment_method input[type="radio"]:checked ~ .payment_box,
.woocommerce-checkout-payment .wc_payment_method input[name="payment_method"]:checked ~ .payment_box {
	display: block !important;
}

/* Ensure InstaPay container and dropzone inside payment_box have proper sizing and visibility */
.woocommerce-checkout-payment .wodm-instapay-checkout-box,
.woocommerce-checkout-payment .wodm-upload-container.instapay-upload {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.wodm-upload-container.instapay-upload .wodm-dropzone:not([style*="display: none"]):not([style*="display:none"]) {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 120px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.wodm-checkout-card {
	background: var(--wodm-bg-card);
	border: 1px solid var(--wodm-border);
	border-radius: var(--wodm-radius);
	box-shadow: var(--wodm-shadow);
	padding: 24px;
	transition: all 0.2s ease;
}

.wodm-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid var(--wodm-border);
	padding-bottom: 16px;
	margin-bottom: 20px;
}

.wodm-card-header .step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--wodm-primary);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	border-radius: 50%;
}

.wodm-card-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--wodm-text-main);
}

/* Order Summary Items List */
.wodm-cart-items-review {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 20px;
}

.wodm-summary-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--wodm-border);
}

.wodm-summary-thumb,
.wodm-summary-item .item-img img {
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--wodm-border);
}

.wodm-summary-item .item-details {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.wodm-summary-item .item-title {
	font-weight: 600;
	font-size: 14px;
	color: var(--wodm-text-main);
}

.wodm-summary-item .item-qty {
	font-size: 13px;
	color: var(--wodm-text-muted);
}

.wodm-summary-item .item-total {
	font-weight: 700;
	font-size: 15px;
	color: var(--wodm-text-main);
}

/* Coupon Inline Section */
.wodm-coupon-inline-wrap {
	margin-bottom: 20px;
}

.wodm-coupon-input-group {
	display: flex;
	gap: 8px;
}

.wodm-coupon-input-group input {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid var(--wodm-border);
	border-radius: 8px;
	font-size: 14px;
}

.wodm-coupon-input-group button {
	padding: 10px 20px;
	background: var(--wodm-text-main);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}

.wodm-coupon-input-group button:hover {
	background: #334155;
}

.wodm-coupon-msg {
	margin-top: 8px;
	font-size: 13px;
	padding: 8px 12px;
	border-radius: 6px;
}

.wodm-coupon-msg.success {
	background: #ecfdf5;
	color: #065f46;
}

.wodm-coupon-msg.error {
	background: #fef2f2;
	color: #991b1b;
}

/* ==========================================================================
   COD Deposit Box Section
   ========================================================================== */
.wodm-deposit-box {
	background: #f8fafc !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px;
	padding: 18px;
	margin: 16px 0;
	position: relative;
	color: #0f172a !important;
	animation: wodmFadeSlide 0.3s ease-out;
}

@keyframes wodmFadeSlide {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}

.wodm-deposit-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	flex-wrap: wrap;
	gap: 8px;
}

.wodm-deposit-header h4 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a !important;
}

.wodm-deposit-badge {
	background: var(--wodm-primary);
	color: #fff !important;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 20px;
	letter-spacing: 0.5px;
}

.wodm-deposit-breakdown {
	background: #ffffff !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 14px;
	color: #0f172a !important;
}

.wodm-deposit-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	font-size: 14px;
	color: #0f172a !important;
}

.wodm-deposit-row .label,
.wodm-deposit-row .wodm-deposit-label,
.wodm-deposit-breakdown .label,
.wodm-deposit-breakdown .wodm-deposit-label,
#wodm-cod-deposit-wrapper .label,
#wodm-cod-deposit-wrapper .wodm-deposit-label,
.wodm-thankyou-deposit-card .label,
.wodm-thankyou-deposit-card .wodm-deposit-label {
	color: #0f172a !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	background: transparent !important;
	text-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	display: inline-block !important;
}

.wodm-deposit-row .value,
.wodm-deposit-row strong.value {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #4f46e5 !important;
	display: inline-block !important;
}

.wodm-deposit-row.remaining .label,
.wodm-deposit-row.remaining .wodm-deposit-label {
	color: #0f172a !important;
	font-weight: 600 !important;
}

.wodm-deposit-row.remaining .value,
.wodm-deposit-row.remaining strong.value {
	color: #e11d48 !important;
}

.wodm-deposit-instructions {
	background: #fffbeb !important;
	border-left: 4px solid var(--wodm-warning) !important;
	padding: 12px 14px;
	border-radius: 4px;
	margin-bottom: 16px;
	font-size: 13px;
	color: #92400e !important;
	line-height: 1.5;
}

.wodm-deposit-instructions p,
.wodm-deposit-instructions strong {
	color: #92400e !important;
	margin: 0;
}

.wodm-thankyou-notice-hint {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
	padding: 14px 16px;
	margin-top: 14px;
	color: #1e40af;
}

.wodm-thankyou-notice-hint .hint-icon {
	color: #3b82f6;
	flex-shrink: 0;
	margin-top: 2px;
}

.wodm-thankyou-notice-hint .hint-text strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #1e3a8a;
	margin-bottom: 2px;
}

.wodm-thankyou-notice-hint .hint-text p {
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: #1d4ed8;
}

/* ==========================================================================
   Upload Dropzone Component
   ========================================================================== */
.wodm-upload-container {
	margin-top: 14px;
}

.wodm-upload-container label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 8px;
	color: var(--wodm-text-main);
}

.wodm-upload-container label .required {
	color: var(--wodm-danger);
}

.wodm-dropzone {
	position: relative;
	border: 2px dashed #94a3b8;
	border-radius: 10px;
	background: #ffffff;
	padding: 24px 16px;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease;
}

.wodm-dropzone:hover,
.wodm-dropzone.dragover {
	border-color: var(--wodm-primary);
	background: #f1f5f9;
}

.wodm-dropzone.wodm-dropzone-error {
	border-color: #ef4444 !important;
	background: #fef2f2 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2) !important;
	animation: wodm-shake 0.4s ease;
}

@keyframes wodm-shake {
	0%, 100% { transform: translateX(0); }
	20%, 60% { transform: translateX(-6px); }
	40%, 80% { transform: translateX(6px); }
}

.wodm-dropzone-content {
	pointer-events: none;
}

.wodm-upload-icon {
	color: var(--wodm-primary);
	margin-bottom: 8px;
}

.dropzone-text {
	margin: 4px 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--wodm-text-main);
}

.dropzone-hint {
	font-size: 12px;
	color: var(--wodm-text-muted);
}

.wodm-file-input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

/* Upload Preview Box */
.wodm-upload-preview {
	margin-top: 12px;
	padding: 14px;
	background: #ffffff;
	border: 1.5px solid #10b981;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: 0 2px 8px rgba(16, 185, 129, 0.08);
	transition: all 0.3s ease;
}

.wodm-upload-preview .preview-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 6px;
	border-bottom: 1px solid #e2e8f0;
}

.preview-badge-success {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	color: #065f46;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	padding: 3px 8px;
	border-radius: 9999px;
}

.preview-badge-success svg {
	color: #10b981;
	flex-shrink: 0;
}

.wodm-upload-preview .preview-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.wodm-upload-preview .preview-filename {
	font-size: 13px;
	font-weight: 600;
	color: var(--wodm-text-main);
	word-break: break-all;
}

.wodm-upload-preview .wodm-remove-file {
	background: #fee2e2;
	border: 1px solid #fca5a5;
	border-radius: 6px;
	font-size: 18px;
	line-height: 1;
	color: #dc2626;
	cursor: pointer;
	padding: 4px 8px;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wodm-upload-preview .wodm-remove-file:hover {
	background: #dc2626;
	color: #ffffff;
	border-color: #dc2626;
}

.preview-thumb {
	display: flex;
	align-items: center;
}

.preview-thumb .preview-img-link {
	display: inline-block;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #cbd5e1;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.preview-thumb .preview-img-link:hover {
	transform: scale(1.02);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.preview-thumb img {
	display: block;
	max-height: 140px;
	max-width: 100%;
	object-fit: contain;
	border-radius: 7px;
	background: #f8fafc;
}

/* Uploading State & Spinner */
.wodm-thumb-wrap {
	position: relative;
	display: inline-block;
	border-radius: 8px;
	overflow: hidden;
}

.wodm-thumb-wrap img {
	max-height: 120px;
	max-width: 100%;
	display: block;
	border-radius: 6px;
	opacity: 0.6;
}

.wodm-upload-spinner-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.7);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border-radius: 6px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
}

.wodm-spinner {
	width: 24px;
	height: 24px;
	border: 3px solid rgba(255, 255, 255, 0.3);
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: wodm-spin 0.8s linear infinite;
}

@keyframes wodm-spin {
	to { transform: rotate(360deg); }
}

/* ==========================================================================
   InstaPay Gateway Details
   ========================================================================== */
.wodm-instapay-checkout-box {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 16px;
	margin: 14px 0;
}

.wodm-instapay-details-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.wodm-instapay-badge-card {
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.wodm-instapay-badge-card .label {
	font-size: 12px !important;
	text-transform: uppercase;
	font-weight: 600 !important;
	color: #475569 !important;
}

.wodm-instapay-badge-card .value {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
}

.wodm-instapay-qr-wrap {
	text-align: center;
	margin: 16px 0;
}

.wodm-instapay-qr-wrap .qr-title {
	font-weight: 600;
	font-size: 13px;
	margin-bottom: 8px;
}

.wodm-qr-image {
	max-width: 160px;
	height: auto;
	border-radius: 8px;
	border: 1px solid #cbd5e1;
	padding: 4px;
	background: #fff;
}

/* ==========================================================================
   Thank You & Order Confirmation Deposit Card Styles
   ========================================================================== */
.wodm-thankyou-deposit-card {
	background: #ffffff;
	border: 1.5px solid #cbd5e1;
	border-radius: var(--wodm-radius);
	box-shadow: var(--wodm-shadow);
	padding: 24px;
	margin: 28px 0;
	position: relative;
	animation: wodmFadeSlide 0.3s ease-out;
}

.wodm-thankyou-deposit-card .wodm-card-top {
	border-bottom: 1px solid var(--wodm-border);
	padding-bottom: 16px;
	margin-bottom: 18px;
}

.wodm-thankyou-deposit-card .card-badge-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}

.wodm-thankyou-deposit-card .card-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--wodm-text-main);
}

.wodm-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.wodm-status-badge.verified {
	background: #dcfce7;
	color: #15803d;
	border: 1px solid #86efac;
}

.wodm-status-badge.pending {
	background: #fef3c7;
	color: #b45309;
	border: 1px solid #fcd34d;
}

.thankyou-breakdown {
	margin-bottom: 18px;
}

.wodm-submitted-proof-section {
	margin: 18px 0;
}

.submitted-proof-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #f8fafc;
	border: 1.5px solid #cbd5e1;
	border-radius: 10px;
	padding: 14px 18px;
	gap: 16px;
	flex-wrap: wrap;
}

.proof-info-left {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
	min-width: 220px;
}

.proof-thumb-mini img {
	width: 54px;
	height: 54px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--wodm-border);
}

.proof-icon {
	font-size: 28px;
	line-height: 1;
}

.proof-text-wrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.proof-heading {
	font-size: 14px;
	font-weight: 700;
	color: var(--wodm-text-main);
}

.proof-subtext {
	font-size: 12px;
	color: var(--wodm-text-muted);
	word-break: break-all;
}

.proof-actions-right {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.wodm-btn-view-receipt {
	background: #ffffff !important;
	color: var(--wodm-text-main) !important;
	border: 1px solid #cbd5e1 !important;
	padding: 8px 14px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
}

.wodm-btn-replace-receipt {
	background: #f1f5f9 !important;
	color: #334155 !important;
	border: 1px solid #cbd5e1 !important;
	padding: 8px 14px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
	cursor: pointer;
}

.wodm-thankyou-uploader-wrap {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px dashed var(--wodm-border);
}

.wodm-thankyou-upload-msg {
	margin-top: 10px;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
}

.wodm-thankyou-upload-msg.success {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.wodm-thankyou-upload-msg.error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

/* ==========================================================================
   Customer Order Modification Notice & Modal
   ========================================================================== */
.wodm-order-edit-action-box {
	margin: 24px 0;
}

.wodm-edit-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #f0fdf4;
	border: 1.5px solid #86efac;
	border-radius: var(--wodm-radius);
	padding: 18px 24px;
	flex-wrap: wrap;
}

.wodm-notice-icon {
	color: #16a34a;
	display: flex;
	align-items: center;
}

.wodm-notice-content {
	flex: 1;
}

.wodm-notice-content h4 {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 700;
	color: #166534;
}

.wodm-notice-content p {
	margin: 0;
	font-size: 13px;
	color: #15803d;
}

.wodm-btn-edit-order {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--wodm-primary) !important;
	color: #fff !important;
	border: none;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}

.wodm-btn-edit-order:hover {
	background: var(--wodm-primary-hover) !important;
}

/* Modal Popup */
.wodm-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.wodm-modal-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(15, 23, 42, 0.6);
	backdrop-filter: blur(4px);
}

.wodm-modal-container {
	position: relative;
	background: #ffffff;
	border-radius: 16px;
	max-width: 750px;
	width: 100%;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
	z-index: 2;
	overflow: hidden;
	animation: wodmModalPop 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes wodmModalPop {
	from { opacity: 0; transform: scale(0.95); }
	to { opacity: 1; transform: scale(1); }
}

.wodm-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	border-bottom: 1px solid var(--wodm-border);
}

.wodm-modal-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
}

.wodm-modal-close {
	background: none;
	border: none;
	font-size: 24px;
	color: var(--wodm-text-muted);
	cursor: pointer;
	line-height: 1;
}

.wodm-modal-body {
	padding: 20px 24px;
	overflow-y: auto;
	flex: 1;
}

.wodm-modal-section {
	margin-bottom: 24px;
}

.wodm-modal-section h4 {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 12px;
}

/* Edit Table */
.wodm-edit-table {
	width: 100%;
	border-collapse: collapse;
}

.wodm-edit-table th {
	text-align: left;
	font-size: 12px;
	text-transform: uppercase;
	color: var(--wodm-text-muted);
	padding: 8px 10px;
	border-bottom: 1px solid var(--wodm-border);
}

.wodm-edit-table td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--wodm-border);
	vertical-align: middle;
}

.wodm-item-col-product {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wodm-item-thumb {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--wodm-border);
}

.wodm-item-title-wrap {
	display: flex;
	flex-direction: column;
}

.wodm-item-title {
	font-weight: 600;
	font-size: 14px;
}

.wodm-item-sku {
	font-size: 12px;
	color: var(--wodm-text-muted);
}

/* Stepper */
.wodm-qty-stepper {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--wodm-border);
	border-radius: 6px;
	overflow: hidden;
}

.wodm-qty-btn {
	background: #f8fafc;
	border: none;
	width: 30px;
	height: 32px;
	font-weight: 700;
	cursor: pointer;
	color: var(--wodm-text-main);
	transition: background 0.15s;
}

.wodm-qty-btn:hover {
	background: #e2e8f0;
}

.wodm-item-qty-input {
	width: 42px;
	height: 32px;
	border: none;
	text-align: center;
	font-weight: 600;
	font-size: 14px;
	-webkit-appearance: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.wodm-item-qty-input::-webkit-outer-spin-button,
.wodm-item-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

.wodm-item-remove-btn {
	background: none;
	border: none;
	color: var(--wodm-danger);
	cursor: pointer;
	padding: 4px;
	border-radius: 4px;
	display: flex;
	align-items: center;
}

.wodm-item-remove-btn:hover {
	background: #fef2f2;
}

/* Product Live Search */
.wodm-search-wrapper {
	position: relative;
}

.wodm-search-input-wrap input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--wodm-border);
	border-radius: 8px;
	font-size: 14px;
}

.wodm-search-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #ffffff;
	border: 1px solid var(--wodm-border);
	border-radius: 8px;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	margin-top: 4px;
	max-height: 220px;
	overflow-y: auto;
	z-index: 10;
}

.wodm-search-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	border-bottom: 1px solid #f1f5f9;
	cursor: pointer;
	transition: background 0.15s;
}

.wodm-search-item:hover {
	background: #f8fafc;
}

.wodm-search-item-info {
	display: flex;
	align-items: center;
	gap: 10px;
}

.wodm-search-item-info img {
	width: 36px;
	height: 36px;
	border-radius: 4px;
	object-fit: cover;
}

.wodm-search-item-btn {
	padding: 6px 12px;
	background: var(--wodm-primary);
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
}

/* Modal Footer */
.wodm-modal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	border-top: 1px solid var(--wodm-border);
	background: #f8fafc;
	flex-wrap: wrap;
	gap: 12px;
}

.wodm-modal-totals {
	font-size: 15px;
}

.wodm-modal-totals .totals-value {
	font-size: 18px;
	color: var(--wodm-primary);
	margin-left: 6px;
}

.wodm-modal-buttons {
	display: flex;
	gap: 10px;
}

/* Status Badges */
.wodm-status-badge {
	display: inline-block;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	border-radius: 20px;
	text-transform: uppercase;
}

.wodm-status-badge.verified {
	background: #dcfce7;
	color: #15803d;
}

.wodm-status-badge.pending {
	background: #fef3c7;
	color: #b45309;
}

/* Elementor placeholder */
.wodm-elementor-preview-placeholder {
	border: 2px dashed #cbd5e1;
	border-radius: 12px;
	padding: 40px 20px;
	text-align: center;
	background: #f8fafc;
}

/* ==========================================================================
   Guest Order Search & Edit Portal
   ========================================================================== */
.wodm-order-lookup-portal-wrap {
	max-width: 800px;
	margin: 20px auto;
	font-family: inherit;
	color: var(--wodm-text-main);
}

.wodm-lookup-card,
.wodm-guest-order-view-card {
	background: #ffffff;
	border: 1px solid var(--wodm-border);
	border-radius: var(--wodm-radius);
	box-shadow: var(--wodm-shadow);
	padding: 28px;
	transition: all 0.3s ease;
}

.wodm-lookup-card-header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--wodm-border);
	padding-bottom: 18px;
}

.wodm-lookup-icon-badge {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #eef2ff;
	color: var(--wodm-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wodm-lookup-header-text h3 {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 700;
	color: var(--wodm-text-main);
}

.wodm-lookup-header-text p {
	margin: 0;
	font-size: 14px;
	color: var(--wodm-text-muted);
	line-height: 1.5;
}

.wodm-lookup-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 20px;
}

@media (max-width: 640px) {
	.wodm-lookup-grid {
		grid-template-columns: 1fr;
	}
}

.wodm-lookup-field label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--wodm-text-main);
}

.wodm-lookup-field label .required {
	color: var(--wodm-danger);
}

.wodm-input-with-icon {
	position: relative !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	width: 100% !important;
	height: 48px !important;
	background: #ffffff !important;
	border: 1.5px solid var(--wodm-border) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wodm-input-with-icon:focus-within {
	border-color: var(--wodm-primary) !important;
	box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15) !important;
}

.wodm-input-with-icon .wodm-field-icon,
.wodm-input-with-icon svg {
	position: static !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--wodm-text-muted) !important;
	flex-shrink: 0 !important;
	background: transparent !important;
	pointer-events: none !important;
	transform: none !important;
}

.wodm-input-with-icon input {
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;
	border: none !important;
	background: transparent !important;
	padding: 0 14px !important;
	margin: 0 !important;
	font-size: 14px !important;
	color: var(--wodm-text-main) !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	line-height: normal !important;
}

/* RTL (Arabic) Support */
body.rtl .wodm-input-with-icon,
html[dir="rtl"] .wodm-input-with-icon,
[dir="rtl"] .wodm-input-with-icon,
.rtl .wodm-input-with-icon {
	flex-direction: row !important;
}

body.rtl .wodm-input-with-icon input,
html[dir="rtl"] .wodm-input-with-icon input,
[dir="rtl"] .wodm-input-with-icon input,
.rtl .wodm-input-with-icon input {
	text-align: right !important;
	direction: rtl !important;
	padding-right: 4px !important;
	padding-left: 14px !important;
}

.wodm-lookup-action {
	display: flex;
	justify-content: flex-end;
}

body.rtl .wodm-lookup-action,
html[dir="rtl"] .wodm-lookup-action,
[dir="rtl"] .wodm-lookup-action,
.rtl .wodm-lookup-action {
	justify-content: flex-start !important;
}

.wodm-btn-submit-lookup {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--wodm-primary) !important;
	color: #fff !important;
	border: none !important;
	padding: 12px 28px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	cursor: pointer;
	transition: background 0.2s ease;
	min-height: 46px;
}

.wodm-btn-submit-lookup:hover {
	background: var(--wodm-primary-hover) !important;
}

/* Spinner */
.wodm-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	border-top-color: #fff;
	animation: wodmSpin 0.7s linear infinite;
}

@keyframes wodmSpin {
	to { transform: rotate(360deg); }
}

/* Lookup Alerts */
.wodm-lookup-alert,
.wodm-portal-alert {
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
	margin-bottom: 18px;
	line-height: 1.4;
}

.wodm-lookup-alert.error,
.wodm-portal-alert.error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

.wodm-lookup-alert.success,
.wodm-portal-alert.success {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

/* Order View Card Header Banner */
.wodm-order-header-banner {
	background: #f8fafc;
	border: 1px solid var(--wodm-border);
	border-radius: 10px;
	padding: 16px 20px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.wodm-order-badge-title {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wodm-order-badge-title h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--wodm-text-main);
}

.wodm-status-pill {
	display: inline-block;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	border-radius: 20px;
	text-transform: uppercase;
	background: #e2e8f0;
	color: #475569;
}

.wodm-status-pill.status-processing {
	background: #e0f2fe;
	color: #0369a1;
}

.wodm-status-pill.status-on-hold,
.wodm-status-pill.status-pending {
	background: #fef3c7;
	color: #b45309;
}

.wodm-order-meta-info {
	font-size: 13px;
	color: var(--wodm-text-muted);
	display: flex;
	align-items: center;
	gap: 8px;
}

.wodm-btn-text-action {
	background: none;
	border: none;
	color: var(--wodm-primary);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	transition: color 0.15s;
}

.wodm-btn-text-action:hover {
	color: var(--wodm-primary-hover);
	text-decoration: underline;
}

/* Portal Section */
.wodm-portal-section {
	margin-bottom: 24px;
}

.wodm-portal-section h4 {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 14px;
	color: var(--wodm-text-main);
}

.wodm-table-responsive {
	overflow-x: auto;
}

/* Portal Footer */
.wodm-portal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 20px;
	border-top: 1px solid var(--wodm-border);
	flex-wrap: wrap;
	gap: 16px;
}

.wodm-portal-totals-summary .totals-row.total {
	font-size: 15px;
	color: var(--wodm-text-main);
}

.wodm-portal-totals-summary .totals-row.total .value {
	font-size: 20px;
	font-weight: 800;
	color: var(--wodm-primary);
	margin-left: 6px;
}

.wodm-portal-totals-summary .totals-row.deposit {
	margin-top: 4px;
	font-size: 12px;
	color: #92400e;
}

.wodm-portal-actions {
	display: flex;
	gap: 10px;
}

.wodm-btn-cancel-edit {
	background: #f1f5f9 !important;
	color: #475569 !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 10px 18px !important;
	font-weight: 600 !important;
	cursor: pointer;
}

.wodm-btn-cancel-edit:hover {
	background: #e2e8f0 !important;
}

.wodm-btn-save-edit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--wodm-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 10px 22px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background 0.2s;
}

.wodm-btn-save-edit:hover {
	background: var(--wodm-primary-hover) !important;
}

/* ==========================================================================
   RTL (Right-to-Left / Arabic) Styles
   ========================================================================== */
body.rtl .wodm-custom-checkout-container,
body.rtl .wodm-order-lookup-portal-wrap,
body.rtl .wodm-order-edit-action-box,
body.rtl #wodm-order-edit-modal,
[dir="rtl"] .wodm-custom-checkout-container,
[dir="rtl"] .wodm-order-lookup-portal-wrap,
[dir="rtl"] .wodm-order-edit-action-box,
[dir="rtl"] #wodm-order-edit-modal {
	direction: rtl;
	text-align: right;
}

body.rtl .wodm-custom-checkout-container .wodm-billing-card,
body.rtl .wodm-custom-checkout-container .wodm-checkout-card,
body.rtl .wodm-custom-checkout-container #order_review,
[dir="rtl"] .wodm-custom-checkout-container .wodm-billing-card,
[dir="rtl"] .wodm-custom-checkout-container .wodm-checkout-card,
[dir="rtl"] .wodm-custom-checkout-container #order_review {
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Input with icon in RTL */
body.rtl .wodm-input-with-icon svg,
[dir="rtl"] .wodm-input-with-icon svg {
	left: auto;
	right: 14px;
}

body.rtl .wodm-input-with-icon input,
[dir="rtl"] .wodm-input-with-icon input {
	padding-left: 14px;
	padding-right: 42px;
}

/* Search input & icon in RTL */
body.rtl .wodm-search-input-wrap .search-icon,
[dir="rtl"] .wodm-search-input-wrap .search-icon {
	left: auto;
	right: 14px;
}

body.rtl .wodm-search-input-wrap input,
[dir="rtl"] .wodm-search-input-wrap input {
	padding-left: 40px;
	padding-right: 40px;
}

body.rtl .wodm-search-spinner,
[dir="rtl"] .wodm-search-spinner {
	right: auto;
	left: 14px;
}

/* Stepper border-radius in RTL */
body.rtl .wodm-qty-btn.minus,
[dir="rtl"] .wodm-qty-btn.minus {
	border-radius: 0 6px 6px 0;
}

body.rtl .wodm-qty-btn.plus,
[dir="rtl"] .wodm-qty-btn.plus {
	border-radius: 6px 0 0 6px;
}

/* Table columns in RTL */
body.rtl .wodm-edit-table th,
body.rtl .wodm-edit-table td,
[dir="rtl"] .wodm-edit-table th,
[dir="rtl"] .wodm-edit-table td {
	text-align: right;
}

body.rtl .wodm-edit-table th:last-child,
body.rtl .wodm-edit-table td:last-child,
[dir="rtl"] .wodm-edit-table th:last-child,
[dir="rtl"] .wodm-edit-table td:last-child {
	text-align: left;
}

/* Modal close button in RTL */
body.rtl .wodm-modal-close,
[dir="rtl"] .wodm-modal-close {
	right: auto;
	left: 18px;
}

/* Search dropdown item button in RTL */
body.rtl .wodm-search-item-btn,
[dir="rtl"] .wodm-search-item-btn {
	margin-left: 0;
	margin-right: auto;
}

/* Card header badge spacing */
body.rtl .wodm-card-header,
[dir="rtl"] .wodm-card-header {
	text-align: right;
}

/* Dropzone preview delete button */
body.rtl .wodm-upload-preview .wodm-remove-file,
[dir="rtl"] .wodm-upload-preview .wodm-remove-file {
	margin-left: 0;
	margin-right: auto;
}

/* Thank You Deposit Card RTL */
body.rtl .wodm-thankyou-deposit-card,
[dir="rtl"] .wodm-thankyou-deposit-card {
	direction: rtl;
	text-align: right;
}

body.rtl .wodm-deposit-instructions,
[dir="rtl"] .wodm-deposit-instructions {
	border-left: none;
	border-right: 4px solid var(--wodm-warning);
}

/* ==========================================================================
   WODM Custom Checkout Fields
   ========================================================================== */

/* Container */
.wodm-custom-fields {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px 12px !important;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px dashed var(--wodm-border, #e2e8f0);
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Half/Full width layout */
.wodm-custom-fields .form-row {
	margin-bottom: 0 !important;
	box-sizing: border-box !important;
}

.wodm-custom-fields .form-row.wodm-field-full,
.wodm-custom-fields .wodm-field-full,
.wodm-custom-field.wodm-field-full {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	display: block !important;
	clear: both !important;
	box-sizing: border-box !important;
}

.wodm-custom-fields .form-row.wodm-field-half,
.wodm-custom-fields .wodm-field-half,
.wodm-custom-field.wodm-field-half {
	display: inline-block !important;
	width: calc(50% - 6px) !important;
	max-width: calc(50% - 6px) !important;
	flex: 0 0 calc(50% - 6px) !important;
	vertical-align: top !important;
	box-sizing: border-box !important;
	clear: none !important;
}

/* Labels */
.wodm-custom-fields label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--wodm-text-main, #1e293b);
	margin-bottom: 6px;
	line-height: 1.4;
}

.wodm-custom-fields label abbr.required {
	color: #ef4444;
	text-decoration: none;
	margin-left: 3px;
}

/* Description/helper text */
.wodm-custom-fields .wodm-field-desc {
	display: block;
	font-size: 12px;
	color: var(--wodm-text-muted, #64748b);
	margin-bottom: 6px;
	line-height: 1.5;
}

/* Text / number / url / email / tel / date inputs */
.wodm-custom-fields input[type="text"],
.wodm-custom-fields input[type="number"],
.wodm-custom-fields input[type="url"],
.wodm-custom-fields input[type="email"],
.wodm-custom-fields input[type="tel"],
.wodm-custom-fields input[type="date"] {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1.5px solid var(--wodm-border, #e2e8f0);
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
	color: var(--wodm-text-main, #1e293b);
	box-sizing: border-box;
	transition: border-color 0.2s, box-shadow 0.2s;
	outline: none;
}

.wodm-custom-fields input[type="text"]:focus,
.wodm-custom-fields input[type="number"]:focus,
.wodm-custom-fields input[type="url"]:focus,
.wodm-custom-fields input[type="email"]:focus,
.wodm-custom-fields input[type="tel"]:focus,
.wodm-custom-fields input[type="date"]:focus {
	border-color: var(--wodm-primary, #4f46e5);
	box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}

/* Textarea */
.wodm-custom-fields textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--wodm-border, #e2e8f0);
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
	color: var(--wodm-text-main, #1e293b);
	box-sizing: border-box;
	resize: vertical;
	min-height: 100px;
	transition: border-color 0.2s, box-shadow 0.2s;
	outline: none;
	font-family: inherit;
	line-height: 1.6;
}

.wodm-custom-fields textarea:focus {
	border-color: var(--wodm-primary, #4f46e5);
	box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}

/* Select dropdown */
.wodm-custom-fields select {
	width: 100%;
	height: 46px;
	padding: 0 36px 0 14px;
	border: 1.5px solid var(--wodm-border, #e2e8f0);
	border-radius: 6px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 14px;
	color: var(--wodm-text-main, #1e293b);
	box-sizing: border-box;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
	outline: none;
}

.wodm-custom-fields select:focus {
	border-color: var(--wodm-primary, #4f46e5);
	box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}

/* Radio buttons */
.wodm-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}

.wodm-radio-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 14px;
	color: var(--wodm-text-main, #1e293b);
	cursor: pointer;
	padding: 8px 16px;
	border: 1.5px solid var(--wodm-border, #e2e8f0);
	border-radius: 20px;
	transition: border-color 0.2s, background 0.2s;
	user-select: none;
}

.wodm-radio-label:hover {
	border-color: var(--wodm-primary, #4f46e5);
	background: rgba(79, 70, 229, 0.04);
}

.wodm-radio-label input[type="radio"] {
	accent-color: var(--wodm-primary, #4f46e5);
	width: 16px;
	height: 16px;
	cursor: pointer;
}

/* Checkbox */
.wodm-checkbox-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--wodm-text-main, #1e293b);
	cursor: pointer;
	user-select: none;
	padding: 10px 16px;
	border: 1.5px solid var(--wodm-border, #e2e8f0);
	border-radius: 8px;
	transition: border-color 0.2s, background 0.2s;
	width: 100%;
	box-sizing: border-box;
}

.wodm-checkbox-label:hover {
	border-color: var(--wodm-primary, #4f46e5);
	background: rgba(79, 70, 229, 0.04);
}

.wodm-checkbox-label input[type="checkbox"] {
	accent-color: var(--wodm-primary, #4f46e5);
	width: 18px;
	height: 18px;
	cursor: pointer;
	flex-shrink: 0;
}

/* File upload */
.wodm-file-input {
	display: block;
	width: 100%;
	padding: 10px 14px;
	border: 1.5px dashed var(--wodm-border, #e2e8f0);
	border-radius: 8px;
	background: #f8fafc;
	font-size: 14px;
	color: var(--wodm-text-main, #1e293b);
	box-sizing: border-box;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
	outline: none;
}

.wodm-file-input:hover,
.wodm-file-input:focus {
	border-color: var(--wodm-primary, #4f46e5);
	background: rgba(79, 70, 229, 0.03);
}

.wodm-file-hint {
	display: block;
	font-size: 11px;
	color: var(--wodm-text-muted, #94a3b8);
	margin-top: 5px;
}

/* Info / Notice text field */
.wodm-field-info-text {
	display: block;
	padding: 12px 16px;
	background: #f0f4ff;
	border-left: 4px solid var(--wodm-primary, #4f46e5);
	border-radius: 0 8px 8px 0;
	font-size: 14px;
	color: #374151;
	line-height: 1.6;
}

/* Top custom fields card */
.wodm-top-custom-fields-card .wodm-card-header .step-num {
	font-size: 16px;
}

/* Validation error highlight */
.wodm-custom-fields .form-row.woocommerce-invalid input,
.wodm-custom-fields .form-row.woocommerce-invalid select,
.wodm-custom-fields .form-row.woocommerce-invalid textarea {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12) !important;
}

/* RTL */
body.rtl .wodm-custom-fields label,
[dir="rtl"] .wodm-custom-fields label {
	text-align: right;
}

body.rtl .wodm-custom-fields select,
[dir="rtl"] .wodm-custom-fields select {
	padding-right: 14px;
	padding-left: 36px;
	background-position: left 12px center;
}

body.rtl .wodm-field-info-text,
[dir="rtl"] .wodm-field-info-text {
	border-left: none;
	border-right: 4px solid var(--wodm-primary, #4f46e5);
	border-radius: 8px 0 0 8px;
}

body.rtl .wodm-radio-group,
[dir="rtl"] .wodm-radio-group {
	flex-direction: row-reverse;
}

body.rtl .wodm-custom-fields abbr.required,
[dir="rtl"] .wodm-custom-fields abbr.required {
	margin-left: 0;
	margin-right: 3px;
}

/* Responsive */
@media (max-width: 600px) {
	.wodm-custom-fields .wodm-field-half {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}

	.wodm-radio-group {
		flex-direction: column;
		gap: 8px;
	}
}

/* ==========================================================================
   Order Received (Thank You) Page Styles
   ========================================================================== */
.wodm-order-received-wrapper,
.wodm-order-pay-wrapper {
	max-width: 960px;
	margin: 20px auto 50px;
	padding: 0 16px;
	box-sizing: border-box;
}

.wodm-order-received-wrapper .woocommerce-order {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

/* Success Notice */
.wodm-order-received-wrapper .woocommerce-notice--success {
	background: #ecfdf5 !important;
	color: #065f46 !important;
	border: 1.5px solid #a7f3d0 !important;
	border-radius: 12px !important;
	padding: 18px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.08) !important;
	margin: 0 !important;
}

.wodm-order-received-wrapper .woocommerce-notice--success::before {
	content: '✓';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: #10b981;
	color: #ffffff;
	border-radius: 50%;
	font-size: 15px;
	font-weight: 900;
	flex-shrink: 0;
}

/* Order Overview List */
.wodm-order-received-wrapper .woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
	gap: 12px !important;
	list-style: none !important;
	padding: 18px 22px !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	margin: 0 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.wodm-order-received-wrapper .woocommerce-order-overview li {
	margin: 0 !important;
	padding: 8px 12px !important;
	border: none !important;
	border-right: 1px solid #f1f5f9 !important;
	font-size: 13px !important;
	color: #64748b !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.wodm-order-received-wrapper .woocommerce-order-overview li:last-child {
	border-right: none !important;
}

.wodm-order-received-wrapper .woocommerce-order-overview li strong {
	color: #0f172a !important;
	font-size: 15px !important;
	font-weight: 700 !important;
}

/* Order Details & Customer Details Sections */
.wodm-order-received-wrapper .woocommerce-order-details,
.wodm-order-received-wrapper .woocommerce-customer-details {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	padding: 24px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.wodm-order-received-wrapper .woocommerce-order-details__title,
.wodm-order-received-wrapper .woocommerce-column__title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin-top: 0 !important;
	margin-bottom: 16px !important;
	padding-bottom: 10px !important;
	border-bottom: 2px solid #f1f5f9 !important;
}

.wodm-order-received-wrapper table.woocommerce-table--order-details {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	border: 1px solid #e2e8f0 !important;
	margin-bottom: 0 !important;
}

.wodm-order-received-wrapper table.woocommerce-table--order-details th,
.wodm-order-received-wrapper table.woocommerce-table--order-details td {
	padding: 12px 16px !important;
	border-bottom: 1px solid #f1f5f9 !important;
	font-size: 14px !important;
}

.wodm-order-received-wrapper table.woocommerce-table--order-details th {
	background: #f8fafc !important;
	font-weight: 700 !important;
	color: #334155 !important;
}

/* RTL Support */
body.rtl .wodm-order-received-wrapper .woocommerce-order-overview li,
[dir="rtl"] .wodm-order-received-wrapper .woocommerce-order-overview li {
	border-right: none !important;
	border-left: 1px solid #f1f5f9 !important;
	text-align: right !important;
}

body.rtl .wodm-order-received-wrapper .woocommerce-order-overview li:last-child,
[dir="rtl"] .wodm-order-received-wrapper .woocommerce-order-overview li:last-child {
	border-left: none !important;
}

