/* ===== Traventia — Página pública do terapeuta (Sprint UI/UX) ===== */

.tv-perfil-wrap { padding-bottom: var(--tv-space-24); }

.tv-perfil-banner {
	max-height: 360px;
	overflow: hidden;
	margin-bottom: var(--tv-space-8);
}

.tv-perfil-banner img { width: 100%; height: 360px; object-fit: cover; display: block; }

.tv-perfil-cabecalho {
	display: flex;
	gap: var(--tv-space-6);
	align-items: flex-start;
	flex-wrap: wrap;
	margin-bottom: var(--tv-space-12);
}

.tv-perfil-titulo h1 {
	display: flex;
	align-items: center;
	gap: var(--tv-space-3);
	font-size: var(--tv-text-4xl);
}

.tv-perfil-cidade { color: var(--tv-text-muted); margin: var(--tv-space-2) 0; }

.tv-perfil-categorias { justify-content: flex-start; margin-bottom: var(--tv-space-4); }

.tv-perfil-acoes { display: flex; gap: var(--tv-space-3); flex-wrap: wrap; }

.tv-perfil-secao { padding: var(--tv-space-8) 0; border-top: 1px solid var(--tv-border); }

.tv-perfil-descricao { color: var(--tv-text); line-height: var(--tv-leading-relaxed); }

.tv-perfil-video { position: relative; padding-top: 56.25%; border-radius: var(--tv-radius-lg); overflow: hidden; }
.tv-perfil-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.tv-grid-massagens { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }

.tv-perfil-preco { font-size: var(--tv-text-lg); font-weight: var(--tv-font-bold); color: var(--tv-primary-dark); margin: var(--tv-space-1) 0; }

.tv-perfil-galeria {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: var(--tv-space-3);
}

/* CTA de WhatsApp fica fixo no rodapé em mobile — sempre acessível ao rolar */
@media (max-width: 767px) {
	.tv-perfil-cabecalho { flex-direction: column; align-items: center; text-align: center; }
	.tv-perfil-titulo h1 { justify-content: center; }
	.tv-perfil-categorias { justify-content: center; }

	.tv-perfil-acoes {
		position: sticky;
		bottom: 0;
		background: var(--tv-surface);
		border-top: 1px solid var(--tv-border);
		padding: var(--tv-space-3) var(--tv-space-4);
		margin: 0 calc(var(--tv-space-4) * -1);
		box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.4);
		z-index: var(--tv-z-sticky);
		justify-content: center;
	}
}