/**
 * WooCommerce DropProduct – Bulk Product Creator — Admin Styles
 *
 * Modern, polished UI with refined typography, subtle animations,
 * and a cohesive design system.
 *
 * @package DropProduct
 * @since   1.0.0
 */

/* ─── Google Font ────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ─── Design Tokens ─────────────────────────────────── */
:root {
	--wu-font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--wu-primary: #4F46E5;
	--wu-primary-hover: #4338CA;
	--wu-primary-light: #EEF2FF;
	--wu-primary-ring: rgba(79, 70, 229, 0.25);
	--wu-success: #059669;
	--wu-success-light: #ecfdf5;
	--wu-danger: #dc2626;
	--wu-danger-light: #fef2f2;
	--wu-warning: #d97706;
	--wu-warning-light: #fffbeb;
	--wu-gray-50: #f9fafb;
	--wu-gray-100: #f3f4f6;
	--wu-gray-200: #e5e7eb;
	--wu-gray-300: #d1d5db;
	--wu-gray-400: #9ca3af;
	--wu-gray-500: #6b7280;
	--wu-gray-600: #4b5563;
	--wu-gray-700: #374151;
	--wu-gray-800: #1f2937;
	--wu-gray-900: #111827;
	--wu-radius-sm: 6px;
	--wu-radius-md: 10px;
	--wu-radius-lg: 14px;
	--wu-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
	--wu-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.07);
	--wu-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.1);
	--wu-transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ─── Layout ─────────────────────────────────────────── */
.dropproduct-wrap {
	max-width: 1400px;
	margin: 20px auto 0;
	font-family: var(--wu-font);
}



/* ─── Header ─────────────────────────────────────────── */
.dropproduct-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
	padding: 20px 28px;
	background: linear-gradient(135deg, #3730A3 0%, #4F46E5 50%, #6366F1 100%);
	border-radius: var(--wu-radius-lg);
	box-shadow: 0 4px 20px rgba(79, 70, 229, 0.35);
	color: #fff;
	position: relative;
	overflow: hidden;
}

.dropproduct-header::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
	pointer-events: none;
}

.dropproduct-header__left {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.dropproduct-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
}

.dropproduct-title .dashicons {
	font-size: 24px;
	width: 44px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
	border-radius: var(--wu-radius-md);
	backdrop-filter: blur(4px);
}

.dropproduct-tagline {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	font-style: normal;
	font-weight: 400;
}

.dropproduct-header__right {
	display: flex;
	align-items: center;
	gap: 16px;
}

.dropproduct-count {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
}

.dropproduct-count strong {
	font-size: 16px;
	color: #fff;
	font-weight: 700;
}

#dropproduct-publish-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 22px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wu-gray-900);
	background: linear-gradient(135deg, #fff 0%, var(--wu-primary-light) 100%);
	border: none;
	border-radius: var(--wu-radius-sm);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	cursor: pointer;
	transition: all var(--wu-transition);
	text-shadow: none;
}

#dropproduct-publish-all:hover:not(:disabled) {
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	background: linear-gradient(135deg, #fff 0%, #C7D2FE 100%);
}

#dropproduct-publish-all:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

#dropproduct-publish-all .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	vertical-align: text-bottom;
	color: var(--wu-primary);
}

/* ─── Notices ────────────────────────────────────────── */
.dropproduct-notices {
	margin-bottom: 16px;
}

.dropproduct-notice {
	padding: 12px 18px;
	border-radius: var(--wu-radius-md);
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 8px;
	animation: dropProductSlideIn 0.35s ease;
	border: 1px solid transparent;
}

.dropproduct-notice--success {
	background: var(--wu-success-light);
	border-color: rgba(5, 150, 105, 0.2);
	color: #065f46;
}

.dropproduct-notice--error {
	background: var(--wu-danger-light);
	border-color: rgba(220, 38, 38, 0.2);
	color: #991b1b;
}

.dropproduct-notice--info {
	background: var(--wu-primary-light);
	border-color: rgba(79, 70, 229, 0.15);
	color: #4F46E5;
}

/* ─── Dropzone ───────────────────────────────────────── */
.dropproduct-dropzone {
	position: relative;
	margin-bottom: 24px;
	background: var(--wu-gray-50);
	border: 2px dashed var(--wu-gray-300);
	border-radius: var(--wu-radius-lg);
	transition: all var(--wu-transition);
}

.dropproduct-dropzone:hover {
	border-color: var(--wu-primary);
	background: var(--wu-primary-light);
}

.dropproduct-dropzone.is-dragover {
	border-color: var(--wu-primary);
	background: var(--wu-primary-light);
	box-shadow: 0 0 0 4px var(--wu-primary-ring);
	transform: scale(1.005);
}

.dropproduct-dropzone.is-uploading {
	border-color: var(--wu-warning);
	background: var(--wu-warning-light);
}

.dropproduct-dropzone__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 56px 24px;
	text-align: center;
}

.dropproduct-dropzone__inner .dashicons {
	font-size: 48px;
	width: 72px;
	height: 72px;
	line-height: 72px;
	text-align: center;
	color: var(--wu-primary);
	background: var(--wu-primary-light);
	border-radius: 50%;
	margin-bottom: 16px;
	transition: all var(--wu-transition);
}

.dropproduct-dropzone:hover .dropproduct-dropzone__inner .dashicons,
.dropproduct-dropzone.is-dragover .dropproduct-dropzone__inner .dashicons {
	color: #fff;
	background: var(--wu-primary);
	transform: scale(1.1);
}

.dropproduct-dropzone__text {
	font-size: 17px;
	font-weight: 600;
	color: var(--wu-gray-800);
	margin: 0 0 4px;
}

.dropproduct-dropzone__subtext {
	font-size: 13px;
	color: var(--wu-gray-400);
	margin: 0 0 14px;
}

#dropproduct-browse-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 24px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wu-primary);
	background: #fff;
	border: 1.5px solid var(--wu-primary);
	border-radius: var(--wu-radius-sm);
	cursor: pointer;
	transition: all var(--wu-transition);
}

#dropproduct-browse-btn:hover {
	color: #fff;
	background: var(--wu-primary);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px var(--wu-primary-ring);
}

.dropproduct-dropzone__hint {
	font-size: 12px;
	color: var(--wu-gray-400);
	margin: 14px 0 0;
}

/* ─── Progress Bar ───────────────────────────────────── */
.dropproduct-dropzone__progress {
	padding: 24px;
}

.dropproduct-progress-bar {
	width: 100%;
	height: 8px;
	background: var(--wu-gray-200);
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 10px;
}

.dropproduct-progress-bar__fill {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--wu-primary), #6366F1);
	border-radius: 4px;
	transition: width 0.3s ease;
}

.dropproduct-progress-text {
	font-size: 13px;
	color: var(--wu-gray-500);
	text-align: center;
	margin: 0;
	font-weight: 500;
}

