/**
 * Ngo Shula VIP 4.6.0 visual polish layer.
 * Conservative CSS-only refinement: preserves existing markup, settings and features.
 */
:root{
	--nsv-polish-radius-xl:28px;
	--nsv-polish-shadow-soft:0 18px 42px rgba(15,23,42,.08);
	--nsv-polish-shadow-card:0 12px 28px rgba(15,23,42,.07);
	--nsv-polish-border:1px solid rgba(15,118,110,.10);
}

/* More balanced rhythm for large homepage glass sections without changing structure. */
.home .nsv-section,
.home .shula-section,
.home .nsv-home-section,
.home section[class*="nsv-"]{
	scroll-margin-top:96px;
}

/* Goals cards: keep the current builder, but make the cards tighter, clearer and more balanced. */
.nsv-goals-standalone-box{
	box-shadow:var(--nsv-polish-shadow-soft)!important;
}
.nsv-goals-box-head{
	margin-bottom:18px!important;
}
.nsv-goals-box-head h3{
	letter-spacing:-.02em;
}
.nsv-goals-items-grid{
	align-items:stretch;
}
.nsv-goal-item-card{
	position:relative;
	min-height:132px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	box-shadow:var(--nsv-polish-shadow-card)!important;
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.nsv-goal-item-card:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 34px rgba(15,23,42,.09)!important;
	border-color:rgba(15,118,110,.18)!important;
}
.nsv-goal-item-icon{
	position:absolute;
	inset-inline-start:18px;
	top:16px;
	margin:0!important;
}
.nsv-goal-item-card h4{
	padding-inline-start:56px;
	line-height:1.75!important;
	text-wrap:balance;
}
.nsv-goal-item-card p{
	padding-inline-start:56px;
	font-size:14px;
}

/* News empty state: make the default WordPress message look intentional. */
.nsv-news-slider,
.news-mobile-slider,
.nsv-news-mobile-slider{
	min-height:72px;
}
.nsv-news-slider:has(.swiper-slide:only-child),
.news-mobile-slider:has(.swiper-slide:only-child){
	border-radius:24px;
}
.home .nsv-news-slider p,
.home .news-mobile-slider p,
.home [class*="news"] p:only-child{
	border-radius:18px;
	padding:14px 18px;
	background:rgba(15,118,110,.045);
	border:1px dashed rgba(15,118,110,.18);
	color:#64748b;
}

/* Footer polish: preserve all widgets/cards, but reduce visual heaviness and improve balance. */
html body .nsv-footer-pro{
	margin-top:30px;
	padding:46px 0 20px;
	position:relative;
	overflow:hidden;
}
html body .nsv-footer-pro::before{
	content:"";
	position:absolute;
	inset:auto -70px -110px auto;
	width:260px;
	height:260px;
	border-radius:999px;
	background:radial-gradient(circle,rgba(20,184,166,.16),transparent 66%);
	pointer-events:none;
}
html body .nsv-footer-grid{
	position:relative;
	z-index:1;
	grid-template-columns:minmax(230px,1.1fr) repeat(auto-fit,minmax(190px,.9fr));
	gap:16px;
}
html body .nsv-footer-card{
	min-height:116px;
	border-radius:22px;
	padding:20px;
	box-shadow:0 14px 34px rgba(0,0,0,.10);
	background-color:rgba(255,255,255,.045);
}
html body .nsv-footer-brand h2{
	font-size:clamp(24px,3vw,36px)!important;
}
html body .nsv-footer-card h3{
	font-size:18px!important;
}
html body .nsv-footer-actions a,
html body .nsv-footer-dashboard-btn,
html body .nsv-footer-logout-btn{
	min-height:40px;
}
html body .nsv-footer-pro .footer-bottom{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	text-align:initial;
}

/* Mobile rhythm: reduce the tall vertical gaps visible in screenshots. */
@media(max-width:782px){
	:root{
		--nsv-polish-radius-xl:24px;
	}
	.home .nsv-section,
	.home .shula-section,
	.home .nsv-home-section,
	.home section[class*="nsv-"]{
		margin-block:18px!important;
	}
	.home .nsv-section-title,
	.home .section-title,
	.home [class*="section-head"],
	.home [class*="section-header"]{
		margin-bottom:16px!important;
	}
	.nsv-goals-standalone-box{
		width:calc(100% - 24px)!important;
		margin-top:18px!important;
		padding:18px!important;
		border-radius:24px!important;
	}
	.nsv-goals-box-icon{
		width:42px!important;
		height:42px!important;
		border-radius:15px!important;
		font-size:22px!important;
	}
	.nsv-goals-box-head{
		margin-bottom:14px!important;
	}
	.nsv-goals-box-head h3{
		font-size:26px!important;
		margin-bottom:6px!important;
	}
	.nsv-goals-box-head p{
		font-size:14px!important;
		line-height:1.8!important;
	}
	.nsv-goals-items-grid{
		gap:12px!important;
	}
	.nsv-goal-item-card{
		min-height:auto;
		padding:18px 18px 18px!important;
		border-radius:20px!important;
	}
	.nsv-goal-item-icon{
		width:38px!important;
		height:38px!important;
		font-size:20px!important;
		inset-inline-start:16px;
		top:15px;
	}
	.nsv-goal-item-card h4{
		font-size:17px!important;
		padding-inline-start:50px;
		margin-bottom:4px!important;
	}
	.nsv-goal-item-card p{
		padding-inline-start:50px;
		font-size:13px!important;
	}
	html body .nsv-footer-pro{
		margin-top:22px;
		padding:34px 0 82px!important;
	}
	html body .nsv-footer-grid{
		grid-template-columns:1fr!important;
		gap:12px!important;
	}
	html body .nsv-footer-card{
		min-height:auto;
		padding:18px!important;
		border-radius:20px!important;
		text-align:center;
	}
	html body .nsv-footer-actions{
		justify-content:center;
	}
	html body .nsv-footer-pro .footer-bottom{
		flex-direction:column;
		justify-content:center;
		text-align:center;
		margin-top:16px;
		padding-top:14px;
		font-size:13px;
	}
}

@media(prefers-reduced-motion:reduce){
	.nsv-goal-item-card{
		transition:none!important;
	}
	.nsv-goal-item-card:hover{
		transform:none!important;
	}
}
