/*!
 * PrintShop Pro — Frontend Stylesheet
 * Brand: Primary #D6001C / Dark #111111
 */

:root {
	--psp-primary: #D6001C;
	--psp-primary-dark: #A80016;
	--psp-dark: #111111;
	--psp-dark-gray: #1E1E1E;
	--psp-light-gray: #F5F5F5;
	--psp-white: #FFFFFF;
	--psp-border: #E5E5E5;
	--psp-success: #16A34A;
	--psp-warning: #F59E0B;
	--psp-error: #DC2626;
	--psp-radius: 10px;
	--psp-font: 'Vazirmatn', Tahoma, sans-serif;
}

.psp-configurator,
.psp-product-grid,
.psp-standalone-upload,
.psp-dashboard,
.psp-options-page,
.psp-price-rules-page,
.psp-settings-page {
	font-family: var(--psp-font);
	direction: rtl;
	color: var(--psp-dark);
	box-sizing: border-box;
}

.psp-configurator *,
.psp-product-grid *,
.psp-standalone-upload * {
	box-sizing: border-box;
}

/* Buttons */
.psp-btn {
	font-family: var(--psp-font);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px 22px;
	border-radius: var(--psp-radius);
	border: none;
	cursor: pointer;
	font-weight: 600;
	font-size: 15px;
	transition: background-color .15s ease, transform .05s ease;
}
.psp-btn:active { transform: translateY(1px); }
.psp-btn-primary {
	background: var(--psp-primary);
	color: var(--psp-white);
}
.psp-btn-primary:hover { background: var(--psp-primary-dark); }
.psp-btn-primary:disabled { opacity: .55; cursor: not-allowed; }

/* Product grid / cards */
.psp-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
	margin: 24px 0;
}
.psp-product-card {
	background: var(--psp-white);
	border: 1px solid var(--psp-border);
	border-radius: var(--psp-radius);
	overflow: hidden;
	transition: box-shadow .15s ease, transform .15s ease;
}
.psp-product-card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,.08);
	transform: translateY(-2px);
}
.psp-product-card-image img { width: 100%; display: block; aspect-ratio: 4/3; object-fit: cover; }
.psp-product-card-body { padding: 16px; }
.psp-product-card-body h3 { margin: 0 0 4px; font-size: 16px; }
.psp-product-card-body h3 a { color: var(--psp-dark); text-decoration: none; }
.psp-product-card-tagline { color: #777; font-size: 13px; margin: 0 0 10px; }
.psp-product-card-price { margin: 0 0 14px; font-size: 13px; color: #555; }
.psp-product-card-price strong { color: var(--psp-primary); font-size: 17px; }

/* Toast notifications */
.psp-toast {
	position: fixed;
	bottom: 24px;
	inset-inline-end: 24px;
	background: var(--psp-dark);
	color: var(--psp-white);
	padding: 12px 18px;
	border-radius: var(--psp-radius);
	font-size: 14px;
	z-index: 99999;
	box-shadow: 0 6px 20px rgba(0,0,0,.25);
	animation: psp-toast-in .2s ease;
}
.psp-toast.psp-toast-success { border-inline-start: 4px solid var(--psp-success); }
.psp-toast.psp-toast-error { border-inline-start: 4px solid var(--psp-error); }
.psp-toast.psp-toast-warning { border-inline-start: 4px solid var(--psp-warning); }
@keyframes psp-toast-in { from { opacity: 0; transform: translateY(10px);} to { opacity: 1; transform: translateY(0);} }

/* Standalone upload shortcode */
.psp-standalone-upload { max-width: 480px; }