/* ─── Grid Table ─────────────────────────────────────── */
.dropproduct-grid-wrap {
	background: #fff;
	border: 1px solid var(--wu-gray-200);
	border-radius: var(--wu-radius-lg);
	overflow-x: auto;
	box-shadow: var(--wu-shadow-sm);
}

.dropproduct-grid {
	border: 0;
	border-radius: 0;
	margin: 0;
}

.dropproduct-grid thead th {
	font-size: 12px;
	font-weight: 600;
	color: var(--wu-gray-500);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background: var(--wu-gray-50);
	padding: 12px 14px;
	border-bottom: 1px solid var(--wu-gray-200);
	white-space: nowrap;
}

.dropproduct-grid tbody td {
	padding: 10px 14px;
	vertical-align: middle;
	border-bottom: 1px solid var(--wu-gray-100);
	color: var(--wu-gray-700);
	font-size: 13px;
}

.dropproduct-grid tbody tr:last-child td {
	border-bottom: 0;
}

.dropproduct-grid tbody tr {
	transition: background var(--wu-transition);
}

.dropproduct-grid tbody tr:hover {
	background: var(--wu-gray-50);
}

.dropproduct-grid tbody tr.is-saving {
	opacity: 0.6;
	pointer-events: none;
}

.dropproduct-grid tbody tr.is-published td {
	background: var(--wu-success-light);
}

/* Column widths */
.dropproduct-col-image {
	width: 60px;
}

.dropproduct-col-title {
	min-width: 180px;
}

.dropproduct-col-price {
	width: 100px;
}

.dropproduct-col-sale-price {
	width: 100px;
}

/* ─── Cost-to-Profit Tracker Columns ────────────────── */
.dropproduct-col-cost {
	width: 105px;
	position: relative;
}

.dropproduct-col-profit {
	width: 90px;
	text-align: right;
	white-space: nowrap;
}

.dropproduct-col-margin {
	width: 80px;
	text-align: right;
	white-space: nowrap;
}

/* Small helper sub-label in the column header */
.dropproduct-col-hint {
	display: block;
	font-size: 10px;
	font-weight: 400;
	color: var(--wu-text-muted);
	opacity: 0.7;
	margin-top: 2px;
	white-space: normal;
}

/* ─── Price Validation Warning (Tooltip) ────────────── */
.dropproduct-col-sale-price {
	position: relative;
}

.dropproduct-price-warning {
	position: absolute;
	bottom: calc(100% - 2px);
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	padding: 6px 12px;
	font-size: 11px;
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: var(--wu-danger);
	border-radius: var(--wu-radius-sm);
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
	z-index: 10;
	pointer-events: none;
	animation: dropProductTooltipIn 0.2s ease forwards;
}

.dropproduct-price-warning::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: var(--wu-danger);
}

.dropproduct-price-warning .dashicons {
	font-size: 13px;
	width: 13px;
	height: 13px;
	vertical-align: text-bottom;
}

@keyframes dropProductTooltipIn {
	from {
		opacity: 0;
		transform: translateX(-50%) translateY(4px);
	}

	to {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}

.dropproduct-col-sku {
	width: 120px;
}

.dropproduct-col-stock {
	width: 120px;
}

.dropproduct-col-category {
	width: 140px;
}

.dropproduct-col-status {
	width: 80px;
}

.dropproduct-col-actions {
	width: 80px;
	text-align: center;
}

/* ─── Grid Cells ─────────────────────────────────────── */
.dropproduct-thumb {
	width: 48px;
	height: 48px;
	border-radius: var(--wu-radius-sm);
	object-fit: cover;
	cursor: pointer;
	border: 2px solid var(--wu-gray-100);
	transition: all var(--wu-transition);
	box-shadow: var(--wu-shadow-sm);
}

.dropproduct-thumb:hover {
	transform: scale(1.08);
	border-color: var(--wu-primary);
	box-shadow: 0 4px 12px var(--wu-primary-ring);
}

.dropproduct-editable {
	width: 100%;
	padding: 7px 10px;
	font-size: 13px;
	border: 1.5px solid transparent;
	border-radius: var(--wu-radius-sm);
	background: transparent;
	transition: all var(--wu-transition);
	box-sizing: border-box;
	color: var(--wu-gray-800);
	font-family: var(--wu-font);
}

.dropproduct-editable:hover {
	border-color: var(--wu-gray-300);
	background: #fff;
}

.dropproduct-editable:focus {
	outline: none;
	border-color: var(--wu-primary);
	background: #fff;
	box-shadow: 0 0 0 3px var(--wu-primary-ring);
}

select.dropproduct-editable {
	cursor: pointer;
	padding-right: 28px;
}

.dropproduct-editable.is-saving {
	border-color: var(--wu-warning);
	background: var(--wu-warning-light);
}

.dropproduct-editable.is-saved {
	border-color: var(--wu-success);
	background: var(--wu-success-light);
}

.dropproduct-editable.is-error {
	border-color: var(--wu-danger);
	background: var(--wu-danger-light);
}

/* Cost price input reuses the same save-state classes */
.dropproduct-cost-input {
	background: transparent;
	border: none;
	outline: none;
	width: 70px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wu-text-primary);
	-moz-appearance: textfield;
	font-family: var(--wu-font);
}

.dropproduct-cost-input::-webkit-inner-spin-button,
.dropproduct-cost-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
}

.dropproduct-cost-input.is-saving { color: var(--wu-warning); }
.dropproduct-cost-input.is-saved  { color: var(--wu-success); }
.dropproduct-cost-input.is-error  { color: var(--wu-danger);  }

/* ─── Financial Display Values ───────────────────────── */
.dropproduct-col-profit td,
.dropproduct-col-margin td {
	text-align: right;
}

.dp-finance-positive {
	color: #059669;
	font-size: 12px;
	font-weight: 700;
}

.dp-finance-negative {
	color: #dc2626;
	font-size: 12px;
	font-weight: 700;
}

.dp-finance-na {
	color: #d1d5db;
	font-size: 12px;
}

.dropproduct-profit-display,
.dropproduct-margin-display {
	display: block;
	text-align: right;
	padding-right: 4px;
	transition: opacity 0.2s ease;
}

/* ─── Validation Highlight ───────────────────────────── */
.dropproduct-grid tbody tr.has-error {
	background: var(--wu-danger-light);
}

.dropproduct-grid tbody tr.has-error .dropproduct-editable.is-error {
	border-color: var(--wu-danger);
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
}

/* ─── Status Badge ───────────────────────────────────── */
.dropproduct-status {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 600;
	border-radius: 20px;
	text-transform: capitalize;
	letter-spacing: 0.3px;
}

.dropproduct-status--draft {
	background: var(--wu-gray-100);
	color: var(--wu-gray-500);
}

