/* Conecta On — Typography System */
h1, .conecta-h1 {
	font-family: var(--conecta-font-primary);
	font-size: 42px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--conecta-text);
	margin-bottom: var(--conecta-space-sm);
}

h2, .conecta-h2 {
	font-family: var(--conecta-font-primary);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--conecta-text);
	margin-bottom: var(--conecta-space-sm);
}

h3, .conecta-h3 {
	font-family: var(--conecta-font-primary);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--conecta-text);
	margin-bottom: var(--conecta-space-xs);
}

h4, .conecta-h4 {
	font-family: var(--conecta-font-primary);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--conecta-text);
}

p, .conecta-body {
	font-family: var(--conecta-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: inherit;
}

/* Fallback de contraste para seções ou cards com fundo branco/claro */
.conecta-section[style*="#FFFFFF"] p,
.conecta-section[style*="background: #FFFFFF"] p,
.conecta-section[style*="background:#FFFFFF"] p,
.conecta-section[style*="background-color: #FFFFFF"] p,
.conecta-card p,
.conecta-plan-card p {
	color: #334155;
}

.conecta-text-muted {
	color: var(--conecta-text-secondary);
}

.conecta-price-tag {
	font-family: var(--conecta-font-accent);
	font-size: 48px;
	font-weight: 800;
	line-height: 1.0;
	color: var(--conecta-primary);
}

@media (max-width: 767px) {
	h1, .conecta-h1 { font-size: 28px; }
	h2, .conecta-h2 { font-size: 24px; }
	h3, .conecta-h3 { font-size: 18px; }
	h4, .conecta-h4 { font-size: 16px; }
	p, .conecta-body { font-size: 14px; }
	.conecta-price-tag { font-size: 36px; }
}
