:root{
	--szp-bg:#0b1320;
	--szp-surface:#0f1a2b;
	--szp-text:#eaf1ff;
	--szp-muted:rgba(234,241,255,.72);
	--szp-border:rgba(234,241,255,.12);
	--szp-primary:#2d89ff;
	--szp-primary-2:#1766ff;
	--szp-cta:#ff6a2a;
	--szp-cta-2:#f45817;
	--szp-radius:14px;
	--szp-shadow:0 18px 60px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
	margin:0;
	font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",Arial,sans-serif;
	color:var(--szp-text);
	background:linear-gradient(180deg,var(--szp-bg),#07101d 70%);
}

/* Subtle animated background for dark sections (hero/products) */
body::before{
	content:"";
	position:fixed;
	inset:0;
	z-index:-1;
	background:
		radial-gradient(900px 520px at 18% 14%, rgba(45,137,255,.22), transparent 60%),
		radial-gradient(760px 520px at 82% 18%, rgba(255,106,42,.18), transparent 62%),
		radial-gradient(900px 600px at 56% 76%, rgba(23,102,255,.12), transparent 62%),
		linear-gradient(180deg, var(--szp-bg), #07101d 70%);
	filter:saturate(120%);
	transform:translate3d(0,0,0);
	animation:szp-bg-shift 18s ease-in-out infinite alternate;
}

@keyframes szp-bg-shift{
	0%{filter:hue-rotate(0deg) saturate(115%); transform:translate3d(0,0,0) scale(1)}
	50%{filter:hue-rotate(-6deg) saturate(130%); transform:translate3d(-1.2%, -0.8%, 0) scale(1.02)}
	100%{filter:hue-rotate(6deg) saturate(122%); transform:translate3d(1.2%, 0.8%, 0) scale(1.02)}
}

@media (prefers-reduced-motion: reduce){
	body::before{animation:none}
}

a{color:inherit}
.szp-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.szp-main{min-height:70vh}
.szp-muted{color:var(--szp-muted)}

.szp-header{
	position:sticky;top:0;z-index:50;
	background:rgba(7,16,29,.82);
	backdrop-filter:saturate(160%) blur(10px);
	border-bottom:1px solid var(--szp-border);
}
.szp-header__inner{display:flex;align-items:center;gap:18px;padding:14px 0}
.szp-site-title{font-weight:800;letter-spacing:.2px;text-decoration:none}
.szp-logo img{height:38px;width:auto;display:block}

.szp-nav{flex:1}
.szp-nav__menu{list-style:none;display:flex;gap:18px;margin:0;padding:0;justify-content:center;align-items:center}
.szp-nav__menu a{opacity:.92;text-decoration:none;font-weight:600}
.szp-nav__menu a:hover{opacity:1}

.szp-header__actions{display:flex;align-items:center;gap:12px}
.szp-button{
	display:inline-flex;align-items:center;justify-content:center;
	padding:10px 14px;border-radius:999px;
	text-decoration:none;font-weight:800;letter-spacing:.2px;
	border:1px solid transparent;
	transition:transform .12s ease,background .12s ease,border-color .12s ease,opacity .12s ease;
}
.szp-button:hover{transform:translateY(-1px)}
.szp-button--primary{background:var(--szp-primary);color:#fff}
.szp-button--primary:hover{background:var(--szp-primary-2)}
.szp-button--cta{background:var(--szp-cta);color:#101827}
.szp-button--cta:hover{background:var(--szp-cta-2);color:#101827}

.szp-cart{
	position:relative;
	display:inline-flex;align-items:center;justify-content:center;
	width:42px;height:42px;border-radius:999px;
	background:rgba(255,255,255,.06);
	border:1px solid var(--szp-border);
	text-decoration:none;
}
.szp-cart:hover{background:rgba(255,255,255,.1)}
.szp-cart__badge{
	position:absolute;top:-6px;right:-6px;
	min-width:20px;height:20px;padding:0 6px;
	border-radius:999px;
	background:var(--szp-primary);
	color:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:12px;font-weight:900;
	border:2px solid rgba(7,16,29,.9);
}

.szp-hero{padding:54px 0 34px}
.szp-hero__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.szp-hero__title{margin:0 0 14px;font-size:44px;line-height:1.08;letter-spacing:-.4px}
.szp-hero__text{color:var(--szp-muted);font-size:16px;line-height:1.7;margin:0 0 18px;max-width:56ch}
.szp-hero__media{display:flex;justify-content:flex-end}
.szp-hero__img,.szp-hero__placeholder{
	width:min(520px,100%);
	aspect-ratio:4/3;
	border-radius:var(--szp-radius);
	background:linear-gradient(135deg,rgba(255,106,42,.25),rgba(45,137,255,.18));
	box-shadow:var(--szp-shadow);
	border:1px solid var(--szp-border);
	object-fit:cover;
}

.szp-products{padding:36px 0 70px}
.szp-section-title{
	margin:0 0 22px;
	text-align:center;
	font-size:22px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:rgba(234,241,255,.85);
}
.szp-section-title--dark{color:rgba(17,24,39,.86)}

.szp-testimonials{
	padding:62px 0 74px;
	background:#fff;
	color:#111827;
}
.szp-testimonials__lead{
	margin:-10px auto 26px;
	max-width:64ch;
	text-align:center;
	color:rgba(17,24,39,.72);
	line-height:1.7;
}
.szp-testimonials__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px 40px;
	padding-top:6px;
}
.szp-testimonial{text-align:center}
.szp-testimonial__avatar{display:flex;justify-content:center;margin-bottom:10px}
.szp-testimonial__img,
.szp-testimonial__img--placeholder{
	width:104px;height:104px;border-radius:999px;
	display:block;
	object-fit:cover;
	background:linear-gradient(135deg,rgba(45,137,255,.22),rgba(255,106,42,.18));
	border:1px solid rgba(17,24,39,.12);
	box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.szp-testimonial__name{
	margin:10px 0 10px;
	font-size:16px;
	font-weight:900;
	color:rgba(17,24,39,.9);
}
.szp-testimonial__text{
	margin:0 auto;
	max-width:40ch;
	color:rgba(17,24,39,.70);
	font-size:14px;
	line-height:1.75;
}

.szp-content{padding:34px 0 70px}
.szp-article,.szp-page,.szp-single{
	background:rgba(255,255,255,.04);
	border:1px solid var(--szp-border);
	border-radius:var(--szp-radius);
	padding:18px 18px;
}
.szp-article + .szp-article{margin-top:14px}
.szp-article__title{margin:0}
.szp-article__title a{text-decoration:none}

.szp-footer{border-top:1px solid var(--szp-border);padding:26px 0;background:rgba(0,0,0,.15)}
.szp-footer__copy{margin:0;color:var(--szp-muted);text-align:center}
.szp-footer__link{color:rgba(234,241,255,.92);text-decoration:underline;text-underline-offset:3px}
.szp-footer__link:hover{opacity:1;color:#fff}

/* WooCommerce product grid */
.szp-product-grid,
.woocommerce ul.products,
.szp-products ul.products{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}

/* WooCommerce adds clearfix pseudo elements for floats; they break CSS grid layout */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.szp-products ul.products::before,
.szp-products ul.products::after{
	content:none !important;
	display:none !important;
}
.woocommerce ul.products,
.szp-products ul.products{margin:0;padding:0;list-style:none}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.szp-products ul.products li.product{
	float:none !important;
	width:auto !important;
	margin:0 !important;
	background:rgba(255,255,255,.04);
	border:1px solid var(--szp-border);
	border-radius:var(--szp-radius);
	padding:14px;
	box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.woocommerce ul.products li.product a{color:inherit;text-decoration:none}
.woocommerce ul.products li.product img{
	border-radius:12px;
	margin:0 0 10px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:18px;
	line-height:1.25;
	margin:0 0 8px;
}
.woocommerce ul.products li.product .price{color:rgba(234,241,255,.9);font-weight:900}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
	background:var(--szp-primary);
	color:#fff;
	border-radius:999px;
	padding:10px 14px;
	font-weight:900;
	border:none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--szp-primary-2);color:#fff}

@media (max-width: 940px){
	.szp-hero__inner{grid-template-columns:1fr;gap:22px}
	.szp-hero__media{justify-content:flex-start}
	.szp-nav__menu{justify-content:flex-start;flex-wrap:wrap}
	.szp-product-grid,
	.woocommerce ul.products,
	.szp-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
	.szp-hero__title{font-size:36px}
	.szp-testimonials__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 26px}
}
@media (max-width: 560px){
	.szp-header__inner{flex-wrap:wrap}
	.szp-nav{order:3;flex-basis:100%}
	.szp-nav__menu{justify-content:flex-start}
	.szp-product-grid,
	.woocommerce ul.products,
	.szp-products ul.products{grid-template-columns:1fr}
	.szp-hero__title{font-size:30px}
	.szp-testimonials{padding:46px 0 60px}
	.szp-testimonials__grid{grid-template-columns:1fr}
}