.dropproduct-status--publish {
	background: var(--wu-success-light);
	color: #065f46;
}

/* ─── Gallery Badge ──────────────────────────────────── */
.dropproduct-gallery-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	background: linear-gradient(135deg, var(--wu-primary), #6366F1);
	color: #fff;
	padding: 1px 7px;
	border-radius: 10px;
	margin-left: 4px;
	vertical-align: top;
}

/* ─── Action Buttons ─────────────────────────────────── */
.dropproduct-delete-btn {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wu-gray-400);
	padding: 6px;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.dropproduct-delete-btn:hover {
	color: var(--wu-danger);
	background: var(--wu-danger-light);
	transform: scale(1.1);
}

.dropproduct-delete-btn .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

/* ─── Empty State ────────────────────────────────────── */
.dropproduct-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 64px 24px;
	color: var(--wu-gray-400);
}

.dropproduct-empty-state .dashicons {
	font-size: 48px;
	width: 80px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	margin-bottom: 12px;
	background: var(--wu-gray-50);
	border-radius: 50%;
}

.dropproduct-empty-state p {
	font-size: 14px;
	margin: 0;
	font-weight: 500;
	color: var(--wu-gray-500);
}

/* ─── Image Preview Tooltip ──────────────────────────── */
.dropproduct-image-preview {
	position: fixed;
	z-index: 100000;
	pointer-events: none;
	padding: 4px;
	background: #fff;
	border: 1px solid var(--wu-gray-200);
	border-radius: var(--wu-radius-md);
	box-shadow: var(--wu-shadow-lg);
}

.dropproduct-image-preview img {
	display: block;
	max-width: 280px;
	max-height: 280px;
	border-radius: var(--wu-radius-sm);
	object-fit: contain;
}

/* ─── Animations ─────────────────────────────────────── */
@keyframes dropProductFadeIn {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes dropProductSlideIn {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.dropproduct-grid tbody tr {
	animation: dropProductFadeIn 0.25s ease;
}

/* ─── Hide third-party admin notices ────────────────── */
.dropproduct-wrap~.notice,
.dropproduct-wrap~.updated,
.dropproduct-wrap~.error,
.dropproduct-wrap~.update-nag,
.dropproduct-page .notice:not(.dropproduct-notice),
.dropproduct-page .updated:not(.dropproduct-notice),
.dropproduct-page .error:not(.dropproduct-notice),
.dropproduct-page .update-nag,
.dropproduct-page #wpbody-content>.notice,
.dropproduct-page #wpbody-content>.updated,
.dropproduct-page #wpbody-content>.error,
.dropproduct-page #wpbody-content>.update-nag {
	display: none !important;
}

/* ─── Description Column ────────────────────────────── */
.dropproduct-col-desc {
	width: 80px;
	text-align: center;
}

.dropproduct-desc-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--wu-primary-light);
	border: 1.5px solid rgba(79, 70, 229, 0.2);
	border-radius: var(--wu-radius-sm);
	cursor: pointer;
	transition: all var(--wu-transition);
	color: var(--wu-primary);
}

.dropproduct-desc-btn:hover {
	background: var(--wu-primary);
	border-color: var(--wu-primary);
	color: #fff;
	transform: scale(1.08);
	box-shadow: 0 4px 12px var(--wu-primary-ring);
}

.dropproduct-desc-btn .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}

.dropproduct-desc-btn.has-desc {
	background: var(--wu-success-light);
	border-color: rgba(5, 150, 105, 0.2);
	color: var(--wu-success);
}

.dropproduct-desc-btn.has-desc:hover {
	background: var(--wu-success);
	border-color: var(--wu-success);
	color: #fff;
}

.dropproduct-desc-dot {
	position: absolute;
	top: -3px;
	right: -3px;
	width: 8px;
	height: 8px;
	background: var(--wu-success);
	border-radius: 50%;
	border: 2px solid #fff;
}

/* ─── Price Column ──────────────────────────────────── */
.dropproduct-price-wrap {
	display: flex;
	align-items: center;
	gap: 0;
	border: 1.5px solid transparent;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
	overflow: hidden;
}

.dropproduct-price-wrap:focus-within {
	border-color: var(--wu-primary);
	box-shadow: 0 0 0 3px var(--wu-primary-ring);
	background: #fff;
}

.dropproduct-price-wrap:hover {
	border-color: var(--wu-gray-300);
	background: #fff;
}

.dropproduct-currency {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 32px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wu-gray-500);
	background: var(--wu-gray-100);
	border-right: 1px solid var(--wu-gray-200);
	flex-shrink: 0;
}

.dropproduct-price-input {
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 5px 5px 0 !important;
	padding-left: 8px !important;
	font-family: var(--wu-font) !important;
}

.dropproduct-price-input:hover,
.dropproduct-price-input:focus {
	border: none !important;
	box-shadow: none !important;
}

/* ─── Description Modal ─────────────────────────────── */
.dropproduct-desc-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(17, 24, 39, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.dropproduct-desc-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.dropproduct-desc-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 99999;
	width: 540px;
	max-width: 90vw;
	max-height: 80vh;
	background: #fff;
	border-radius: var(--wu-radius-lg);
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
	transform: translate(-50%, -50%) scale(0.92);
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
	display: flex;
	flex-direction: column;
}

.dropproduct-desc-modal.is-open {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
	visibility: visible;
}

.dropproduct-desc-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	border-bottom: 1px solid var(--wu-gray-100);
}

.dropproduct-desc-modal__header h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--wu-gray-800);
	display: flex;
	align-items: center;
	gap: 8px;
}

.dropproduct-desc-modal__header h3 .dashicons {
	color: var(--wu-primary);
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.dropproduct-desc-modal__close {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wu-gray-400);
	padding: 6px;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
	line-height: 1;
}

.dropproduct-desc-modal__close:hover {
	color: var(--wu-danger);
	background: var(--wu-danger-light);
}

.dropproduct-desc-modal__close .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.dropproduct-desc-modal__body {
	padding: 24px;
	flex: 1;
	overflow-y: auto;
}

.dropproduct-desc-modal__body textarea {
	width: 100%;
	min-height: 160px;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.6;
	border: 1.5px solid var(--wu-gray-200);
	border-radius: var(--wu-radius-md);
	resize: vertical;
	box-sizing: border-box;
	transition: all var(--wu-transition);
	font-family: var(--wu-font);
	color: var(--wu-gray-800);
}

.dropproduct-desc-modal__body textarea::placeholder {
	color: var(--wu-gray-400);
}

.dropproduct-desc-modal__body textarea:focus {
	outline: none;
	border-color: var(--wu-primary);
	box-shadow: 0 0 0 3px var(--wu-primary-ring);
}

.dropproduct-desc-modal__footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding: 16px 24px;
	border-top: 1px solid var(--wu-gray-100);
	background: var(--wu-gray-50);
	border-radius: 0 0 var(--wu-radius-lg) var(--wu-radius-lg);
}

