/**
 * Dokan Flash Sales - Styles
 * Colors Dokan ke default theme (purple/violet primary + orange accent) se match karte hain.
 */

:root {
	--dfs-primary: #7047EB;
	--dfs-primary-dark: #5a35c9;
	--dfs-primary-light: #ede7fd;
	--dfs-accent: #FF6B35;
	--dfs-accent-dark: #e0521f;
	--dfs-success: #21b587;
	--dfs-danger: #e6483f;
	--dfs-warning: #f5a623;
	--dfs-text: #333652;
	--dfs-text-light: #7f8296;
	--dfs-border: #e4e4f0;
	--dfs-bg: #f8f8fc;
	--dfs-white: #ffffff;
	--dfs-radius: 8px;
}

/* ---------- Layout / Direction Fix ----------
   Kuch Dokan/theme setups mein dashboard content area horizontally
   scrolled default state mein khulta hai (RTL/overflow quirks ki wajah se),
   jisse shuruaati text (jaise "Flash" ka "Fla") hidden dikhta hai.
   Yeh rules force karte hain ki humara content hamesha LTR aur scroll=0 rahe. */
.dfs-vendor-wrap,
.dfs-admin-wrap {
	direction: ltr !important;
	text-align: left !important;
	overflow-x: visible !important;
	max-width: 100%;
	box-sizing: border-box;
}

.dfs-vendor-wrap *,
.dfs-admin-wrap * {
	box-sizing: border-box;
}

.dokan-dashboard-content {
	overflow-x: visible !important;
	direction: ltr !important;
}

/* ---------- Common Card ---------- */
.dfs-vendor-wrap .dfs-card,
.dfs-admin-wrap .dfs-card {
	background: var(--dfs-white);
	border: 1px solid var(--dfs-border);
	border-radius: var(--dfs-radius);
	padding: 24px;
	margin-bottom: 20px;
	box-shadow: 0 1px 3px rgba(51, 54, 82, 0.06);
}

.dfs-card-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--dfs-text);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--dfs-primary-light);
}

.dfs-header-card {
	background: linear-gradient(135deg, var(--dfs-primary) 0%, var(--dfs-primary-dark) 100%) !important;
	color: #fff !important;
}

.dfs-header-card.dfs-card {
	border: none !important;
}

