/*
Theme Name: EZWeight
Theme URI: https://example.com/ezweight
Author: EZWeight Dev
Author URI: https://example.com
Description: Fintech-grade WordPress theme (EZWeight) — clean, professional, and secure by design.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ezweight
*/

:root{
	/* Color palette */
	--color-primary: #6A64A7;
	--color-light-lavender: #C7C3F0;
	--color-soft-blue: #9DD6F5;
	--color-warm-gray: #EAEAF2;
	--color-dark-text: #2B2D42;

	/* Spacing scale */
	--space-xs: 6px;
	--space-sm: 12px;
	--space-md: 20px;
	--space-lg: 36px;

	/* Radii */
	--radius-sm: 6px;
	--radius-md: 12px;

	/* Typography */
	--font-sans: "Nunito", sans-serif;
	--heading-weight: 600;
	--body-weight: 400;
}
a {
	text-decoration: none;
}
/* Utility Nunito classes for explicit weight usage */
.nunito-200{font-family:"Nunito",sans-serif;font-optical-sizing:auto;font-weight:200;font-style:normal}
.nunito-300{font-family:"Nunito",sans-serif;font-optical-sizing:auto;font-weight:300;font-style:normal}
.nunito-400{font-family:"Nunito",sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal}
.nunito-600{font-family:"Nunito",sans-serif;font-optical-sizing:auto;font-weight:600;font-style:normal}
.nunito-700{font-family:"Nunito",sans-serif;font-optical-sizing:auto;font-weight:700;font-style:normal}
.nunito-800{font-family:"Nunito",sans-serif;font-optical-sizing:auto;font-weight:800;font-style:normal}
.nunito-900{font-family:"Nunito",sans-serif;font-optical-sizing:auto;font-weight:900;font-style:normal}

/* Reset / base */
*{box-sizing:border-box}
html,body,#page{height:100%}
body{
	font-family: 'Inter', sans-serif;
	font-weight:var(--body-weight);
	color:var(--color-dark-text);
	background:linear-gradient(180deg, #FBFBFE 0%, var(--color-warm-gray) 100%);
	margin:0;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	line-height: 1.2;
}

/* Main container helpers */
.site-container{
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	padding-left:var(--space-md);
	padding-right:var(--space-md);
}

/* Header */
.site-header{
	background: linear-gradient(90deg, rgba(106,100,167,0.06), rgba(157,214,245,0.04));
	border-bottom: 1px solid rgba(43,45,66,0.04);
}
.site-header .site-header-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:16px 0;
}
.site-logo{
	display:flex;
	align-items:center;
	gap:12px;
	text-decoration:none;
	color:var(--color-dark-text);
}
.site-logo .logo-mark{
	width:42px;
	height:42px;
	border-radius:10px;
	background:linear-gradient(135deg,var(--color-primary),var(--color-light-lavender));
	box-shadow: 0 6px 18px rgba(106,100,167,0.12), inset 0 -6px 12px rgba(255,255,255,0.06);
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:700;
	color:#fff;
	font-size:16px;
	letter-spacing:0.4px;
}
.site-logo .logo-text{
	font-weight:var(--heading-weight);
	font-size:18px;
}

/* CTA */
.header-cta{
	display:inline-flex;
	align-items:center;
	gap:10px;
}
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:10px 16px;
	border-radius:var(--radius-md);
	font-weight:600;
	border:0;
	cursor:pointer;
}
.btn-primary{
	background:var(--color-primary);
	color:#fff;
	box-shadow: 0 8px 24px rgba(106,100,167,0.12);
}
.btn-outline{
	background:transparent;
	color:var(--color-primary);
	border:1px solid rgba(106,100,167,0.12);
}

/* Footer */
.site-footer{
	margin-top:var(--space-lg);
	background:linear-gradient(180deg, rgba(43,45,66,0.02), rgba(106,100,167,0.02));
	padding:32px 0;
	border-top:1px solid rgba(43,45,66,0.04);
}
.site-footer .footer-inner{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:24px;
	flex-wrap:wrap;
}
.footer-brand{
	display:flex;
	align-items:center;
	gap:12px;
}
.footer-links{
	display:flex;
	gap:18px;
	flex-wrap:wrap;
}
.footer-copyright{
	margin-top:12px;
	color:rgba(43,45,66,0.6);
	font-size:14px;
}

/* Accessibility and utility */
.visually-hidden{
	position:absolute!important;
	height:1px;width:1px;
	overflow:hidden;clip:rect(1px,1px,1px,1px);
	white-space:nowrap;border:0;padding:0;margin:-1px;
}

/* Responsive */
@media (max-width:768px){
	.site-header .site-header-inner{padding:12px 0}
	.site-logo .logo-text{display:none}
	.footer-links{width:100%}
	.site-footer .footer-inner{flex-direction:column;align-items:center}
}