.dropproduct-desc-modal__footer .button {
	min-width: 90px;
	text-align: center;
	font-family: var(--wu-font);
	font-weight: 500;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
}

.dropproduct-desc-modal__footer .button-primary {
	background: var(--wu-primary);
	border-color: var(--wu-primary);
}

.dropproduct-desc-modal__footer .button-primary:hover {
	background: var(--wu-primary-hover);
	border-color: var(--wu-primary-hover);
	transform: translateY(-1px);
}

/* ─── Responsive ─────────────────────────────────────── */
@media screen and (max-width: 782px) {
	.dropproduct-header {
		flex-direction: column;
		align-items: flex-start;
		padding: 16px 20px;
	}

	.dropproduct-header__right {
		width: 100%;
		justify-content: space-between;
	}

	.dropproduct-dropzone__inner {
		padding: 36px 16px;
	}

	.dropproduct-desc-modal {
		width: 95vw;
	}
}

/* ─── Actions Column — wider for publish + delete buttons ── */
.dropproduct-col-actions {
	width: 100px;
	text-align: center;
	white-space: nowrap;
}

/* ─── Publish Single Button ──────────────────────────── */
.dropproduct-publish-single-btn {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wu-success);
	padding: 6px;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 2px;
}

.dropproduct-publish-single-btn:hover {
	color: #fff;
	background: var(--wu-success);
	transform: scale(1.1);
	box-shadow: 0 4px 12px rgba(5, 150, 105, 0.3);
}

.dropproduct-publish-single-btn.is-publishing {
	animation: dropProductPublishPulse 1s ease-in-out infinite;
}

@keyframes dropProductPublishPulse {
	0%, 100% { opacity: 0.5; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.05); }
}

.dropproduct-publish-single-btn .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	color: inherit;
}

/* ─── Delete Confirmation Modal ──────────────────────── */
.dropproduct-confirm-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(17, 24, 39, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.dropproduct-confirm-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.dropproduct-confirm-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 99999;
	width: 420px;
	max-width: 90vw;
	background: #fff;
	border-radius: var(--wu-radius-lg);
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
	transform: translate(-50%, -50%) scale(0.9);
	opacity: 0;
	visibility: hidden;
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease, visibility 0.3s ease;
	text-align: center;
	padding: 36px 32px 28px;
}

.dropproduct-confirm-modal.is-open {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
	visibility: visible;
}

.dropproduct-confirm-modal__icon {
	width: 60px;
	height: 60px;
	margin: 0 auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #fee2e2, #fecaca);
	border-radius: 50%;
	border: 2px solid rgba(220, 38, 38, 0.15);
}

.dropproduct-confirm-modal__icon .dashicons {
	font-size: 28px;
	width: 28px;
	height: 28px;
	color: var(--wu-danger);
}

.dropproduct-confirm-modal h3 {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	color: var(--wu-gray-900);
}

.dropproduct-confirm-modal p {
	margin: 0 0 28px;
	font-size: 13px;
	color: var(--wu-gray-500);
	line-height: 1.6;
}

.dropproduct-confirm-modal__actions {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.dropproduct-confirm-modal__actions .button {
	min-width: 120px;
	padding: 9px 22px;
	font-size: 13px;
	font-weight: 600;
	border-radius: var(--wu-radius-sm);
	cursor: pointer;
	transition: all var(--wu-transition);
	font-family: var(--wu-font);
}

.dropproduct-confirm-delete-btn {
	background: var(--wu-danger) !important;
	border-color: var(--wu-danger) !important;
	color: #fff !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.dropproduct-confirm-delete-btn:hover {
	background: #b91c1c !important;
	border-color: #b91c1c !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
}

.dropproduct-confirm-delete-btn .dashicons {
	font-size: 15px;
	width: 15px;
	height: 15px;
}

/* ─── Pro Feature Lock Popup ─────────────────────────── */
.dropproduct-pro-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(17, 24, 39, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.dropproduct-pro-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.dropproduct-pro-popup {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 99999;
	width: 440px;
	max-width: 90vw;
	background: #fff;
	border-radius: var(--wu-radius-lg);
	box-shadow: 0 25px 80px rgba(0, 0, 0, 0.3);
	transform: translate(-50%, -50%) scale(0.88);
	opacity: 0;
	visibility: hidden;
	transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease, visibility 0.3s ease;
	text-align: center;
	padding: 40px 36px 32px;
	border-top: 4px solid var(--wu-primary);
}

.dropproduct-pro-popup.is-open {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
	visibility: visible;
}

.dropproduct-pro-popup__icon {
	width: 68px;
	height: 68px;
	margin: 0 auto 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--wu-primary-light), #c7d2fe);
	border-radius: 50%;
	border: 2px solid rgba(79, 70, 229, 0.15);
}

.dropproduct-pro-popup__icon .dashicons {
	font-size: 32px;
	width: 32px;
	height: 32px;
	color: var(--wu-primary);
}

.dropproduct-pro-popup h3 {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 700;
	color: var(--wu-gray-900);
}

.dropproduct-pro-popup p {
	margin: 0 0 28px;
	font-size: 14px;
	color: var(--wu-gray-500);
	line-height: 1.65;
}

.dropproduct-pro-popup__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
}

.dropproduct-pro-upgrade-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 28px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	background: linear-gradient(135deg, var(--wu-primary) 0%, #6366f1 100%) !important;
	border: none !important;
	border-radius: var(--wu-radius-sm) !important;
	color: #fff !important;
	cursor: pointer !important;
	transition: all var(--wu-transition) !important;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(79, 70, 229, 0.4) !important;
}

.dropproduct-pro-upgrade-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(79, 70, 229, 0.5) !important;
	color: #fff !important;
}

.dropproduct-pro-upgrade-btn .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	color: #fbbf24;
}

.dropproduct-pro-popup__actions .button-secondary {
	font-size: 13px;
	color: var(--wu-gray-400);
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px 8px;
	transition: color var(--wu-transition);
}

.dropproduct-pro-popup__actions .button-secondary:hover {
	color: var(--wu-gray-700);
	background: none;
	border: none;
	box-shadow: none;
}

.dropproduct-pro-popup__close {
	position: absolute;
	top: 14px;
	right: 14px;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wu-gray-400);
	padding: 6px;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
	line-height: 1;
}

.dropproduct-pro-popup__close:hover {
	color: var(--wu-danger);
	background: var(--wu-danger-light);
}

.dropproduct-pro-popup__close .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

/* ─── Locked Pro Feature UI (Free version) ─────────────── */
.dropproduct-lock-icon {
	font-size: 12px !important;
	width: 12px !important;
	height: 12px !important;
	margin-left: 4px;
	color: var(--wu-gray-400);
	vertical-align: middle;
}

