/**
 * Design Engine Pro Safe Layer
 * Version: 3.9.7
 * CSS-only improvements built on stable 3.9.4 tokens.
 */
:root{
	--nsv-pro-soft-shadow:0 20px 50px rgba(15,23,42,.08);
	--nsv-pro-deep-shadow:0 28px 70px rgba(15,23,42,.14);
}

body{
	font-size:var(--shula-body-size,16px);
	line-height:var(--shula-line-height,1.8);
}

h1,h2,h3,h4,h5,h6,
.section-head h2,
.hero-title{
	font-weight:var(--shula-heading-weight,800);
}

.feature-card,
.compact-card,
.nsv-rm-card,
.nsv-events-card,
.nsv-modern-card{
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

/* Dynamic color intelligence using existing tokens */
.shula-design-preset-charity .feature-card,
.shula-design-preset-health .feature-card,
.shula-design-preset-quranic .feature-card,
.shula-design-preset-formal .feature-card{
	border-top:3px solid var(--shula-primary);
}

.shula-card-glass .feature-card,
.shula-card-glass .compact-card{
	background:rgba(255,255,255,var(--shula-glass-opacity,.88));
	backdrop-filter:blur(14px);
}

.shula-shadow-deep .feature-card,
.shula-shadow-deep .compact-card{
	box-shadow:var(--nsv-pro-deep-shadow);
}

.shula-shadow-soft .feature-card,
.shula-shadow-soft .compact-card{
	box-shadow:var(--nsv-pro-soft-shadow);
}

.shula-motion-lift .feature-card:hover,
.shula-motion-lift .compact-card:hover{
	transform:translateY(-5px);
}

.shula-motion-float .feature-card:hover,
.shula-motion-float .compact-card:hover{
	transform:translateY(-3px) scale(1.01);
}

.shula-motion-depth .feature-card:hover,
.shula-motion-depth .compact-card:hover{
	box-shadow:var(--nsv-pro-deep-shadow);
}

@media(max-width:782px){
	body{
		font-size:var(--shula-mobile-body-size,var(--shula-body-size,15px));
	}
	h1,h2,.section-head h2{
		font-size:var(--shula-mobile-heading-size,28px);
	}
	section{
		padding-top:var(--shula-mobile-gap,16px);
		padding-bottom:var(--shula-mobile-gap,16px);
	}
}

@media(min-width:783px) and (max-width:1024px){
	body{
		font-size:var(--shula-tablet-body-size,var(--shula-body-size,16px));
	}
	h1,h2,.section-head h2{
		font-size:var(--shula-tablet-heading-size,36px);
	}
}

@media(min-width:1025px){
	body{
		font-size:var(--shula-desktop-body-size,var(--shula-body-size,16px));
	}
	h1,h2,.section-head h2{
		font-size:var(--shula-desktop-heading-size,48px);
	}
}
