/**
 * ToolZora Home & Tools listing styles
 */
.tz-home-hero .tz-hero-title { max-width: 800px; margin-left: auto; margin-right: auto; }
.tz-home-stats {
	display: flex;
	justify-content: center;
	gap: 2.5rem;
	margin-top: 2.5rem;
	flex-wrap: wrap;
}
.tz-home-stat {
	text-align: center;
}
.tz-home-stat strong {
	display: block;
	font-size: 1.75rem;
	font-weight: 800;
	background: var(--tz-gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.tz-home-stat span {
	font-size: 0.8125rem;
	color: var(--tz-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.tz-home-categories,
.tz-home-featured,
.tz-home-why {
	padding: 3rem 0;
}
.tz-home-why { background: var(--tz-bg-elevated); border-top: 1px solid var(--tz-border); }
.tz-category-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) {
	.tz-category-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.tz-category-grid { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
}
.tz-category-card {
	display: block;
	padding: 1.5rem;
	background: var(--tz-glass-bg);
	backdrop-filter: blur(16px);
	border: 1px solid var(--tz-glass-border);
	border-radius: var(--tz-radius-sm);
	text-decoration: none;
	color: inherit;
	box-shadow: var(--tz-shadow);
	transition: all 0.2s ease;
}
.tz-category-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--tz-shadow-lg);
	border-color: rgba(99, 102, 241, 0.3);
}
.tz-cat-icon { font-size: 1.75rem; display: block; margin-bottom: 0.75rem; }
.tz-category-card h3 {
	font-size: 1.0625rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
	color: var(--tz-text);
}
.tz-category-card p {
	font-size: 0.875rem;
	color: var(--tz-text-muted);
	margin: 0;
	line-height: 1.45;
}
.tz-why-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 768px) {
	.tz-why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.tz-why-grid { grid-template-columns: repeat(4, 1fr); }
}
.tz-why-card {
	padding: 1.5rem;
	background: var(--tz-bg-card-solid);
	border: 1px solid var(--tz-border);
	border-radius: var(--tz-radius-sm);
}
.tz-why-card strong {
	display: block;
	font-size: 1rem;
	margin-bottom: 0.5rem;
	color: var(--tz-text);
}
.tz-why-card p {
	font-size: 0.9rem;
	color: var(--tz-text-secondary);
	margin: 0;
	line-height: 1.55;
}

/* Calculator form styles */
.tz-form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
}
@media (min-width: 640px) {
	.tz-form-grid { grid-template-columns: repeat(2, 1fr); }
}
.tz-form-group {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.tz-form-group label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--tz-text-secondary);
}
.tz-form-group .tz-input,
.tz-form-group .tz-select,
.tz-form-group .tz-number {
	width: 100%;
	padding: 0.65rem 0.85rem;
	font-size: 1rem;
	border: 1px solid var(--tz-border-strong);
	border-radius: var(--tz-radius-xs);
	background: var(--tz-bg);
	color: var(--tz-text);
	font-family: inherit;
	box-sizing: border-box;
}
.tz-form-group .tz-input:focus,
.tz-form-group .tz-select:focus,
.tz-form-group .tz-number:focus {
	outline: none;
	border-color: var(--tz-primary);
	box-shadow: 0 0 0 3px var(--tz-primary-light);
}
.tz-result-card {
	margin: 0 1.5rem 1.5rem;
	padding: 1.5rem;
	background: var(--tz-primary-light);
	border-radius: var(--tz-radius-sm);
	border: 1px solid rgba(99, 102, 241, 0.2);
	text-align: center;
}
.tz-result-value {
	font-size: 2rem;
	font-weight: 800;
	color: var(--tz-primary);
	font-variant-numeric: tabular-nums;
}
.tz-result-label {
	font-size: 0.875rem;
	color: var(--tz-text-muted);
	margin-top: 0.25rem;
}
.tz-result-details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 0.75rem;
	margin-top: 1rem;
	text-align: center;
}
.tz-result-details div {
	padding: 0.75rem;
	background: var(--tz-bg-card-solid);
	border-radius: var(--tz-radius-xs);
}
.tz-result-details strong {
	display: block;
	font-size: 1.125rem;
	color: var(--tz-text);
}
.tz-result-details span {
	font-size: 0.75rem;
	color: var(--tz-text-muted);
}
.tz-disclaimer {
	font-size: 0.8125rem;
	color: var(--tz-text-muted);
	padding: 0 1.5rem 1.25rem;
	line-height: 1.5;
}
.tz-strength-bar {
	height: 8px;
	background: var(--tz-border);
	border-radius: 999px;
	overflow: hidden;
	margin-top: 0.5rem;
}
.tz-strength-fill {
	height: 100%;
	border-radius: 999px;
	transition: width 0.3s ease, background 0.3s ease;
}
.tz-strength-weak { background: #ef4444; }
.tz-strength-fair { background: #f59e0b; }
.tz-strength-good { background: #3b82f6; }
.tz-strength-strong { background: #10b981; }