.dropproduct-session-bar-free {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 12px;
}

.dropproduct-locked-label {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	cursor: default;
	color: var(--wu-gray-600);
	font-size: 13px;
	font-weight: 500;
}

.dropproduct-locked-select {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	border: 1px solid var(--wu-gray-200);
	border-radius: var(--wu-radius-sm);
	background: var(--wu-gray-50);
	color: var(--wu-gray-400);
	font-size: 13px;
	cursor: pointer;
	transition: all var(--wu-transition);
	outline: none;
}

.dropproduct-locked-select:hover,
.dropproduct-locked-select:focus {
	border-color: var(--wu-primary);
	color: var(--wu-primary);
}

.dropproduct-locked-select .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
}

/* Session + Bulk bar base layout in free (mirrors Pro CSS) */
.dropproduct-pro-bulk-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 14px 24px;
	background: linear-gradient(135deg, var(--wu-primary-light) 0%, #e0e7ff 100%);
	border: 1px solid rgba(79, 70, 229, 0.15);
	border-radius: var(--wu-radius-md);
	margin-bottom: 16px;
	animation: dropProductFadeIn 0.25s ease;
}

.dropproduct-pro-bulk-bar__left {
	font-size: 13px;
	color: var(--wu-gray-700);
	font-weight: 500;
}

.dropproduct-pro-bulk-bar__left strong {
	font-size: 16px;
	color: var(--wu-primary);
	font-weight: 700;
}

.dropproduct-pro-bulk-bar__right {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.dropproduct-pro-bulk-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 500;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
}

.dropproduct-pro-bulk-btn .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
}

/* ═══════════════════════════════════════════════════════
   SESSION BAR (free — fully functional since v1.0.3)
   ═══════════════════════════════════════════════════════ */

.dropproduct-session-bar {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	flex-wrap:       wrap;
	gap:             10px;
	margin-bottom:   10px;
	padding:         8px 14px;
	background:      #fff;
	border:          1px solid #e5e7eb;
	border-radius:   8px;
}

.dropproduct-session-bar__left {
	display:     flex;
	align-items: center;
	gap:         8px;
	font-size:   13px;
	font-weight: 500;
	color:       #374151;
}

.dropproduct-session-bar__right {
	display: flex;
	gap:     6px;
}

.dropproduct-session-label {
	font-size:   13px;
	font-weight: 600;
	color:       #6b7280;
}

.dropproduct-session-select {
	min-width:   180px;
	font-size:   13px !important;
	padding:     4px 8px !important;
	border:      1px solid #d1d5db !important;
	border-radius: 6px !important;
	color:       #111827;
}

/* ═══════════════════════════════════════════════════════
   ACTIVITY LOG PANEL
   ═══════════════════════════════════════════════════════ */

.dropproduct-activity-log-panel {
	background:    #fff;
	border:        1px solid #e5e7eb;
	border-radius: 10px;
	margin-bottom: 14px;
	overflow:      hidden;
	box-shadow:    0 2px 12px rgba(0,0,0,.06);
}

.dpal-header {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	padding:         12px 18px;
	background:      #f9fafb;
	border-bottom:   1px solid #e5e7eb;
	gap:             10px;
	flex-wrap:       wrap;
}

.dpal-header__left {
	display:     flex;
	align-items: center;
	gap:         10px;
	font-size:   14px;
	font-weight: 700;
	color:       #111827;
}

.dpal-header__right {
	display:     flex;
	align-items: center;
	gap:         8px;
}

.dpal-filter {
	font-size:    12px !important;
	padding:      3px 8px !important;
	border:       1px solid #d1d5db !important;
	border-radius:6px !important;
}