.dfs-page-title,
.dfs-vendor-wrap .dfs-page-title,
.dokan-dashboard-content .dfs-page-title {
	color: #ffffff !important;
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 6px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.dfs-page-subtitle,
.dfs-vendor-wrap .dfs-page-subtitle {
	color: rgba(255, 255, 255, 0.9) !important;
	margin: 0;
	font-size: 14px;
}

.dfs-lightning {
	color: var(--dfs-accent);
	filter: drop-shadow(0 0 4px rgba(255, 107, 53, 0.5));
}

.dfs-header-card .dfs-lightning {
	color: #FFD166;
}

/* ---------- Form ---------- */
.dfs-form-row {
	display: flex;
	gap: 20px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.dfs-form-group {
	flex: 1;
	min-width: 220px;
	display: flex;
	flex-direction: column;
}

.dfs-form-group label {
	font-size: 13px;
	font-weight: 600;
	color: var(--dfs-text);
	margin-bottom: 6px;
}

.dfs-form-group input,
.dfs-form-group select {
	padding: 10px 12px;
	border: 1px solid var(--dfs-border);
	border-radius: 6px;
	font-size: 14px;
	color: var(--dfs-text);
	background: var(--dfs-bg);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.dfs-form-group input:focus,
.dfs-form-group select:focus {
	outline: none;
	border-color: var(--dfs-primary);
	box-shadow: 0 0 0 3px var(--dfs-primary-light);
	background: var(--dfs-white);
}

.dfs-hint {
	color: var(--dfs-text-light);
	font-size: 12px;
	margin-top: 4px;
}

/* ---------- Buttons ---------- */
.dfs-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 22px;
	border: none;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
	color: #ffffff !important;
	text-decoration: none !important;
	line-height: 1.4;
}

.dfs-btn:hover,
.dfs-btn:focus,
.dfs-btn:visited {
	color: #ffffff !important;
	text-decoration: none !important;
}

.dfs-btn:active {
	transform: scale(0.97);
}

.dfs-btn-primary {
	background: linear-gradient(135deg, var(--dfs-accent) 0%, var(--dfs-accent-dark) 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 10px rgba(255, 107, 53, 0.3);
}

.dfs-btn-primary:hover {
	box-shadow: 0 6px 14px rgba(255, 107, 53, 0.4);
}

.dfs-btn-secondary {
	background: var(--dfs-primary) !important;
	color: #ffffff !important;
}

.dfs-btn-secondary:hover {
	background: var(--dfs-primary-dark) !important;
}

.dfs-btn-small {
	padding: 6px 12px;
	font-size: 12px;
}

.dfs-btn-warning {
	background: var(--dfs-warning) !important;
	color: #ffffff !important;
}

.dfs-btn-danger {
	background: var(--dfs-danger) !important;
	color: #ffffff !important;
}

.dfs-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* ---------- Table ---------- */
.dfs-table-wrap {
	overflow-x: auto;
}

.dfs-table {
	width: 100%;
	border-collapse: collapse;
}

.dfs-table th {
	text-align: left;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	color: var(--dfs-text-light);
	padding: 12px;
	background: var(--dfs-bg);
	border-bottom: 2px solid var(--dfs-border);
}

.dfs-table td {
	padding: 12px;
	border-bottom: 1px solid var(--dfs-border);
	font-size: 14px;
	color: var(--dfs-text);
	vertical-align: middle;
}

.dfs-table tbody tr:hover {
	background: var(--dfs-primary-light);
}

.dfs-flash-price-text {
	color: var(--dfs-accent-dark);
}

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

.dfs-status-active {
	background: rgba(33, 181, 135, 0.15);
	color: var(--dfs-success);
}

.dfs-status-expired {
	background: rgba(127, 130, 150, 0.15);
	color: var(--dfs-text-light);
}

.dfs-status-stopped {
	background: rgba(230, 72, 63, 0.15);
	color: var(--dfs-danger);
}

.dfs-status-sold_out {
	background: rgba(245, 166, 35, 0.18);
	color: var(--dfs-warning);
}

/* ---------- Notices ---------- */
.dfs-notice {
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 16px;
	font-size: 14px;
	font-weight: 500;
}

.dfs-notice.dfs-notice-success {
	background: rgba(33, 181, 135, 0.12);
	color: var(--dfs-success);
	border: 1px solid rgba(33, 181, 135, 0.3);
}

.dfs-notice.dfs-notice-error {
	background: rgba(230, 72, 63, 0.12);
	color: var(--dfs-danger);
	border: 1px solid rgba(230, 72, 63, 0.3);
}

.dfs-empty-state {
	color: var(--dfs-text-light);
	text-align: center;
	padding: 30px 10px;
}

/* ---------- Admin grid ---------- */
.dfs-admin-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 20px;
}

@media (max-width: 900px) {
	.dfs-admin-grid {
		grid-template-columns: 1fr;
	}
}

.dfs-admin-title {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--dfs-text);
}

.dfs-filter-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.dfs-pagination {
	margin-top: 16px;
	display: flex;
	gap: 6px;
}

.dfs-pagination .page-numbers {
	padding: 6px 12px;
	border: 1px solid var(--dfs-border);
	border-radius: 4px;
	color: var(--dfs-text);
	text-decoration: none;
	font-size: 13px;
}

.dfs-pagination .page-numbers.current {
	background: var(--dfs-primary);
	color: #fff;
	border-color: var(--dfs-primary);
}

/* ---------- Frontend Shop/Product Flash Badge ---------- */
.dfs-ribbon {
	position: absolute;
	top: 10px;
	left: 10px;
	background: linear-gradient(135deg, var(--dfs-accent) 0%, var(--dfs-accent-dark) 100%);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 5px 10px;
	border-radius: 20px;
	z-index: 5;
	box-shadow: 0 2px 6px rgba(255, 107, 53, 0.4);
	letter-spacing: 0.3px;
}

.dfs-price-wrap {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dfs-countdown {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--dfs-text);
	color: #fff;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	width: fit-content;
}

.dfs-countdown-timer {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.5px;
}

.dfs-stock-left {
	font-size: 12px;
	color: var(--dfs-accent-dark);
	font-weight: 600;
}

.dfs-mini-countdown {
	font-variant-numeric: tabular-nums;
	background: var(--dfs-primary-light);
	color: var(--dfs-primary-dark);
	padding: 3px 8px;
	border-radius: 4px;
	font-weight: 600;
	font-size: 12px;
}

/* Product image wrapper ko relative kare taaki ribbon position ho sake */
li.product,
.woocommerce-product-gallery {
	position: relative;
}

/* ---------- Responsive table (mobile stack) ---------- */
@media (max-width: 782px) {
	.dfs-table thead {
		display: none;
	}

	.dfs-table, .dfs-table tbody, .dfs-table tr, .dfs-table td {
		display: block;
		width: 100%;
	}

	.dfs-table tr {
		margin-bottom: 14px;
		border: 1px solid var(--dfs-border);
		border-radius: 6px;
		padding: 8px;
	}

	.dfs-table td {
		display: flex;
		justify-content: space-between;
		border-bottom: 1px dashed var(--dfs-border);
	}

	.dfs-table td::before {
		content: attr(data-label);
		font-weight: 600;
		color: var(--dfs-text-light);
	}

	.dfs-form-row {
		flex-direction: column;
		gap: 12px;
	}
}
