/* ═══════════════════════════════════════════════════════════════
   PF Store — design tokens (fallback values = skin «ویترین»).
   The active skin + tenant colors are printed right after this file
   as an inline :root block by inc/pf-skins.php (pfs_tokens_css).
   ═══════════════════════════════════════════════════════════════ */
:root {
	--pf-primary: #2563eb;
	--pf-primary-dark: #1d4ed8;
	--pf-primary-soft: #edf3fe;
	--pf-primary-ink: #1d4ed8;
	--pf-on-primary: #ffffff;
	--pf-accent: #0ea5e9;
	--pf-accent-soft: #e7f6fd;
	--pf-ink: #0f1b3d;
	--pf-ink-2: #334155;
	--pf-muted: #5b6b84;
	--pf-line: #e2e8f0;
	--pf-line-strong: #cbd5e1;
	--pf-bg: #f6f8fc;
	--pf-surface: #ffffff;
	--pf-surface-2: #f1f5fb;
	--pf-dark: #0f1b3d;
	--pf-radius: 16px;
	--pf-radius-sm: 10px;
	--pf-radius-lg: 24px;
	--pf-shadow: 0 1px 2px rgba(15,27,61,.05), 0 8px 24px rgba(15,27,61,.06);
	--pf-shadow-lg: 0 18px 48px rgba(15,27,61,.14);
	--pf-font: Vazirmatn, Tahoma, 'Segoe UI', sans-serif;
	--pf-font-scale: 1;
	--pf-focus: #1d4ed8;
	--pf-success: #15803d;
	--pf-success-soft: #e8f6ee;
	--pf-warn: #b45309;
	--pf-warn-soft: #fdf3e2;
	--pf-danger: #dc2626;
	--pf-danger-soft: #fdecec;
	--pf-info: #1d64d8;
	--pf-info-soft: #e8f0fd;
}

/* Blocksy palette → tokens (forms, buttons, my-account, Woo notices). */
:root:root {
	--theme-palette-color-1: var(--pf-primary);
	--theme-palette-color-2: var(--pf-primary-dark);
	--theme-palette-color-3: var(--pf-ink-2);
	--theme-palette-color-4: var(--pf-ink);
	--theme-palette-color-5: var(--pf-line);
	--theme-palette-color-6: var(--pf-surface-2);
	--theme-palette-color-7: var(--pf-bg);
	--theme-palette-color-8: var(--pf-surface);
	--theme-text-color: var(--pf-ink-2);
	--theme-headings-color: var(--pf-ink);
	--theme-link-initial-color: var(--pf-primary-ink);
	--theme-link-hover-color: var(--pf-primary-dark);
	--theme-border-color: var(--pf-line);
	--theme-form-field-border-initial-color: var(--pf-line-strong);
	--theme-form-field-border-focus-color: var(--pf-primary);
	--theme-form-field-background-initial-color: var(--pf-surface);
	--theme-form-field-background-focus-color: var(--pf-surface);
	--theme-form-text-initial-color: var(--pf-ink);
	--theme-form-text-focus-color: var(--pf-ink);
	--theme-button-background-initial-color: var(--pf-primary);
	--theme-button-background-hover-color: var(--pf-primary-dark);
	--theme-button-text-initial-color: var(--pf-on-primary);
	--theme-button-text-hover-color: var(--pf-on-primary);
	--theme-font-stack-default: var(--pf-font);
	--theme-font-family: var(--pf-font);
}

html { font-size: calc(100% * var(--pf-font-scale)); }
html, body { font-family: var(--pf-font); }
body {
	background: var(--pf-bg);
	color: var(--pf-ink-2);
}
body :where(h1, h2, h3, h4, h5, h6) { color: var(--pf-ink); }

/* Accessible focus ring everywhere (keyboard only). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--pf-focus) !important;
	outline-offset: 2px !important;
	border-radius: 4px;
}

.pfs-skip-link {
	position: absolute;
	inset-inline-start: 12px;
	top: -60px;
	z-index: 10000;
	background: var(--pf-primary);
	color: var(--pf-on-primary);
	padding: .6rem 1rem;
	border-radius: var(--pf-radius-sm);
	font-weight: 700;
	text-decoration: none;
	transition: top .15s;
}
.pfs-skip-link:focus { top: 12px; }

/* Text wordmark used when the tenant has no logo image. */
.pfs-logo, .pfs-f-brand__logo { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--pf-ink); }
.pfs-logo__mark, .pfs-f-brand__logo__mark {
	display: inline-grid;
	place-items: center;
	inline-size: 2.4rem;
	block-size: 2.4rem;
	border-radius: var(--pf-radius-sm);
	background: var(--pf-primary);
	color: var(--pf-on-primary);
	font-weight: 800;
	font-size: 1.25rem;
	line-height: 1;
}
.pfs-logo__text, .pfs-f-brand__logo__text { font-weight: 800; font-size: 1.3rem; letter-spacing: -.3px; color: var(--pf-ink); white-space: nowrap; }
.pfs-logo__img, .pfs-f-brand__logo__img { max-height: 46px; width: auto; display: block; }

/* Demo skin switcher (PF_DEMO_MODE / admin preview). */
.pfs-demo-bar {
	position: fixed;
	inset-inline-start: 12px;
	bottom: 84px;
	z-index: 9998;
	display: flex;
	align-items: center;
	gap: .35rem;
	flex-wrap: wrap;
	max-width: calc(100vw - 24px);
	padding: .4rem;
	background: rgba(15, 15, 20, .86);
	backdrop-filter: blur(8px);
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
	font-size: 12px;
}
.pfs-demo-bar__label { color: #fff; opacity: .8; padding-inline: .5rem .25rem; }
.pfs-demo-bar a {
	color: #fff;
	text-decoration: none;
	padding: .3rem .7rem;
	border-radius: 999px;
	font-weight: 600;
}
.pfs-demo-bar a[aria-current="true"] { background: #fff; color: #111; }
.pfs-demo-bar a:hover { background: rgba(255,255,255,.18); }
@media (min-width: 1024px) { .pfs-demo-bar { bottom: 16px; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