.dpal-close {
	background:  transparent;
	border:      none;
	cursor:      pointer;
	font-size:   16px;
	line-height: 1;
	color:       #9ca3af;
	padding:     2px 6px;
	border-radius: 4px;
	transition:  all .15s;
}
.dpal-close:hover { background: #fee2e2; color: #dc2626; }

.dpal-body {
	max-height: 320px;
	overflow-y: auto;
}

.dpal-loading {
	text-align: center;
	padding:    24px;
	color:      #9ca3af;
	font-size:  13px;
}

.dpal-empty {
	text-align: center;
	padding:    32px 20px;
	color:      #9ca3af;
	font-size:  13px;
}

/* Activity log table */
.dpal-table {
	width:           100%;
	border-collapse: collapse;
	font-size:       12px;
}

.dpal-table th {
	text-align:     left;
	padding:        8px 14px;
	font-size:      10px;
	font-weight:    700;
	color:          #9ca3af;
	text-transform: uppercase;
	letter-spacing: .5px;
	border-bottom:  1px solid #f3f4f6;
	background:     #fafafa;
	position:       sticky;
	top:            0;
	z-index:        1;
}

.dpal-table td {
	padding:       8px 14px;
	border-bottom: 1px solid #f9fafb;
	color:         #374151;
	vertical-align:middle;
}

.dpal-table tr:last-child td { border-bottom: none; }
.dpal-table tr:hover td      { background: #f9fafb; }

/* Action badges */
.dpal-badge {
	display:      inline-block;
	padding:      2px 8px;
	border-radius:20px;
	font-size:    10px;
	font-weight:  700;
	letter-spacing:.3px;
	text-transform:uppercase;
}

.dpal-badge--upload  { background:#dbeafe; color:#1d4ed8; }
.dpal-badge--publish { background:#d1fae5; color:#059669; }
.dpal-badge--delete  { background:#fee2e2; color:#dc2626; }
.dpal-badge--edit    { background:#fef3c7; color:#d97706; }

.dpal-del-btn {
	background: transparent;
	border:     none;
	cursor:     pointer;
	color:      #d1d5db;
	padding:    2px 5px;
	border-radius: 4px;
	line-height:1;
	font-size:  15px;
	transition: color .15s;
}
.dpal-del-btn:hover { color: #dc2626; }

.dpal-footer {
	display:         flex;
	align-items:     center;
	justify-content: center;
	gap:             12px;
	padding:         10px 18px;
	border-top:      1px solid #f3f4f6;
	background:      #fafafa;
	font-size:       12px;
	color:           #6b7280;
}

/* ═══════════════════════════════════════════════════════
   SETTINGS PAGE
   ═══════════════════════════════════════════════════════ */

.dropproduct-settings-wrap {
	max-width: 820px;
	margin: 20px 0 0;
	font-family: var(--wu-font);
}

/* ─── Header ─────────────────────────────────────────── */
.dropproduct-settings-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 28px 32px;
	background: linear-gradient(135deg, #3730A3 0%, #4F46E5 40%, #6366F1 100%);
	border-radius: var(--wu-radius-lg);
	margin-bottom: 24px;
	color: #fff;
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(79, 70, 229, 0.35);
}

.dropproduct-settings-header::before {
	content: '';
	position: absolute;
	top: -60%;
	right: -15%;
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(255,255,255,0.07) 0%, transparent 70%);
	pointer-events: none;
}

.dropproduct-settings-header__left {
	display: flex;
	align-items: center;
	gap: 18px;
	position: relative;
	z-index: 1;
}

.dropproduct-settings-header__icon {
	width: 52px;
	height: 52px;
	background: rgba(255, 255, 255, 0.12);
	border-radius: var(--wu-radius-md);
	border: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(8px);
	flex-shrink: 0;
}

.dropproduct-settings-header__icon .dashicons {
	font-size: 26px;
	width: 26px;
	height: 26px;
	color: #fff;
}

.dropproduct-settings-title {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	padding: 0;
}

.dropproduct-settings-subtitle {
	margin: 5px 0 0;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}

.dropproduct-settings-header__right {
	position: relative;
	z-index: 1;
}

.dropproduct-settings-version {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.45);
	background: rgba(255, 255, 255, 0.08);
	padding: 5px 12px;
	border-radius: var(--wu-radius-sm);
	font-weight: 500;
	border: 1px solid rgba(255, 255, 255, 0.06);
}

/* ─── Notice area ────────────────────────────────────── */
.dropproduct-settings-notices {
	margin-bottom: 16px;
}

.dropproduct-settings-notice {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border-radius: var(--wu-radius-md);
	font-size: 13px;
	font-weight: 500;
	animation: dropProductFadeIn 0.2s ease;
}

.dropproduct-settings-notice .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.dropproduct-settings-notice--success {
	background: var(--wu-success-light);
	color: #065f46;
	border: 1px solid rgba(5, 150, 105, 0.2);
}

.dropproduct-settings-notice--error {
	background: var(--wu-danger-light);
	color: #991b1b;
	border: 1px solid rgba(220, 38, 38, 0.2);
}

/* ─── Body ───────────────────────────────────────────── */
.dropproduct-settings-body {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* ─── Cards ──────────────────────────────────────────── */
.dropproduct-settings-card {
	background: #fff;
	border: 1px solid var(--wu-gray-200);
	border-radius: var(--wu-radius-lg);
	box-shadow: var(--wu-shadow-sm);
	overflow: hidden;
	transition: box-shadow var(--wu-transition);
}

.dropproduct-settings-card:hover {
	box-shadow: var(--wu-shadow-md);
}

.dropproduct-settings-card__header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--wu-gray-100);
	background: var(--wu-gray-50);
}

.dropproduct-settings-card__icon {
	width: 44px;
	height: 44px;
	border-radius: var(--wu-radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dropproduct-settings-card__icon--seo {
	background: linear-gradient(135deg, var(--wu-primary-light), #c7d2fe);
	border: 1px solid rgba(79, 70, 229, 0.15);
}

.dropproduct-settings-card__icon--seo .dashicons {
	color: var(--wu-primary);
}

.dropproduct-settings-card__icon--pro {
	background: linear-gradient(135deg, #fef3c7, #fde68a);
	border: 1px solid rgba(245, 158, 11, 0.2);
}

.dropproduct-settings-card__icon--pro .dashicons {
	color: #d97706;
}

.dropproduct-settings-card__icon .dashicons {
	font-size: 22px;
	width: 22px;
	height: 22px;
}

.dropproduct-settings-card__title {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
	color: var(--wu-gray-900);
}

.dropproduct-settings-card__desc {
	margin: 0;
	font-size: 13px;
	color: var(--wu-gray-500);
	line-height: 1.6;
}

.dropproduct-settings-card__body {
	padding: 20px 24px;
}

/* ─── Pro card ───────────────────────────────────────── */
.dropproduct-settings-card--pro {
	border-color: rgba(245, 158, 11, 0.3);
	background: linear-gradient(135deg, #fffbeb 0%, #fff 60%);
}

.dropproduct-settings-card--pro .dropproduct-settings-card__header {
	background: transparent;
	border-bottom-color: rgba(245, 158, 11, 0.15);
}

.dropproduct-settings-pro-features {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.dropproduct-settings-pro-feature {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: rgba(245, 158, 11, 0.08);
	border: 1px solid rgba(245, 158, 11, 0.2);
	border-radius: 20px;
	font-size: 12px;
	font-weight: 500;
	color: #92400e;
}

.dropproduct-settings-pro-feature .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
	color: #d97706;
}

.dropproduct-settings-upgrade-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 11px 24px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
	border: none !important;
	border-radius: var(--wu-radius-sm) !important;
	color: #fff !important;
	cursor: pointer !important;
	transition: all var(--wu-transition) !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(217, 119, 6, 0.35) !important;
}

.dropproduct-settings-upgrade-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 22px rgba(217, 119, 6, 0.5) !important;
	color: #fff !important;
}

.dropproduct-settings-upgrade-btn .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

/* ─── Settings Row (toggle row) ──────────────────────── */
.dropproduct-settings-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--wu-gray-100);
	margin-bottom: 16px;
}

.dropproduct-settings-row__label {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.dropproduct-settings-row__name {
	font-size: 14px;
	font-weight: 600;
	color: var(--wu-gray-800);
}

.dropproduct-settings-row__hint {
	font-size: 12px;
	color: var(--wu-gray-400);
}

.dropproduct-settings-row__control {
	flex-shrink: 0;
}

/* ─── Toggle Switch ──────────────────────────────────── */
.dropproduct-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	gap: 0;
	width: 52px;
	height: 28px;
}

.dropproduct-toggle input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.dropproduct-toggle__track {
	position: absolute;
	inset: 0;
	background: var(--wu-gray-200);
	border-radius: 14px;
	transition: background 0.25s ease;
}

.dropproduct-toggle input:checked + .dropproduct-toggle__track {
	background: var(--wu-primary);
}

.dropproduct-toggle__thumb {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dropproduct-toggle input:checked ~ .dropproduct-toggle__thumb {
	transform: translateX(24px);
}

.dropproduct-toggle:hover .dropproduct-toggle__track {
	filter: brightness(0.95);
}

/* ─── Example Box ────────────────────────────────────── */
.dropproduct-settings-example {
	background: var(--wu-gray-50);
	border: 1px solid var(--wu-gray-200);
	border-radius: var(--wu-radius-md);
	overflow: hidden;
}

.dropproduct-settings-example__header {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	background: var(--wu-primary-light);
	border-bottom: 1px solid rgba(79, 70, 229, 0.1);
	font-size: 12px;
	font-weight: 600;
	color: var(--wu-primary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.dropproduct-settings-example__header .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
}

.dropproduct-settings-example__body {
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.dropproduct-settings-example__row {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
}

.dropproduct-settings-example__label {
	color: var(--wu-gray-500);
	font-weight: 500;
	min-width: 70px;
}

.dropproduct-settings-example__row code {
	background: #fff;
	border: 1px solid var(--wu-gray-200);
	border-radius: 4px;
	padding: 3px 8px;
	font-size: 12px;
	color: var(--wu-gray-700);
}

.dropproduct-settings-example__arrow {
	display: flex;
	justify-content: flex-start;
	padding-left: 82px;
}

.dropproduct-settings-example__arrow .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
	color: var(--wu-primary);
}

.dropproduct-settings-example__output {
	font-size: 13px;
	color: var(--wu-success);
	font-weight: 700;
}

.dropproduct-settings-example__rules {
	margin: 0;
	padding: 12px 16px;
	border-top: 1px solid var(--wu-gray-200);
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dropproduct-settings-example__rules li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--wu-gray-600);
}

.dropproduct-settings-example__rules .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: var(--wu-success);
	flex-shrink: 0;
}

/* ─── Save Footer ────────────────────────────────────── */
.dropproduct-settings-footer {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 0 0;
	border-top: 1px solid var(--wu-gray-100);
	margin-top: 24px;
}

.dropproduct-settings-footer .button-primary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 24px;
	font-size: 14px;
	font-weight: 600;
	background: var(--wu-primary) !important;
	border-color: var(--wu-primary) !important;
	border-radius: var(--wu-radius-sm);
	transition: all var(--wu-transition);
	box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

.dropproduct-settings-footer .button-primary:hover {
	background: var(--wu-primary-hover) !important;
	border-color: var(--wu-primary-hover) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(79, 70, 229, 0.4);
}

.dropproduct-settings-footer .button-primary .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}

.dropproduct-settings-footer__hint {
	font-size: 12px;
	color: var(--wu-gray-400);
}

/* Spin animation for save button loading state */
@keyframes dropProductSpin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

.spin {
	display: inline-block;
	animation: dropProductSpin 0.8s linear infinite;
}

/* ─── Disabled card state ────────────────────────────── */
.dropproduct-settings-card.is-disabled .dropproduct-settings-example {
	opacity: 0.5;
	pointer-events: none;
}

/* ─── Responsive ─────────────────────────────────────── */
@media screen and (max-width: 782px) {
	.dropproduct-settings-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.dropproduct-settings-row {
		flex-direction: column;
		align-items: flex-start;
	}

	.dropproduct-settings-card__header {
		flex-direction: column;
	}
}

/* ═══════════════════════════════════════════════════════
   PRICE SLASHER — Checkbox Column & Row Selection
   ═══════════════════════════════════════════════════════ */

/* ─── Checkbox Column ────────────────────────────────── */
.dropproduct-col-check {
	width: 36px;
	text-align: center;
	padding: 0 6px !important;
}

/* Custom checkbox element */
.dropproduct-check-label {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	width: 20px;
	height: 20px;
}

.dropproduct-check-label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.dropproduct-check-custom {
	display: block;
	width: 18px;
	height: 18px;
	border: 2px solid var(--wu-gray-300);
	border-radius: 4px;
	background: #fff;
	transition: all 0.18s ease;
	position: relative;
	flex-shrink: 0;
}

.dropproduct-check-label:hover .dropproduct-check-custom {
	border-color: var(--wu-primary);
	box-shadow: 0 0 0 3px var(--wu-primary-ring);
}

.dropproduct-check-label input:checked + .dropproduct-check-custom {
	background: var(--wu-primary);
	border-color: var(--wu-primary);
}

.dropproduct-check-label input:checked + .dropproduct-check-custom::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 6px;
	height: 10px;
	border: 2px solid #fff;
	border-top: none;
	border-left: none;
	transform: rotate(45deg);
}

/* Indeterminate state (select-all header) */
#dropproduct-select-all:indeterminate + .dropproduct-check-custom {
	background: var(--wu-primary);
	border-color: var(--wu-primary);
}

#dropproduct-select-all:indeterminate + .dropproduct-check-custom::after {
	content: '';
	position: absolute;
	left: 2px;
	top: 6px;
	width: 10px;
	height: 2px;
	background: #fff;
	transform: none;
	border: none;
}

/* ─── Selected Row Highlight ─────────────────────────── */
.dropproduct-grid tbody tr[data-product-id].is-selected {
	background: linear-gradient(90deg, var(--wu-primary-light) 0%, rgba(238, 242, 255, 0.4) 100%);
	box-shadow: inset 3px 0 0 var(--wu-primary);
}

.dropproduct-grid tbody tr[data-product-id].is-selected td {
	border-color: rgba(79, 70, 229, 0.1);
}

/* ═══════════════════════════════════════════════════════
   PRICE SLASHER — Floating Action Bar (light theme)
   ═══════════════════════════════════════════════════════ */

.dropproduct-slasher-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	padding: 14px 20px;
	background: #fff;
	border-radius: var(--wu-radius-lg);
	border: 1px solid #e5e7eb;
	border-left: 4px solid var(--wu-primary);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);

	/* Hidden by default — slides in on toggle. */
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	transition:
		max-height 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
		opacity    0.25s ease,
		margin-bottom 0.3s ease,
		padding    0.3s ease;
}

