/*!
 * Nazhvan Design System — the classes themselves.
 * Every declaration reads a token, so the token screen controls the whole system.
 * Prefix: nazh-diet-
 * Version: 1.0.0
 */
/* ======================================
   Elementor Reset
====================================== */
/* ======================================================

OVERRIDE MODE

هرجا کلاس nds باشد استایل المنتور اولویت نداشته باشد

====================================================== */


[class*="nazh-diet-"]{

position:relative;

box-sizing:border-box;

}


[class*="nazh-diet-"] *{

box-sizing:border-box;

}


[class*="nazh-diet-"] img{

display:block;

width:100%;

height:auto;

}


[class*="nazh-diet-"] .elementor-widget-container{

margin:0!important;

padding:0!important;

}


[class*="nazh-diet-"] .elementor-heading-title{

margin:0!important;

}


[class*="nazh-diet-"] .elementor-button{

all:unset;

display:inline-flex;

align-items:center;

justify-content:center;

cursor:pointer;

box-sizing:border-box;

}


[class*="nazh-diet-"] .elementor-icon{

line-height:1;

display:inline-flex;

}



[class*="nazh-diet-"]{
    box-sizing:border-box;
}

[class*="nazh-diet-"] *,
[class*="nazh-diet-"]::before,
[class*="nazh-diet-"]::after{
    box-sizing:inherit;
}

:root {
	--nds-color-primary: #1f7a5c;
	--nds-color-primary-soft: #e7f3ee;
	--nds-color-secondary: #2b3a4a;
	--nds-color-success: #2e9e6b;
	--nds-color-danger: #d9534f;
	--nds-color-warning: #e0a10a;
	--nds-color-ink: #16202b;
	--nds-color-muted: #66788a;
	--nds-color-surface: #fff;
	--nds-color-line: #e3e8ee;
	--nds-radius-sm: 6px;
	--nds-radius: 12px;
	--nds-radius-lg: 20px;
	--nds-shadow-sm: 0 1px 2px rgba(22, 32, 43, .06);
	--nds-shadow: 0 6px 18px rgba(22, 32, 43, .08);
	--nds-shadow-lg: 0 18px 40px rgba(22, 32, 43, .14);
	--nds-space-xs: 6px;
	--nds-space-sm: 12px;
	--nds-space: 20px;
	--nds-space-lg: 36px;
	--nds-space-xl: 64px;
	--nds-font-title: inherit;
	--nds-font-body: inherit;
	--nds-text-sm: .875rem;
	--nds-text-base: 1rem;
	--nds-text-lg: 1.25rem;
	--nds-text-xl: 1.75rem;
	--nds-text-2xl: 2.5rem;
	--nds-transition: 260ms cubic-bezier(.4, 0, .2, 1);
}

/* ---------- Core ---------- */

.nazh-diet-surface {
	background: var(--nds-color-surface);
	color: var(--nds-color-ink);
}

.nazh-diet-border {
	border: 1px solid var(--nds-color-line);
}

.nazh-diet-divider {
	border: 0;
	border-top: 1px solid var(--nds-color-line);
	margin-block: var(--nds-space);
}

/* ---------- Layout ---------- */

.nazh-diet-container {
	width: min(1200px, 100% - (var(--nds-space) * 2));
	margin-inline: auto;
}

.nazh-diet-section {
	padding-block: var(--nds-space-xl);
}

.nazh-diet-grid {
	display: grid;
	gap: var(--nds-space);
}

.nazh-diet-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nazh-diet-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nazh-diet-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.nazh-diet-flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--nds-space-sm);
}

.nazh-diet-flex-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--nds-space-sm);
}

.nazh-diet-stack {
	display: flex;
	flex-direction: column;
	gap: var(--nds-space-sm);
}

/* ---------- Spacing ---------- */

.nazh-diet-gap-sm { gap: var(--nds-space-sm); }
.nazh-diet-gap { gap: var(--nds-space); }
.nazh-diet-gap-lg { gap: var(--nds-space-lg); }
.nazh-diet-pad-sm { padding: var(--nds-space-sm); }
.nazh-diet-pad { padding: var(--nds-space); }
.nazh-diet-pad-lg { padding: var(--nds-space-lg); }

/* ---------- Typography ---------- */

.nazh-diet-title {
	font-family: var(--nds-font-title);
	font-size: var(--nds-text-2xl);
	font-weight: 700;
	line-height: 1.15;
	color: var(--nds-color-ink);
	margin: 0 0 var(--nds-space-sm);
}

.nazh-diet-subtitle {
	font-family: var(--nds-font-title);
	font-size: var(--nds-text-xl);
	font-weight: 600;
	line-height: 1.25;
	color: var(--nds-color-secondary);
	margin: 0 0 var(--nds-space-xs);
}

.nazh-diet-lead {
	font-size: var(--nds-text-lg);
	line-height: 1.7;
	color: var(--nds-color-muted);
}

.nazh-diet-text-muted { color: var(--nds-color-muted); }
.nazh-diet-text-primary { color: var(--nds-color-primary); }
.nazh-diet-text-center { text-align: center; }

.nazh-diet-eyebrow {
	display: inline-block;
	font-size: var(--nds-text-sm);
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nds-color-primary);
}

/* ---------- Buttons ---------- */

.nazh-diet-btn .elementor-button,
.nazh-diet-btn a{
    all:unset;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    padding:.8rem 1.6rem;

    border-radius:var(--nds-radius);

    background:var(--nds-color-primary)!important;

    color:#fff!important;

    font-weight:600;

    transition:all var(--nds-transition);

    box-sizing:border-box;
}
.nazh-diet-btn .elementor-button:hover,
.nazh-diet-btn a:hover,
.nazh-diet-btn .elementor-button:focus-visible,
.nazh-diet-btn a:focus-visible{

    transform:translateY(-2px);

    box-shadow:var(--nds-shadow);

    background:var(--nds-color-primary)!important;

    color:#fff!important;

}


