/* ==========================================================================
   Web CircleZ Pro — Global typography normalization
   ========================================================================== */

/* Base */
p,
li,
.wcz-content-prose,
.wcz-content-prose p {
	font-size: var(--wcz-text-base);
	line-height: var(--wcz-leading-body);
}

small,
.wcz-text-xs {
	font-size: var(--wcz-text-xs);
}

/* Section hierarchy */
.wcz-section-label {
	font-size: var(--wcz-text-xs);
	letter-spacing: 0.1em;
}

.wcz-section-title {
	font-size: var(--wcz-section-title-size);
	line-height: var(--wcz-leading-tight);
}

.wcz-section-desc {
	font-size: var(--wcz-text-lg);
	line-height: var(--wcz-leading-body);
}

/* Hero & banners */
.wcz-hero-live-title,
.wcz-hero-title {
	font-size: var(--wcz-hero-title-size);
	line-height: var(--wcz-leading-snug);
}

.wcz-page-hero-banner-title {
	font-size: var(--wcz-banner-title);
	line-height: var(--wcz-leading-tight);
}

.wcz-page-hero-banner-desc,
.wcz-hero-live-subtitle,
.wcz-hero-desc {
	font-size: var(--wcz-text-lg);
	line-height: var(--wcz-leading-body);
}

/* Navigation & header */
.wcz-logo-wordmark {
	font-size: var(--wcz-text-xl);
}

.wcz-nav-list > li > a {
	font-size: var(--wcz-text-sm);
}

.wcz-top-bar,
.wcz-top-bar a {
	font-size: var(--wcz-topbar-font-size, 0.6875rem);
}

/* Cards & grids */
.wcz-core-card h3,
.wcz-service-card h3,
.wcz-quick-card h3,
.wcz-bento-item h3,
.wcz-feature-showcase h3,
.wcz-hero-pillar h3,
.wcz-hero-live-item h3 {
	font-size: var(--wcz-text-md);
	line-height: var(--wcz-leading-snug);
}

.wcz-core-card p,
.wcz-service-card p,
.wcz-quick-card p,
.wcz-bento-item p,
.wcz-feature-showcase p,
.wcz-hero-pillar p,
.wcz-hero-live-item p {
	font-size: var(--wcz-text-base);
	line-height: var(--wcz-leading-body);
}

/* Buttons */
.wcz-btn {
	font-size: 0.875rem;
}

.wcz-btn-sm {
	font-size: 0.8125rem;
}

.wcz-btn-lg {
	font-size: 0.9375rem;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
select,
textarea,
.wpcf7-form-control {
	font-size: var(--wcz-text-base);
	line-height: var(--wcz-leading-snug);
}

label,
.wpcf7-form label {
	font-size: var(--wcz-text-sm);
}

/* Footer */
.wcz-footer-col h4,
.wcz-footer-widget-title {
	font-size: var(--wcz-text-md);
}

.wcz-footer-col a,
.wcz-footer-col p,
.wcz-footer-links a {
	font-size: var(--wcz-text-sm);
}

.wcz-footer-bottom,
.wcz-footer-copyright {
	font-size: var(--wcz-text-xs);
}

/* Homepage CTA */
.wcz-home-cta-title {
	font-size: clamp(1.875rem, 3.5vw, 2.75rem);
}

.wcz-home-cta-desc {
	font-size: var(--wcz-text-lg);
}

.wcz-home-cta-perks li {
	font-size: var(--wcz-text-sm);
}

.wcz-home-cta-btn {
	font-size: 0.8125rem;
}

.wcz-home-cta-stat strong {
	font-size: clamp(1.875rem, 3vw, 2.25rem);
}

.wcz-home-cta-stat span,
.wcz-home-cta-chip {
	font-size: var(--wcz-text-xs);
}

/* Service & pricing pages */
.wcz-service-live-intro h2,
.wcz-pricing-section-title {
	font-size: var(--wcz-section-title-size);
}

.wcz-service-live-subtitle,
.wcz-service-live-text p {
	font-size: var(--wcz-text-lg);
}

/* Stats */
.wcz-stat-number {
	font-size: clamp(2rem, 4vw, 2.75rem);
}

.wcz-stat-label {
	font-size: var(--wcz-text-sm);
}

@media (max-width: 768px) {
	.wcz-hero-live-title,
	.wcz-hero-title {
		font-size: clamp(1.75rem, 6vw, 2.25rem);
	}

	.wcz-section-title {
		font-size: clamp(1.375rem, 5vw, 1.75rem);
	}

	.wcz-page-hero-banner-title {
		font-size: clamp(1.5rem, 5.5vw, 2rem);
	}

	body,
	p {
		font-size: var(--wcz-text-base);
	}
}

/* Split section headings — one consistent weight sitewide */
.wcz-max-title-heading,
.wcz-max-title-heading strong,
.wcz-works-title,
.wcz-works-title span,
.wcz-works-title strong,
.wcz-premium-services-title,
.wcz-premium-services-title-light,
.wcz-premium-services-title strong,
.wcz-pricing-live-heading .wcz-pricing-live-title,
.wcz-pricing-live-heading .wcz-pricing-live-title strong,
.wcz-process-timeline-heading,
.wcz-process-timeline-heading strong,
.wcz-process-icons-item h3,
.wcz-process-icons-item h3 strong,
.wcz-process-icons .wcz-max-title-heading,
.wcz-process-icons .wcz-max-title-heading strong,
.wcz-service-live-includes .wcz-section-title--live,
.wcz-service-live-pricing--ecommerce .wcz-max-title-heading,
.wcz-service-live-cta-title,
.wcz-service-live-cta-title strong,
.wcz-hero-cta-text h2,
.wcz-hero-cta-text h2 strong {
	font-weight: 700;
}