.dropproduct-slasher-bar.is-visible {
	max-height: 120px;
	opacity: 1;
	margin-bottom: 14px;
	padding: 14px 20px;
}

/* ─── Left: Selected count badge ─────────────────────── */
.dropproduct-slasher-bar__left {
	display: flex;
	align-items: center;
	gap: 12px;
}

.dropproduct-slasher-bar__icon {
	width: 38px;
	height: 38px;
	background: #eef2ff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #c7d2fe;
	flex-shrink: 0;
}

.dropproduct-slasher-bar__icon .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
	color: var(--wu-primary);
}

.dropproduct-slasher-bar__selected {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.dropproduct-slasher-bar__selected strong {
	font-size: 22px;
	font-weight: 700;
	color: #111827;
	line-height: 1;
}

.dropproduct-slasher-bar__selected span {
	font-size: 11px;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* ─── Centre: Controls ───────────────────────────────── */
.dropproduct-slasher-bar__controls {
	display: flex;
	align-items: flex-end;
	gap: 14px;
	flex-wrap: wrap;
}

.dropproduct-slasher-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.dropproduct-slasher-label {
	font-size: 10px;
	font-weight: 600;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

/* Price field select */
.dropproduct-slasher-select {
	height: 34px;
	padding: 0 10px;
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: var(--wu-radius-sm);
	color: #111827;
	font-size: 13px;
	font-family: var(--wu-font);
	cursor: pointer;
	transition: all var(--wu-transition);
	outline: none;
	min-width: 108px;
}

.dropproduct-slasher-select:hover,
.dropproduct-slasher-select:focus {
	border-color: var(--wu-primary);
	box-shadow: 0 0 0 3px var(--wu-primary-ring);
}

.dropproduct-slasher-select option {
	background: #fff;
	color: #111827;
}

/* Increase / Decrease toggle group */
.dropproduct-slasher-toggle-group {
	display: flex;
	border-radius: var(--wu-radius-sm);
	overflow: hidden;
	border: 1px solid #d1d5db;
}

.dropproduct-slasher-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 500;
	font-family: var(--wu-font);
	background: #f9fafb;
	border: none;
	color: #6b7280;
	cursor: pointer;
	transition: all 0.18s ease;
	white-space: nowrap;
	height: 34px;
}

.dropproduct-slasher-toggle + .dropproduct-slasher-toggle {
	border-left: 1px solid #e5e7eb;
}

.dropproduct-slasher-toggle .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
}

.dropproduct-slasher-toggle:hover {
	background: #eef2ff;
	color: var(--wu-primary);
}

.dropproduct-slasher-toggle.is-active {
	background: var(--wu-primary);
	color: #fff;
	font-weight: 600;
}

.dropproduct-slasher-toggle.is-active .dashicons {
	color: #fff;
}

/* Amount input + type dropdown */
.dropproduct-slasher-amount-wrap {
	display: flex;
	border-radius: var(--wu-radius-sm);
	overflow: hidden;
	border: 1px solid #d1d5db;
	height: 34px;
	transition: border-color var(--wu-transition), box-shadow var(--wu-transition);
}

.dropproduct-slasher-amount-wrap:focus-within {
	border-color: var(--wu-primary);
	box-shadow: 0 0 0 3px var(--wu-primary-ring);
}

.dropproduct-slasher-input {
	width: 70px;
	padding: 0 10px;
	background: #fff;
	border: none;
	color: #111827;
	font-size: 14px;
	font-weight: 600;
	font-family: var(--wu-font);
	text-align: center;
	outline: none;
	-moz-appearance: textfield;
}

.dropproduct-slasher-input::-webkit-inner-spin-button,
.dropproduct-slasher-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
}