.nazh-diet-btn-outline a {
	background: transparent !important;
	border-color: var(--nds-color-primary);
	color: var(--nds-color-primary);
}

.nazh-diet-btn-outline a:hover,
.nazh-diet-btn-outline a:focus-visible {
	background: var(--nds-color-primary-soft) !important;
	color: var(--nds-color-primary);
}

.nazh-diet-btn-ghost a {
	background: transparent!important;
	color: var(--nds-color-ink);
	box-shadow: none;
}

.nazh-diet-btn-block a {
	background: transparent!important;
	display: flex;
	width: 100%;
}

/* ---------- Cards ---------- */

.nazh-diet-card {
	display: flex;
	flex-direction: column;
	gap: var(--nds-space-sm);
	padding: var(--nds-space);
	background: var(--nds-color-surface);
	border: 1px solid var(--nds-color-line);
	border-radius: var(--nds-radius);
	color: var(--nds-color-ink);
}

.nazh-diet-card-flat {
	border: 0;
	background: var(--nds-color-primary-soft);
}

.nazh-diet-card-media img {
	border-radius: var(--nds-radius-sm);
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Icons ---------- */

.nazh-diet-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5em;
	height: 2.5em;
	color: var(--nds-color-primary);
}

.nazh-diet-icon-circle {
	border-radius: 999px;
	background: var(--nds-color-primary-soft);
}

.nazh-diet-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--nds-space-xs);
	padding: .35em .85em;
	border-radius: 999px;
	background: var(--nds-color-primary-soft);
	color: var(--nds-color-primary);
	font-size: var(--nds-text-sm);
	font-weight: 600;
}

/* ---------- Effects ---------- */

.nazh-diet-shadow-sm { box-shadow: var(--nds-shadow-sm); }
.nazh-diet-shadow { box-shadow: var(--nds-shadow); }
.nazh-diet-shadow-lg { box-shadow: var(--nds-shadow-lg); }
.nazh-diet-radius-sm { border-radius: var(--nds-radius-sm); }
.nazh-diet-radius { border-radius: var(--nds-radius); }
.nazh-diet-radius-lg { border-radius: var(--nds-radius-lg); }
.nazh-diet-radius-full { border-radius: 999px; }

.nazh-diet-hover {
	transition: transform var(--nds-transition), box-shadow var(--nds-transition);
}

.nazh-diet-hover:hover {
	transform: translateY(-4px);
	box-shadow: var(--nds-shadow-lg);
}

.nazh-diet-hover-glow {
	transition: box-shadow var(--nds-transition);
}

.nazh-diet-hover-glow:hover {
	box-shadow: 0 0 0 4px var(--nds-color-primary-soft);
}

.nazh-diet-overlay {
	position: relative;
	isolation: isolate;
}

.nazh-diet-overlay::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, transparent, rgba(22, 32, 43, .55));
	border-radius: inherit;
}

/* ---------- Animations ---------- */

@keyframes nazh-diet-fade-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

@keyframes nazh-diet-zoom-in {
	from { opacity: 0; transform: scale(.94); }
	to { opacity: 1; transform: none; }
}

.nazh-diet-fade-in { animation: nazh-diet-fade-in 600ms var(--nds-transition) both; }
.nazh-diet-zoom-in { animation: nazh-diet-zoom-in 500ms var(--nds-transition) both; }

/* ---------- Utilities ---------- */

.nazh-diet-hide { display: none !important; }
.nazh-diet-full { width: 100%; }
.nazh-diet-clip { overflow: hidden; }

.nazh-diet-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Diet / Medical ---------- */

.nazh-diet-plan-card {
	display: flex;
	flex-direction: column;
	gap: var(--nds-space-sm);
	padding: var(--nds-space-lg) var(--nds-space);
	border: 1px solid var(--nds-color-line);
	border-radius: var(--nds-radius-lg);
	background: var(--nds-color-surface);
	text-align: center;
}

.nazh-diet-plan-card-featured {
	border-color: var(--nds-color-primary);
	box-shadow: var(--nds-shadow);
}

.nazh-diet-price {
	font-family: var(--nds-font-title);
	font-size: var(--nds-text-2xl);
	font-weight: 700;
	color: var(--nds-color-primary);
	line-height: 1;
}

.nazh-diet-meal-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--nds-space-sm);
	padding-block: var(--nds-space-sm);
	border-bottom: 1px solid var(--nds-color-line);
}

.nazh-diet-doctor-card {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: var(--nds-space);
	align-items: center;
	padding: var(--nds-space);
	border-radius: var(--nds-radius);
	background: var(--nds-color-primary-soft);
}

.nazh-diet-stat {
	display: flex;
	flex-direction: column;
	gap: var(--nds-space-xs);
	text-align: center;
}

.nazh-diet-stat strong {
	font-size: var(--nds-text-xl);
	color: var(--nds-color-primary);
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	.nazh-diet-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.nazh-diet-grid-2,
	.nazh-diet-grid-3,
	.nazh-diet-grid-4 { grid-template-columns: minmax(0, 1fr); }

	.nazh-diet-section { padding-block: var(--nds-space-lg); }
	.nazh-diet-title { font-size: var(--nds-text-xl); }
	.nazh-diet-doctor-card { grid-template-columns: 1fr; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.nazh-diet-fade-in,
	.nazh-diet-zoom-in { animation: none; }

	.nazh-diet-hover,
	.nazh-diet-btn { transition: none; }

	.nazh-diet-hover:hover,
	.nazh-diet-btn:hover { transform: none; }
}
