/* Premium homepage refinements for the Noodle Stroodle custom theme. */
body.home .ns-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: 0 7px 24px rgba(16, 32, 25, .07);
}
body.admin-bar.home .ns-site-header { top: 32px; }

.ns-home-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	background: rgba(18, 47, 38, .14);
	border: 1px solid rgba(18, 47, 38, .14);
	border-radius: 14px;
	overflow: hidden;
}
.ns-home-trust li {
	display: flex;
	align-items: center;
	gap: 11px;
	min-height: 76px;
	padding: 14px 18px;
	background: #fffdf8;
}
.ns-home-trust svg { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: #d69a18; stroke-width: 1.8; }
.ns-home-trust strong,.ns-home-trust span { display: block; }
.ns-home-trust strong { margin-bottom: 2px; font-size: 14px; color: #172a22; }
.ns-home-trust span { font-size: 12px; line-height: 1.35; color: #657069; }
.ns-home-trust-wrap { margin-top: -22px; padding-bottom: 56px; position: relative; z-index: 3; }

body.home .ns-hero-image-small {
	width: min(37%, 310px) !important;
	transform: rotate(-3deg);
	border: 9px solid #fff;
	box-shadow: 0 16px 36px rgba(24,42,33,.18);
}
body.home .ns-hero-image-small img { width: 100%; height: 100%; object-fit: cover; }

body.home .ns-product-image img,
body.home .woocommerce ul.products li.product img {
	image-rendering: auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.home .ns-product-card h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: 2.7em;
	line-height: 1.35 !important;
}
body.home .ns-product-category {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
body.home .ns-product-action { display: none !important; }
body.home .ns-product-button .button { width: 100%; text-align: center; }

.ns-home-search {
	display: flex;
	align-items: center;
	width: clamp(160px, 15vw, 225px);
	margin-left: 14px;
	border: 1px solid rgba(19, 46, 36, .18);
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}
.ns-home-search input { min-width: 0; width: 100%; height: 40px; padding: 0 4px 0 15px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 13px; }
.ns-home-search button { width: 40px; height: 40px; flex: 0 0 40px; padding: 0; border: 0; background: transparent; color: #172a22; cursor: pointer; }
.ns-home-search svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }

body.home .ns-home-quote { display: none !important; }
body.home .ns-business-workspace { grid-template-columns: minmax(0, 620px) minmax(300px, 1fr) !important; align-items: center; }
.ns-business-home-cta { padding: clamp(26px, 4vw, 50px); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.06); color: #fff; }
.ns-business-home-cta h3 { margin: 0 0 15px; color: #fff; font-size: clamp(28px,3vw,42px); line-height: 1.08; }
.ns-business-home-cta p { margin: 0 0 22px; color: rgba(255,255,255,.78); line-height: 1.65; }
.ns-business-home-cta .ns-button { background: #e0a321; color: #172a22; border-color: #e0a321; }

.ns-home-reviews,.ns-home-faq { padding: clamp(70px,8vw,110px) 0; }
.ns-home-reviews { background: #fffaf0; }
.ns-home-review-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.ns-home-review-head h2,.ns-home-faq h2 { margin: 0; font-size: clamp(40px,5vw,66px); line-height: 1; }
.ns-home-review-score { display: flex; align-items: center; gap: 10px; margin-top: 14px; }
.ns-home-review-score .stars,.ns-home-review-card .stars { color: #e1a01c; letter-spacing: 2px; }
.ns-home-review-score small { color: #647069; }
.ns-home-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.ns-home-review-card { margin: 0; padding: 26px; border: 1px solid rgba(19,46,36,.12); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(24,42,33,.05); }
.ns-home-review-card blockquote { margin: 15px 0 22px; padding: 0; border: 0; font-size: 15px; line-height: 1.7; }
.ns-home-review-card footer strong,.ns-home-review-card footer span,.ns-home-review-card footer small { display: block; }
.ns-home-review-card footer span { margin-top: 3px; }
.ns-home-review-card footer small { margin-top: 5px; color: #737c77; }
.ns-home-review-note { margin: 20px 0 0; color: #6d7671; font-size: 12px; }

.ns-home-faq { background: #f7f4ed; }
.ns-home-faq-intro { max-width: 700px; margin: 12px 0 32px; color: #5f6a64; font-size: 17px; line-height: 1.7; }
.ns-home-faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 18px; }
.ns-home-faq details { border: 1px solid rgba(19,46,36,.12); border-radius: 12px; background: #fff; overflow: hidden; }
.ns-home-faq summary { display: flex; justify-content: space-between; gap: 15px; padding: 19px 20px; font-weight: 700; cursor: pointer; list-style: none; }
.ns-home-faq summary::-webkit-details-marker { display: none; }
.ns-home-faq summary::after { content: '+'; color: #d69a18; font-size: 23px; line-height: .8; }
.ns-home-faq details[open] summary::after { content: '−'; }
.ns-home-faq details p { margin: 0; padding: 0 20px 20px; color: #59655f; line-height: 1.65; }

@media (max-width: 1100px) { .ns-home-search { display: none; } }
@media (max-width: 900px) {
	body.admin-bar.home .ns-site-header { top: 46px; }
	.ns-home-trust { grid-template-columns: repeat(2,minmax(0,1fr)); }
	body.home .ns-business-workspace { grid-template-columns: 1fr !important; }
	.ns-home-review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	body.admin-bar.home .ns-site-header { top: 0; }
	.ns-home-trust-wrap { margin-top: 0; padding-bottom: 38px; }
	.ns-home-trust { grid-template-columns: 1fr; }
	.ns-home-trust li { min-height: 66px; }
	.ns-home-review-head { align-items: flex-start; flex-direction: column; }
	.ns-home-faq-grid { grid-template-columns: 1fr; }
}

/* REVIEW CONTRAST 4.2.1 — accessible customer feedback cards */
.ns-home-reviews {
	background: #fff7e8 !important;
	color: #1e211c !important;
}
.ns-home-reviews h2,
.ns-home-reviews blockquote,
.ns-home-reviews footer strong,
.ns-home-reviews footer span {
	color: #1e211c !important;
}
.ns-home-reviews .ns-eyebrow {
	color: #476554 !important;
}
.ns-home-reviews .ns-home-review-grid article,
.ns-home-reviews .ns-home-review-card {
	background: #ffffff !important;
	border: 1px solid rgba(30, 33, 28, .16) !important;
	border-radius: 20px !important;
	box-shadow: 0 14px 34px rgba(30, 33, 28, .08) !important;
}
.ns-home-reviews .ns-stars,
.ns-home-reviews .stars {
	color: #b67900 !important;
}
.ns-home-reviews .ns-review-disclosure,
.ns-home-reviews .ns-home-review-note,
.ns-home-reviews footer small {
	color: #59615c !important;
	opacity: 1 !important;
}
.ns-home-reviews .ns-button-outline {
	background: #ffffff !important;
	border-color: #1e211c !important;
	color: #1e211c !important;
}
.ns-home-reviews .ns-button-outline:hover,
.ns-home-reviews .ns-button-outline:focus-visible {
	background: #1e211c !important;
	color: #ffffff !important;
}
@media (max-width: 760px) {
	.ns-home-reviews .ns-home-review-grid article,
	.ns-home-reviews .ns-home-review-card {
		padding: 24px 22px !important;
	}
	.ns-home-reviews blockquote {
		font-size: 20px !important;
		line-height: 1.5 !important;
	}
}
