:root {
	/* ── Colors ── */
	--nsimco-primary: #d52630;
	--nsimco-secondary: #2d4675;
	--nsimco-button-bg: #b1081e;
	--nsimco-button-text: #ffffff;
	--nsimco-header-bg: #f4f1f3;
	--nsimco-card-bg: #ffffff;
	--nsimco-bg: #f8f4f8;
	--nsimco-table-bg: #f5f5f4;
	--nsimco-text: #1c1917;
	--nsimco-muted: #777777;
	--nsimco-accent: var(--nsimco-secondary);
	--nsimco-highlight-bg: #fff3cd;
	--nsimco-highlight-text: #6b5a00;
	--nsimco-border: rgba(45, 70, 117, 0.12);
	--nsimco-border-light: rgba(45, 70, 117, 0.08);

	/* ── Typography ── */
	--nsimco-font: "Vazirmatn", Tahoma, sans-serif;
	--nsimco-text-sm: 16px;
	--nsimco-text-base: 20px;
	--nsimco-text-lg: 24px;

	/* ── Border radius ── */
	--nsimco-radius-sm: 8px;
	--nsimco-radius-md: 12px;
	--nsimco-radius-lg: 16px;
}

html {
	scroll-behavior: smooth;
	font-size: var(--nsimco-text-base);
}

body {
	font-family: var(--nsimco-font);
	font-size: var(--nsimco-text-base);
	color: var(--nsimco-text);
	background: var(--nsimco-bg);
	line-height: 1.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--nsimco-font);
	font-weight: 700;
	line-height: 1.35;
	color: var(--nsimco-primary);
}

h1 {
	font-size: var(--nsimco-text-lg);
}

h2,
h3 {
	font-size: var(--nsimco-text-base);
}

h4,
h5,
h6 {
	font-size: var(--nsimco-text-sm);
}

a {
	color: var(--nsimco-accent);
}

a:hover {
	color: var(--nsimco-primary);
}

.site-header,
.site-footer {
	font-family: var(--nsimco-font);
}

.site-header {
	background: var(--nsimco-header-bg);
	border-bottom: 1px solid var(--nsimco-border-light);
}

.site-footer {
	background: var(--nsimco-secondary);
	color: var(--nsimco-button-text);
}

.site-footer a {
	color: var(--nsimco-button-text);
}

button,
.button,
.elementor-button,
.nsimco-btn {
	font-family: var(--nsimco-font);
	font-size: var(--nsimco-text-sm);
	font-weight: 700;
	background: var(--nsimco-button-bg);
	color: var(--nsimco-button-text);
	border: 0;
	border-radius: var(--nsimco-radius-md);
	padding: 0.75rem 1.5rem;
	cursor: pointer;
	transition: opacity 0.2s ease, transform 0.15s ease;
}

button:hover,
.button:hover,
.elementor-button:hover,
.nsimco-btn:hover {
	opacity: 0.92;
	transform: translateY(-1px);
	color: var(--nsimco-button-text);
}

.nsimco-card {
	background: var(--nsimco-card-bg);
	border-radius: var(--nsimco-radius-lg);
}

.nsimco-table-row {
	background: var(--nsimco-table-bg);
	border-radius: var(--nsimco-radius-sm);
}

img {
	max-width: 100%;
	height: auto;
}

.elementor-widget-heading .elementor-heading-title {
	font-family: var(--nsimco-font);
}

.elementor-widget-text-editor,
.elementor-widget-button .elementor-button {
	font-family: var(--nsimco-font);
}