.dropproduct-slasher-input::placeholder {
	color: #d1d5db;
	font-weight: 400;
}

.dropproduct-slasher-type-select {
	width: 54px;
	padding: 0 6px;
	background: #f3f4f6;
	border: none;
	border-left: 1px solid #e5e7eb;
	color: #374151;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--wu-font);
	cursor: pointer;
	outline: none;
	text-align-last: center;
	transition: background var(--wu-transition);
}

.dropproduct-slasher-type-select:focus {
	background: #eef2ff;
}

.dropproduct-slasher-type-select option {
	background: #fff;
	color: #111827;
}

/* ─── Right: Apply + Clear ───────────────────────────── */
.dropproduct-slasher-bar__right {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.dropproduct-slasher-apply {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	padding: 8px 20px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	background: linear-gradient(135deg, var(--wu-primary) 0%, #6366f1 100%) !important;
	border: none !important;
	border-radius: var(--wu-radius-sm) !important;
	color: #fff !important;
	cursor: pointer !important;
	transition: all var(--wu-transition) !important;
	font-family: var(--wu-font) !important;
	box-shadow: 0 3px 12px rgba(79, 70, 229, 0.3) !important;
	white-space: nowrap !important;
	height: 36px !important;
}

.dropproduct-slasher-apply:hover:not(:disabled) {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(79, 70, 229, 0.45) !important;
}

.dropproduct-slasher-apply:disabled {
	opacity: 0.55 !important;
	cursor: not-allowed !important;
}

.dropproduct-slasher-apply .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}

.dropproduct-slasher-clear {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f9fafb;
	border: 1px solid #e5e7eb;
	border-radius: var(--wu-radius-sm);
	color: #9ca3af;
	cursor: pointer;
	transition: all var(--wu-transition);
	padding: 0;
}

.dropproduct-slasher-clear:hover {
	background: #fee2e2;
	border-color: #fca5a5;
	color: #dc2626;
}

.dropproduct-slasher-clear .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

/* ─── Price Flash Animation ──────────────────────────── */
@keyframes dropProductPriceFlash {
	0%   { background-color: transparent; }
	20%  { background-color: rgba(5, 150, 105, 0.18); box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.15); }
	80%  { background-color: rgba(5, 150, 105, 0.07); }
	100% { background-color: transparent; box-shadow: none; }
}

.dropproduct-price-input.price-updated {
	animation: dropProductPriceFlash 1.4s ease forwards;
	border-radius: var(--wu-radius-sm);
}

/* ─── Responsive ─────────────────────────────────────── */
@media screen and (max-width: 900px) {
	.dropproduct-slasher-bar {
		flex-direction: column;
		align-items: flex-start;
	}

	.dropproduct-slasher-bar__controls {
		width: 100%;
	}

	.dropproduct-slasher-bar__right {
		margin-left: 0;
		width: 100%;
		justify-content: flex-end;
	}
}

/* ═══════════════════════════════════════════════════════
   PRICE SLASHER — Toolbar Row (Toggle Button)
   ═══════════════════════════════════════════════════════ */

.dropproduct-slasher-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

/* Toggle button */
.dropproduct-slasher-toggle-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: var(--wu-font) !important;
	padding: 6px 14px !important;
	border-radius: var(--wu-radius-sm) !important;
	background: #fff !important;
	border: 1px solid var(--wu-gray-300) !important;
	color: var(--wu-text-muted) !important;
	cursor: pointer !important;
	transition: all var(--wu-transition) !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
	position: relative;
}

.dropproduct-slasher-toggle-btn .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: var(--wu-primary);
}

.dropproduct-slasher-toggle-btn:hover {
	border-color: var(--wu-primary) !important;
	color: var(--wu-primary) !important;
	box-shadow: 0 0 0 3px var(--wu-primary-ring) !important;
}

.dropproduct-slasher-toggle-btn.is-active {
	background: linear-gradient(135deg, #1e1b4b 0%, #4338ca 100%) !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(67, 56, 202, 0.35) !important;
}

.dropproduct-slasher-toggle-btn.is-active .dashicons {
	color: #a5b4fc;
}

/* Count badge on the toggle button */
.dropproduct-slasher-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.08);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	color: var(--wu-text-muted);
	transition: all var(--wu-transition);
}

.dropproduct-slasher-toggle-btn.is-active .dropproduct-slasher-badge {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

.dropproduct-slasher-badge.has-count {
	background: var(--wu-primary);
	color: #fff;
}

/* Caret arrow rotates when open */
.dropproduct-slasher-caret {
	font-size: 14px !important;
	width: 14px !important;
	height: 14px !important;
	transition: transform 0.25s ease;
}

.dropproduct-slasher-toggle-btn.is-active .dropproduct-slasher-caret {
	transform: rotate(180deg);
}

/* Hint text */
.dropproduct-slasher-toolbar-hint {
	font-size: 12px;
	color: var(--wu-text-muted);
	opacity: 0.6;
	font-style: italic;
}