/**
 * Zakuplaner Brand Unification Layer
 *
 * Goal:
 * - Reuse WoodMart design language inside plugin-driven views.
 * - Keep plugin-first architecture and avoid theme logic coupling.
 */

:root {
	--zkp-brand-primary: var(--wd-primary-color, #e83c75);
	--zkp-brand-primary-hover: var(--wd-primary-color-hover, #c42d5e);
	--zkp-brand-accent: var(--wd-alternative-color, #f472b6);
	--zkp-brand-title: var(--wd-title-color, #1f2937);
	--zkp-brand-text: var(--wd-text-color, #6b7280);
	--zkp-brand-bg: var(--wd-body-bg, #f8fafc);
	--zkp-brand-surface: #ffffff;
	--zkp-brand-border: var(--wd-border-color, #e5e7eb);
	--zkp-brand-radius: 12px;
	--zkp-brand-radius-sm: 8px;
	--zkp-brand-shadow: 0 8px 26px rgba(15, 23, 42, 0.07);
	--zkp-brand-font: var(--wd-text-font, inherit);
}

/* Shared typography in plugin-rendered areas */
.zakuplaner-dp-budget-dashboard,
.zakuplaner-dp-magic-link-dashboard,
.zakuplaner-dp-facilities-dashboard,
.zakuplaner-dp-readonly-panel,
.zakuplaner-dp-shopping-lists-dashboard,
.zdp-od-dashboard {
	font-family: var(--zkp-brand-font);
	color: var(--zkp-brand-title);
}

/* Cards */
.zakuplaner-dp-card,
.zdp-od-section,
.zdp-od-kpi-card {
	background: var(--zkp-brand-surface);
	border: 1px solid var(--zkp-brand-border);
	border-radius: var(--zkp-brand-radius);
	box-shadow: var(--zkp-brand-shadow);
}

/* Titles and muted copy */
.zakuplaner-dp-section-title,
.zdp-od-title {
	color: var(--zkp-brand-primary);
}

.zakuplaner-dp-description,
.zdp-od-subtitle,
.zdp-od-kpi-meta,
.zdp-muted {
	color: var(--zkp-brand-text);
}

/* Inputs */
.zakuplaner-dp-form input[type='text'],
.zakuplaner-dp-form input[type='number'],
.zakuplaner-dp-form input[type='email'],
.zakuplaner-dp-form input[type='password'],
.zakuplaner-dp-form textarea,
.zakuplaner-dp-form select,
.zdp-od-year-selector {
	border-color: var(--zkp-brand-border);
	border-radius: var(--zkp-brand-radius-sm);
}

.zakuplaner-dp-form input[type='text']:focus,
.zakuplaner-dp-form input[type='number']:focus,
.zakuplaner-dp-form input[type='email']:focus,
.zakuplaner-dp-form input[type='password']:focus,
.zakuplaner-dp-form textarea:focus,
.zakuplaner-dp-form select:focus,
.zdp-od-year-selector:focus {
	border-color: var(--zkp-brand-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--zkp-brand-primary) 18%, #ffffff);
	outline: none;
}

/* Buttons */
.zakuplaner-dp-btn-primary.button,
.zakuplaner-dp .button.button-primary,
.zdp-od-dashboard .button.button-primary,
.zdp-od-retry {
	background: var(--zkp-brand-primary) !important;
	border-color: var(--zkp-brand-primary) !important;
	color: #fff !important;
	border-radius: var(--zkp-brand-radius-sm) !important;
	font-weight: 700 !important;
}

.zakuplaner-dp-btn-primary.button:hover,
.zakuplaner-dp .button.button-primary:hover,
.zdp-od-dashboard .button.button-primary:hover,
.zdp-od-retry:hover {
	background: var(--zkp-brand-primary-hover) !important;
	border-color: var(--zkp-brand-primary-hover) !important;
}

.zakuplaner-dp-btn-ghost.button,
.zakuplaner-dp .button:not(.button-primary):not(.zakuplaner-dp-btn-danger),
.zdp-od-dashboard .button:not(.button-primary) {
	border-color: var(--zkp-brand-border) !important;
	color: var(--zkp-brand-title) !important;
	background: #fff !important;
	border-radius: var(--zkp-brand-radius-sm) !important;
}

.zakuplaner-dp-btn-danger.button {
	border-radius: var(--zkp-brand-radius-sm) !important;
}

/* Notices */
.zakuplaner-dp-notice {
	border-radius: var(--zkp-brand-radius-sm);
	border: 1px solid var(--zkp-brand-border);
	background: color-mix(in srgb, var(--zkp-brand-primary) 7%, #ffffff);
}

.zakuplaner-dp-notice.error {
	background: #fef2f2;
	border-color: #fecaca;
}

.zakuplaner-dp-notice.success {
	background: #ecfdf5;
	border-color: #86efac;
}

/* Shopping lists visual consistency */
.zdp-shopping-list-item:hover,
.zdp-shopping-list-item.is-active {
	border-color: var(--zkp-brand-primary);
}

.zdp-shopping-list-item.is-active {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--zkp-brand-primary) 16%, #ffffff);
}

.zdp-shopping-list-status.status-draft,
.zdp-shopping-status-badge.status-draft,
.zdp-sl-status-badge.status-draft {
	background: color-mix(in srgb, var(--zkp-brand-primary) 10%, #ffffff);
	border-color: color-mix(in srgb, var(--zkp-brand-primary) 32%, #ffffff);
	color: var(--zkp-brand-primary-hover);
}

/* Teacher add-to-list modal */
.zdp-teacher-add-to-list-modal__card {
	border-radius: var(--zkp-brand-radius);
	box-shadow: var(--zkp-brand-shadow);
}

.zdp-teacher-add-to-list-modal .button.button-primary {
	background: var(--zkp-brand-primary);
	border-color: var(--zkp-brand-primary);
}

.zdp-teacher-add-to-list-modal .button.button-primary:hover {
	background: var(--zkp-brand-primary-hover);
	border-color: var(--zkp-brand-primary-hover);
}

/* My Account nav polish in plugin context */
.woocommerce-MyAccount-navigation .is-active > a,
.woocommerce-MyAccount-navigation li.is-active > a {
	color: var(--zkp-brand-primary);
}

/* Responsive spacing improvements for plugin cards on account pages */
@media (max-width: 1024px) {
	.zakuplaner-dp-card,
	.zdp-od-section,
	.zdp-od-kpi-card {
		padding: 18px;
	}
}

