/*
Theme Name: Nuzu Marketing
Theme URI: https://nuzu.ms/nuzu
Author: Nuzu Net Media
Author URI: https://nuzu.ms/nuzu
Description: Nuzu Marketing WordPress theme converted from the Lovable React design. Navy + neon-lime brand system, swirl backgrounds, and modular home sections.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nuzu-marketing
Tags: business, marketing, one-column, custom-logo, custom-menu, featured-images, translation-ready
*/

/* All visual styling is delivered by Tailwind (loaded via functions.php) plus the design tokens in assets/css/tokens.css. */


/*
 * Long-form WordPress content
 *
 * Scoped to .prose so these rules improve editor-authored page/post content
 * without changing the theme shell, navigation, heroes, cards, sidebars, or footer.
 * The rhythm and alignment behavior are adapted from the legacy live Nuzu theme,
 * while typography and colors remain aligned with the current design system.
 */
.prose {
	font-size: 1rem;
	line-height: 1.6;
	color: hsl(var(--foreground));
}

.prose::after {
	display: table;
	clear: both;
	content: "";
}

.prose > :first-child {
	margin-top: 0;
}

.prose > :last-child {
	margin-bottom: 0;
}

.prose p {
	margin: 0 0 1.25rem;
}

.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
	clear: both;
	color: hsl(var(--foreground));
	line-height: 1.25;
	text-wrap: balance;
}

.prose h2 {
	margin: 2.25rem 0 0.75rem;
	font-size: clamp(1.65rem, 2.5vw, 2rem);
	font-weight: 700;
}

.prose h3 {
	margin: 1.75rem 0 0.625rem;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 650;
}

.prose h4 {
	margin: 1.5rem 0 0.5rem;
	font-size: 1.125rem;
	font-weight: 650;
}

.prose ul,
.prose ol {
	margin: 0 0 1.25rem 1.5rem;
	padding: 0;
}

.prose ul {
	list-style: disc;
}

.prose ol {
	list-style: decimal;
}

.prose li {
	margin: 0.35rem 0;
	padding-left: 0.25rem;
}

.prose li > ul,
.prose li > ol {
	margin-top: 0.35rem;
	margin-bottom: 0;
}

.prose a:not(.btn) {
	color: hsl(var(--primary));
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.prose a:not(.btn):hover,
.prose a:not(.btn):focus-visible {
	color: hsl(var(--secondary));
}

.prose strong,
.prose b {
	font-weight: 700;
}

.prose blockquote {
	margin: 1.75rem 0;
	padding: 0.25rem 0 0.25rem 1.25rem;
	border-left: 4px solid hsl(var(--secondary));
	color: hsl(var(--muted-foreground));
	font-style: italic;
}

.prose blockquote > :last-child {
	margin-bottom: 0;
}

.prose hr {
	clear: both;
	margin: 2rem 0;
	border: 0;
	border-top: 1px solid hsl(var(--border));
}

.prose img {
	max-width: 100%;
	height: auto;
	border-radius: 0.5rem;
}

.prose .alignleft {
	float: left;
	margin: 0.35rem 1.625rem 1.25rem 0;
}

.prose .alignright {
	float: right;
	margin: 0.35rem 0 1.25rem 1.625rem;
}

.prose .aligncenter {
	display: block;
	clear: both;
	margin: 1.5rem auto;
}

.prose .alignnone {
	margin: 0 0 1.25rem;
}

.prose .wp-caption {
	max-width: 100%;
	padding: 0.625rem;
	border: 1px solid hsl(var(--border));
	border-radius: 0.5rem;
	background: hsl(var(--muted));
}

.prose .wp-caption img {
	display: block;
	margin: 0;
}

.prose .wp-caption-text,
.prose figcaption {
	margin: 0.625rem 0 0;
	color: hsl(var(--muted-foreground));
	font-size: 0.875rem;
	line-height: 1.45;
}

.prose table {
	width: 100%;
	margin: 1.5rem 0;
	border-collapse: collapse;
}

.prose th,
.prose td {
	padding: 0.75rem;
	border: 1px solid hsl(var(--border));
	text-align: left;
	vertical-align: top;
}

.prose th {
	background: hsl(var(--muted));
	font-weight: 700;
}

@media (max-width: 640px) {
	.prose .alignleft,
	.prose .alignright,
	.prose .wp-caption.alignleft,
	.prose .wp-caption.alignright {
		display: block;
		float: none;
		width: auto !important;
		margin: 1.25rem auto;
	}
}
